From d12d9438c358e73ac879bb81d10f56ba3a141666 Mon Sep 17 00:00:00 2001 From: Uri Goldshtein Date: Mon, 11 Apr 2016 15:32:12 +0300 Subject: [PATCH] chore(release): Release 1.3.10 --- CHANGELOG.md | 11 + bower.json | 2 +- dist/angular-meteor.bundle.js | 10163 +++++++++++++--------- dist/angular-meteor.bundle.min.js | 15 +- dist/angular-meteor.js | 35 +- dist/angular-meteor.min.js | 6 +- dist/angular-meteor.min.js.map | 2 +- package.json | 2 +- packages/angular-meteor-data/.versions | 95 +- packages/angular-meteor-data/package.js | 4 +- packages/angular-with-blaze/.versions | 109 +- packages/angular-with-blaze/package.js | 4 +- packages/angular/.versions | 105 +- packages/angular/package.js | 4 +- packages/urigo-angular/.versions | 107 +- packages/urigo-angular/package.js | 4 +- 16 files changed, 6110 insertions(+), 4558 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c1a096a9..dae5b1f89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ + +## [1.3.10](https://github.com/Urigo/angular-meteor/compare/1.3.9...v1.3.10) (2016-04-11) + + +### Bug Fixes + +* **#1309:** Scope.bindToContext() will be applied on scope if no context is specified, and a ([210f16a](https://github.com/Urigo/angular-meteor/commit/210f16a)) +* **autorun:** destroy event listener once autorun has been stopped ([2ae0c22](https://github.com/Urigo/angular-meteor/commit/2ae0c22)) + + + ## [1.3.8](https://github.com/Urigo/angular-meteor/compare/1.3.7...v1.3.8) (2016-03-28) diff --git a/bower.json b/bower.json index 176fecf8a..c6cb0c640 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "angular-meteor", "main": "./dist/angular-meteor.bundle.min.js", - "version": "1.3.9", + "version": "1.3.10", "homepage": "https://github.com/Urigo/angular-meteor", "authors": [ "Uri Goldshtein " diff --git a/dist/angular-meteor.bundle.js b/dist/angular-meteor.bundle.js index 9d9791f09..8864c01dc 100644 --- a/dist/angular-meteor.bundle.js +++ b/dist/angular-meteor.bundle.js @@ -1,17 +1,9 @@ -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var _ = Package.underscore._; var Base64 = Package.base64.Base64; @@ -686,26 +678,21 @@ EJSON._canonicalStringify = function (value, options) { /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package.ejson = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package.ejson = {}, { EJSON: EJSON, EJSONTest: EJSONTest -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var EJSON = Package.ejson.EJSON; var IdMap = Package['id-map'].IdMap; var Random = Package.random.Random; @@ -824,25 +811,20 @@ MongoID.idParse = function (id) { /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['mongo-id'] = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['mongo-id'] = {}, { MongoID: MongoID -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var _ = Package.underscore._; var EJSON = Package.ejson.EJSON; @@ -1116,25 +1098,20 @@ DiffSequence.applyChanges = function (doc, changeFields) { /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['diff-sequence'] = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['diff-sequence'] = {}, { DiffSequence: DiffSequence -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var Tracker = Package.tracker.Tracker; var Deps = Package.tracker.Deps; var MongoID = Package['mongo-id'].MongoID; @@ -1447,7 +1424,7 @@ seqChangedToArray = function (lastSeqArray, array, callbacks) { item === undefined) { // 292 id = item; // 293 } else if (typeof item === 'object') { // 294 - id = (item && _.has(item, '_id')) ? item._id : index; // 295 + id = (item && ('_id' in item)) ? item._id : index; // 295 } else { // 296 throw new Error("{{#each}} doesn't support arrays with " + // 297 "elements of type " + typeof item); // 298 @@ -1508,57 +1485,43 @@ seqChangedToCursor = function (lastSeqArray, cursor, callbacks) { /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['observe-sequence'] = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['observe-sequence'] = {}, { ObserveSequence: ObserveSequence -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; - -/* Package-scope variables */ -var ECMAScript; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package.ecmascript = { - ECMAScript: ECMAScript -}; +Package.ecmascript = {}; })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; +var meteorInstall = Package.modules.meteorInstall; +var Buffer = Package.modules.Buffer; +var process = Package.modules.process; +var Promise = Package.promise.Promise; /* Package-scope variables */ -var babelHelpers; +var meteorBabelHelpers; -(function(){ +var require = meteorInstall({"node_modules":{"meteor":{"babel-runtime":{"babel-runtime.js":["regenerator/runtime-module",function(require,exports,module){ ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // // @@ -1567,32 +1530,32 @@ var babelHelpers; ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // var hasOwn = Object.prototype.hasOwnProperty; // 1 - // 2 -function canDefineNonEnumerableProperties() { // 3 - var testObj = {}; // 4 - var testPropName = "t"; // 5 - // 6 - try { // 7 - Object.defineProperty(testObj, testPropName, { // 8 - enumerable: false, // 9 - value: testObj // 10 - }); // 11 - // 12 - for (var k in testObj) { // 13 - if (k === testPropName) { // 14 - return false; // 15 - } // 16 - } // 17 - } catch (e) { // 18 - return false; // 19 - } // 20 - // 21 - return testObj[testPropName] === testObj; // 22 -} // 23 - // 24 -// The name `babelHelpers` is hard-coded in Babel. Otherwise we would make it // 25 -// something capitalized and more descriptive, like `BabelRuntime`. // 26 -babelHelpers = { // 27 +var S = typeof Symbol === "function" ? Symbol : {}; // 2 +var iteratorSymbol = S.iterator || "@@iterator"; // 3 + // 4 +function canDefineNonEnumerableProperties() { // 5 + var testObj = {}; // 6 + var testPropName = "t"; // 7 + // 8 + try { // 9 + Object.defineProperty(testObj, testPropName, { // 10 + enumerable: false, // 11 + value: testObj // 12 + }); // 13 + // 14 + for (var k in testObj) { // 15 + if (k === testPropName) { // 16 + return false; // 17 + } // 18 + } // 19 + } catch (e) { // 20 + return false; // 21 + } // 22 + // 23 + return testObj[testPropName] === testObj; // 24 +} // 25 + // 26 +meteorBabelHelpers = { // 27 // Meteor-specific runtime helper for wrapping the object of for-in // 28 // loops, so that inherited Array methods defined by es5-shim can be // 29 // ignored in browsers where they cannot be defined as non-enumerable. // 30 @@ -1611,3429 +1574,4940 @@ babelHelpers = { } // 43 // 44 return obj; // 45 - }, // 46 - // 47 - // es6.templateLiterals // 48 - // Constructs the object passed to the tag function in a tagged // 49 - // template literal. // 50 - taggedTemplateLiteralLoose: function (strings, raw) { // 51 - // Babel's own version of this calls Object.freeze on `strings` and // 52 - // `strings.raw`, but it doesn't seem worth the compatibility and // 53 - // performance concerns. If you're writing code against this helper, // 54 - // don't add properties to these objects. // 55 - strings.raw = raw; // 56 - return strings; // 57 - }, // 58 - // 59 - // es6.classes // 60 - // Checks that a class constructor is being called with `new`, and throws // 61 - // an error if it is not. // 62 - classCallCheck: function (instance, Constructor) { // 63 - if (!(instance instanceof Constructor)) { // 64 - throw new TypeError("Cannot call a class as a function"); // 65 - } // 66 - }, // 67 - // 68 - // es6.classes // 69 - inherits: function (subClass, superClass) { // 70 - if (typeof superClass !== "function" && superClass !== null) { // 71 + } // 46 +}; // 47 + // 48 +var BabelRuntime = { // 49 + // es6.templateLiterals // 50 + // Constructs the object passed to the tag function in a tagged // 51 + // template literal. // 52 + taggedTemplateLiteralLoose: function (strings, raw) { // 53 + // Babel's own version of this calls Object.freeze on `strings` and // 54 + // `strings.raw`, but it doesn't seem worth the compatibility and // 55 + // performance concerns. If you're writing code against this helper, // 56 + // don't add properties to these objects. // 57 + strings.raw = raw; // 58 + return strings; // 59 + }, // 60 + // 61 + // es6.classes // 62 + // Checks that a class constructor is being called with `new`, and throws // 63 + // an error if it is not. // 64 + classCallCheck: function (instance, Constructor) { // 65 + if (!(instance instanceof Constructor)) { // 66 + throw new TypeError("Cannot call a class as a function"); // 67 + } // 68 + }, // 69 + // 70 + // es6.classes // 71 + inherits: function (subClass, superClass) { // 72 + if (typeof superClass !== "function" && superClass !== null) { // 73 throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); - } // 73 - // 74 - if (superClass) { // 75 - if (Object.create) { // 76 - // All but IE 8 // 77 - subClass.prototype = Object.create(superClass.prototype, { // 78 - constructor: { // 79 - value: subClass, // 80 - enumerable: false, // 81 - writable: true, // 82 - configurable: true // 83 - } // 84 - }); // 85 - } else { // 86 - // IE 8 path. Slightly worse for modern browsers, because `constructor` // 87 - // is enumerable and shows up in the inspector unnecessarily. // 88 - // It's not an "own" property of any instance though. // 89 - // // 90 - // For correctness when writing code, // 91 - // don't enumerate all the own-and-inherited properties of an instance // 92 - // of a class and expect not to find `constructor` (but who does that?). // 93 - var F = function () { // 94 - this.constructor = subClass; // 95 - }; // 96 - F.prototype = superClass.prototype; // 97 - subClass.prototype = new F(); // 98 - } // 99 - // 100 - // For modern browsers, this would be `subClass.__proto__ = superClass`, // 101 - // but IE <=10 don't support `__proto__`, and in this case the difference // 102 - // would be detectable; code that works in modern browsers could easily // 103 - // fail on IE 8 if we ever used the `__proto__` trick. // 104 - // // 105 - // There's no perfect way to make static methods inherited if they are // 106 - // assigned after declaration of the classes. The best we can do is // 107 - // to copy them. In other words, when you write `class Foo // 108 - // extends Bar`, we copy the static methods from Bar onto Foo, but future // 109 - // ones are not copied. // 110 - // // 111 - // For correctness when writing code, don't add static methods to a class // 112 - // after you subclass it. // 113 - for (var k in superClass) { // 114 - if (hasOwn.call(superClass, k)) { // 115 - subClass[k] = superClass[k]; // 116 - } // 117 - } // 118 - } // 119 - }, // 120 - // 121 - createClass: (function () { // 122 - var hasDefineProperty = false; // 123 - try { // 124 - // IE 8 has a broken Object.defineProperty, so feature-test by // 125 - // trying to call it. // 126 - Object.defineProperty({}, 'x', {}); // 127 - hasDefineProperty = true; // 128 - } catch (e) {} // 129 - // 130 - function defineProperties(target, props) { // 131 - for (var i = 0; i < props.length; i++) { // 132 - var descriptor = props[i]; // 133 - descriptor.enumerable = descriptor.enumerable || false; // 134 - descriptor.configurable = true; // 135 - if ("value" in descriptor) descriptor.writable = true; // 136 - Object.defineProperty(target, descriptor.key, descriptor); // 137 - } // 138 - } // 139 + } // 75 + // 76 + if (superClass) { // 77 + if (Object.create) { // 78 + // All but IE 8 // 79 + subClass.prototype = Object.create(superClass.prototype, { // 80 + constructor: { // 81 + value: subClass, // 82 + enumerable: false, // 83 + writable: true, // 84 + configurable: true // 85 + } // 86 + }); // 87 + } else { // 88 + // IE 8 path. Slightly worse for modern browsers, because `constructor` // 89 + // is enumerable and shows up in the inspector unnecessarily. // 90 + // It's not an "own" property of any instance though. // 91 + // // 92 + // For correctness when writing code, // 93 + // don't enumerate all the own-and-inherited properties of an instance // 94 + // of a class and expect not to find `constructor` (but who does that?). // 95 + var F = function () { // 96 + this.constructor = subClass; // 97 + }; // 98 + F.prototype = superClass.prototype; // 99 + subClass.prototype = new F(); // 100 + } // 101 + // 102 + // For modern browsers, this would be `subClass.__proto__ = superClass`, // 103 + // but IE <=10 don't support `__proto__`, and in this case the difference // 104 + // would be detectable; code that works in modern browsers could easily // 105 + // fail on IE 8 if we ever used the `__proto__` trick. // 106 + // // 107 + // There's no perfect way to make static methods inherited if they are // 108 + // assigned after declaration of the classes. The best we can do is // 109 + // to copy them. In other words, when you write `class Foo // 110 + // extends Bar`, we copy the static methods from Bar onto Foo, but future // 111 + // ones are not copied. // 112 + // // 113 + // For correctness when writing code, don't add static methods to a class // 114 + // after you subclass it. // 115 + // 116 + // The ecmascript-runtime package provides adequate polyfills for // 117 + // all of these Object.* functions (and Array#forEach), and anyone // 118 + // using babel-runtime is almost certainly using it because of the // 119 + // ecmascript package, which also implies ecmascript-runtime. // 120 + Object.getOwnPropertyNames(superClass).forEach(function (k) { // 121 + // This property descriptor dance preserves getter/setter behavior // 122 + // in browsers that support accessor properties (all except // 123 + // IE8). In IE8, the superClass can't have accessor properties // 124 + // anyway, so this code is still safe. // 125 + var descriptor = Object.getOwnPropertyDescriptor(superClass, k); // 126 + if (descriptor && typeof descriptor === "object") { // 127 + if (Object.getOwnPropertyDescriptor(subClass, k)) { // 128 + // If subClass already has a property by this name, then it // 129 + // would not be inherited, so it should not be copied. This // 130 + // notably excludes properties like .prototype and .name. // 131 + return; // 132 + } // 133 + // 134 + Object.defineProperty(subClass, k, descriptor); // 135 + } // 136 + }); // 137 + } // 138 + }, // 139 // 140 - return function (Constructor, protoProps, staticProps) { // 141 - if (! hasDefineProperty) { // 142 - // e.g. `class Foo { get bar() {} }`. If you try to use getters and // 143 - // setters in IE 8, you will get a big nasty error, with or without // 144 - // Babel. I don't know of any other syntax features besides getters // 145 - // and setters that will trigger this error. // 146 - throw new Error( // 147 - "Your browser does not support this type of class property. " + // 148 - "For example, Internet Explorer 8 does not support getters and " + // 149 - "setters."); // 150 - } // 151 - // 152 - if (protoProps) defineProperties(Constructor.prototype, protoProps); // 153 - if (staticProps) defineProperties(Constructor, staticProps); // 154 - return Constructor; // 155 - }; // 156 - })(), // 157 - // 158 - // es7.objectRestSpread and react (JSX) // 159 - _extends: Object.assign || (function (target) { // 160 - for (var i = 1; i < arguments.length; i++) { // 161 - var source = arguments[i]; // 162 - for (var key in source) { // 163 - if (hasOwn.call(source, key)) { // 164 - target[key] = source[key]; // 165 - } // 166 - } // 167 - } // 168 - return target; // 169 - }), // 170 + createClass: (function () { // 141 + var hasDefineProperty = false; // 142 + try { // 143 + // IE 8 has a broken Object.defineProperty, so feature-test by // 144 + // trying to call it. // 145 + Object.defineProperty({}, 'x', {}); // 146 + hasDefineProperty = true; // 147 + } catch (e) {} // 148 + // 149 + function defineProperties(target, props) { // 150 + for (var i = 0; i < props.length; i++) { // 151 + var descriptor = props[i]; // 152 + descriptor.enumerable = descriptor.enumerable || false; // 153 + descriptor.configurable = true; // 154 + if ("value" in descriptor) descriptor.writable = true; // 155 + Object.defineProperty(target, descriptor.key, descriptor); // 156 + } // 157 + } // 158 + // 159 + return function (Constructor, protoProps, staticProps) { // 160 + if (! hasDefineProperty) { // 161 + // e.g. `class Foo { get bar() {} }`. If you try to use getters and // 162 + // setters in IE 8, you will get a big nasty error, with or without // 163 + // Babel. I don't know of any other syntax features besides getters // 164 + // and setters that will trigger this error. // 165 + throw new Error( // 166 + "Your browser does not support this type of class property. " + // 167 + "For example, Internet Explorer 8 does not support getters and " + // 168 + "setters."); // 169 + } // 170 // 171 - // es6.destructuring // 172 - objectWithoutProperties: function (obj, keys) { // 173 - var target = {}; // 174 - outer: for (var i in obj) { // 175 - if (! hasOwn.call(obj, i)) continue; // 176 - for (var j = 0; j < keys.length; j++) { // 177 - if (keys[j] === i) continue outer; // 178 - } // 179 - target[i] = obj[i]; // 180 - } // 181 - return target; // 182 - }, // 183 - // 184 - // es6.destructuring // 185 - objectDestructuringEmpty: function (obj) { // 186 - if (obj == null) throw new TypeError("Cannot destructure undefined"); // 187 - }, // 188 - // 189 - // es6.spread // 190 - bind: Function.prototype.bind || (function () { // 191 - var isCallable = function (value) { return typeof value === 'function'; }; // 192 - var $Object = Object; // 193 - var to_string = Object.prototype.toString; // 194 - var array_slice = Array.prototype.slice; // 195 - var array_concat = Array.prototype.concat; // 196 - var array_push = Array.prototype.push; // 197 - var max = Math.max; // 198 - var Empty = function Empty() {}; // 199 - // 200 - // Copied from es5-shim.js (3ac7942). See original for more comments. // 201 - return function bind(that) { // 202 - var target = this; // 203 - if (!isCallable(target)) { // 204 - throw new TypeError('Function.prototype.bind called on incompatible ' + target); // 205 - } // 206 + if (protoProps) defineProperties(Constructor.prototype, protoProps); // 172 + if (staticProps) defineProperties(Constructor, staticProps); // 173 + return Constructor; // 174 + }; // 175 + })(), // 176 + // 177 + "typeof": function (obj) { // 178 + return obj && obj.constructor === Symbol ? "symbol" : typeof obj; // 179 + }, // 180 + // 181 + possibleConstructorReturn: function (self, call) { // 182 + if (! self) { // 183 + throw new ReferenceError( // 184 + "this hasn't been initialised - super() hasn't been called" // 185 + ); // 186 + } // 187 + // 188 + var callType = typeof call; // 189 + if (call && // 190 + callType === "function" || // 191 + callType === "object") { // 192 + return call; // 193 + } // 194 + // 195 + return self; // 196 + }, // 197 + // 198 + interopRequireDefault: function (obj) { // 199 + return obj && obj.__esModule ? obj : { 'default': obj }; // 200 + }, // 201 + // 202 + interopRequireWildcard: function (obj) { // 203 + if (obj && obj.__esModule) { // 204 + return obj; // 205 + } // 206 // 207 - var args = array_slice.call(arguments, 1); // 208 + var newObj = {}; // 208 // 209 - var bound; // 210 - var binder = function () { // 211 + if (obj != null) { // 210 + for (var key in obj) { // 211 + if (hasOwn.call(obj, key)) { // 212 + newObj[key] = obj[key]; // 213 + } // 214 + } // 215 + } // 216 + // 217 + newObj["default"] = obj; // 218 + return newObj; // 219 + }, // 220 + // 221 + interopExportWildcard: function (obj, defaults) { // 222 + var newObj = defaults({}, obj); // 223 + delete newObj["default"]; // 224 + return newObj; // 225 + }, // 226 + // 227 + defaults: function (obj, defaults) { // 228 + Object.getOwnPropertyNames(defaults).forEach(function (key) { // 229 + var desc = Object.getOwnPropertyDescriptor(defaults, key); // 230 + if (desc && desc.configurable && typeof obj[key] === "undefined") { // 231 + Object.defineProperty(obj, key, desc); // 232 + } // 233 + }); // 234 + // 235 + return obj; // 236 + }, // 237 + // 238 + // es7.objectRestSpread and react (JSX) // 239 + "extends": Object.assign || (function (target) { // 240 + for (var i = 1; i < arguments.length; i++) { // 241 + var source = arguments[i]; // 242 + for (var key in source) { // 243 + if (hasOwn.call(source, key)) { // 244 + target[key] = source[key]; // 245 + } // 246 + } // 247 + } // 248 + return target; // 249 + }), // 250 + // 251 + // es6.destructuring // 252 + objectWithoutProperties: function (obj, keys) { // 253 + var target = {}; // 254 + outer: for (var i in obj) { // 255 + if (! hasOwn.call(obj, i)) continue; // 256 + for (var j = 0; j < keys.length; j++) { // 257 + if (keys[j] === i) continue outer; // 258 + } // 259 + target[i] = obj[i]; // 260 + } // 261 + return target; // 262 + }, // 263 + // 264 + // es6.destructuring // 265 + objectDestructuringEmpty: function (obj) { // 266 + if (obj == null) throw new TypeError("Cannot destructure undefined"); // 267 + }, // 268 + // 269 + // es6.spread // 270 + bind: Function.prototype.bind || (function () { // 271 + var isCallable = function (value) { return typeof value === 'function'; }; // 272 + var $Object = Object; // 273 + var to_string = Object.prototype.toString; // 274 + var array_slice = Array.prototype.slice; // 275 + var array_concat = Array.prototype.concat; // 276 + var array_push = Array.prototype.push; // 277 + var max = Math.max; // 278 + var Empty = function Empty() {}; // 279 + // 280 + // Copied from es5-shim.js (3ac7942). See original for more comments. // 281 + return function bind(that) { // 282 + var target = this; // 283 + if (!isCallable(target)) { // 284 + throw new TypeError('Function.prototype.bind called on incompatible ' + target); // 285 + } // 286 + // 287 + var args = array_slice.call(arguments, 1); // 288 + // 289 + var bound; // 290 + var binder = function () { // 291 + // 292 + if (this instanceof bound) { // 293 + var result = target.apply( // 294 + this, // 295 + array_concat.call(args, array_slice.call(arguments)) // 296 + ); // 297 + if ($Object(result) === result) { // 298 + return result; // 299 + } // 300 + return this; // 301 + } else { // 302 + return target.apply( // 303 + that, // 304 + array_concat.call(args, array_slice.call(arguments)) // 305 + ); // 306 + } // 307 + }; // 308 + // 309 + var boundLength = max(0, target.length - args.length); // 310 + // 311 + var boundArgs = []; // 312 + for (var i = 0; i < boundLength; i++) { // 313 + array_push.call(boundArgs, '$' + i); // 314 + } // 315 + // 316 + // Create a Function from source code so that it has the right `.length`. // 317 + // Probably not important for Babel. This code violates CSPs that ban // 318 + // `eval`, but the browsers that need this polyfill don't have CSP! // 319 + bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder); + // 321 + if (target.prototype) { // 322 + Empty.prototype = target.prototype; // 323 + bound.prototype = new Empty(); // 324 + Empty.prototype = null; // 325 + } // 326 + // 327 + return bound; // 328 + }; // 329 + // 330 + })(), // 331 + // 332 + toConsumableArray: function (arr) { // 333 + if (Array.isArray(arr)) { // 334 + for (var i = arr.length - 1, arr2 = Array(i + 1); i >= 0; --i) { // 335 + arr2[i] = arr[i]; // 336 + } // 337 + // 338 + return arr2; // 339 + } // 340 + // 341 + return Array.from(arr); // 342 + }, // 343 + // 344 + toArray: function (arr) { // 345 + return Array.isArray(arr) ? arr : Array.from(arr); // 346 + }, // 347 + // 348 + slicedToArray: function (iterable, limit) { // 349 + if (Array.isArray(iterable)) { // 350 + return iterable; // 351 + } // 352 + // 353 + if (iterable) { // 354 + var it = iterable[iteratorSymbol](); // 355 + var result = []; // 356 + var info; // 357 + // 358 + if (typeof limit !== "number") { // 359 + limit = Infinity; // 360 + } // 361 + // 362 + while (result.length < limit && // 363 + ! (info = it.next()).done) { // 364 + result.push(info.value); // 365 + } // 366 + // 367 + return result; // 368 + } // 369 + // 370 + throw new TypeError( // 371 + "Invalid attempt to destructure non-iterable instance" // 372 + ); // 373 + }, // 374 + // 375 + slice: Array.prototype.slice // 376 +}; // 377 + // 378 +// Use meteorInstall to install all of the above helper functions within // 379 +// node_modules/babel-runtime/helpers. // 380 +Object.keys(BabelRuntime).forEach(function (helperName) { // 381 + var helpers = {}; // 382 + // 383 + helpers[helperName + ".js"] = function (require, exports, module) { // 384 + module.exports = BabelRuntime[helperName]; // 385 + }; // 386 + // 387 + meteorInstall({ // 388 + node_modules: { // 389 + "babel-runtime": { // 390 + helpers: helpers // 391 + } // 392 + } // 393 + }); // 394 +}); // 395 + // 396 +// Use meteorInstall to install the regenerator runtime at // 397 +// node_modules/babel-runtime/regenerator. // 398 +meteorInstall({ // 399 + node_modules: { // 400 + "babel-runtime": { // 401 + "regenerator.js": function (r, e, module) { // 402 + // Note that we use the require function provided to the // 403 + // babel-runtime.js file, not the one named 'r' above. // 404 + var runtime = require("regenerator/runtime-module"); // 405 + // 406 + // If Promise.asyncApply is defined, use it to wrap calls to // 407 + // runtime.async so that the entire async function will run in its // 408 + // own Fiber, not just the code that comes after the first await. // 409 + if (typeof Promise === "function" && // 410 + typeof Promise.asyncApply === "function") { // 411 + var realAsync = runtime.async; // 412 + runtime.async = function () { // 413 + return Promise.asyncApply(realAsync, runtime, arguments); // 414 + }; // 415 + } // 416 + // 417 + module.exports = runtime; // 418 + } // 419 + } // 420 + } // 421 +}); // 422 + // 423 +///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"node_modules":{"regenerator":{"runtime-module.js":["./runtime",function(require,exports,module){ + +///////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/babel-runtime/node_modules/regenerator/runtime-module.js // +// // +///////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// This method of obtaining a reference to the global object needs to be // 1 +// kept identical to the way it is obtained in runtime.js // 2 +var g = // 3 + typeof global === "object" ? global : // 4 + typeof window === "object" ? window : // 5 + typeof self === "object" ? self : this; // 6 + // 7 +// Use `getOwnPropertyNames` because not all browsers support calling // 8 +// `hasOwnProperty` on the global `self` object in a worker. See #183. // 9 +var hadRuntime = g.regeneratorRuntime && // 10 + Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0; // 11 + // 12 +// Save the old regeneratorRuntime in case it needs to be restored later. // 13 +var oldRuntime = hadRuntime && g.regeneratorRuntime; // 14 + // 15 +// Force reevalutation of runtime.js. // 16 +g.regeneratorRuntime = undefined; // 17 + // 18 +module.exports = require("./runtime"); // 19 + // 20 +if (hadRuntime) { // 21 + // Restore the original runtime. // 22 + g.regeneratorRuntime = oldRuntime; // 23 +} else { // 24 + // Remove the global property added by runtime.js. // 25 + try { // 26 + delete g.regeneratorRuntime; // 27 + } catch(e) { // 28 + g.regeneratorRuntime = undefined; // 29 + } // 30 +} // 31 + // 32 +///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"runtime.js":function(require,exports,module){ + +///////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/babel-runtime/node_modules/regenerator/runtime.js // +// // +///////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +/** // 1 + * Copyright (c) 2014, Facebook, Inc. // 2 + * All rights reserved. // 3 + * // 4 + * This source code is licensed under the BSD-style license found in the // 5 + * https://raw.github.com/facebook/regenerator/master/LICENSE file. An // 6 + * additional grant of patent rights can be found in the PATENTS file in // 7 + * the same directory. // 8 + */ // 9 + // 10 +!(function(global) { // 11 + "use strict"; // 12 + // 13 + var hasOwn = Object.prototype.hasOwnProperty; // 14 + var undefined; // More compressible than void 0. // 15 + var $Symbol = typeof Symbol === "function" ? Symbol : {}; // 16 + var iteratorSymbol = $Symbol.iterator || "@@iterator"; // 17 + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; // 18 + // 19 + var inModule = typeof module === "object"; // 20 + var runtime = global.regeneratorRuntime; // 21 + if (runtime) { // 22 + if (inModule) { // 23 + // If regeneratorRuntime is defined globally and we're in a module, // 24 + // make the exports object identical to regeneratorRuntime. // 25 + module.exports = runtime; // 26 + } // 27 + // Don't bother evaluating the rest of this file if the runtime was // 28 + // already defined globally. // 29 + return; // 30 + } // 31 + // 32 + // Define the runtime globally (as expected by generated code) as either // 33 + // module.exports (if we're in a module) or a new, empty object. // 34 + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; // 35 + // 36 + function wrap(innerFn, outerFn, self, tryLocsList) { // 37 + // If outerFn provided, then outerFn.prototype instanceof Generator. // 38 + var generator = Object.create((outerFn || Generator).prototype); // 39 + var context = new Context(tryLocsList || []); // 40 + // 41 + // The ._invoke method unifies the implementations of the .next, // 42 + // .throw, and .return methods. // 43 + generator._invoke = makeInvokeMethod(innerFn, self, context); // 44 + // 45 + return generator; // 46 + } // 47 + runtime.wrap = wrap; // 48 + // 49 + // Try/catch helper to minimize deoptimizations. Returns a completion // 50 + // record like context.tryEntries[i].completion. This interface could // 51 + // have been (and was previously) designed to take a closure to be // 52 + // invoked without arguments, but in all the cases we care about we // 53 + // already have an existing method we want to call, so there's no need // 54 + // to create a new function object. We can even get away with assuming // 55 + // the method takes exactly one argument, since that happens to be true // 56 + // in every case, so we don't have to touch the arguments object. The // 57 + // only additional allocation required is the completion record, which // 58 + // has a stable shape and so hopefully should be cheap to allocate. // 59 + function tryCatch(fn, obj, arg) { // 60 + try { // 61 + return { type: "normal", arg: fn.call(obj, arg) }; // 62 + } catch (err) { // 63 + return { type: "throw", arg: err }; // 64 + } // 65 + } // 66 + // 67 + var GenStateSuspendedStart = "suspendedStart"; // 68 + var GenStateSuspendedYield = "suspendedYield"; // 69 + var GenStateExecuting = "executing"; // 70 + var GenStateCompleted = "completed"; // 71 + // 72 + // Returning this object from the innerFn has the same effect as // 73 + // breaking out of the dispatch switch statement. // 74 + var ContinueSentinel = {}; // 75 + // 76 + // Dummy constructor functions that we use as the .constructor and // 77 + // .constructor.prototype properties for functions that return Generator // 78 + // objects. For full spec compliance, you may wish to configure your // 79 + // minifier not to mangle the names of these two functions. // 80 + function Generator() {} // 81 + function GeneratorFunction() {} // 82 + function GeneratorFunctionPrototype() {} // 83 + // 84 + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype; // 85 + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; // 86 + GeneratorFunctionPrototype.constructor = GeneratorFunction; // 87 + GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; // 88 + // 89 + // Helper for defining the .next, .throw, and .return methods of the // 90 + // Iterator interface in terms of a single ._invoke method. // 91 + function defineIteratorMethods(prototype) { // 92 + ["next", "throw", "return"].forEach(function(method) { // 93 + prototype[method] = function(arg) { // 94 + return this._invoke(method, arg); // 95 + }; // 96 + }); // 97 + } // 98 + // 99 + runtime.isGeneratorFunction = function(genFun) { // 100 + var ctor = typeof genFun === "function" && genFun.constructor; // 101 + return ctor // 102 + ? ctor === GeneratorFunction || // 103 + // For the native GeneratorFunction constructor, the best we can // 104 + // do is to check its .name property. // 105 + (ctor.displayName || ctor.name) === "GeneratorFunction" // 106 + : false; // 107 + }; // 108 + // 109 + runtime.mark = function(genFun) { // 110 + if (Object.setPrototypeOf) { // 111 + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); // 112 + } else { // 113 + genFun.__proto__ = GeneratorFunctionPrototype; // 114 + if (!(toStringTagSymbol in genFun)) { // 115 + genFun[toStringTagSymbol] = "GeneratorFunction"; // 116 + } // 117 + } // 118 + genFun.prototype = Object.create(Gp); // 119 + return genFun; // 120 + }; // 121 + // 122 + // Within the body of any async function, `await x` is transformed to // 123 + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test // 124 + // `value instanceof AwaitArgument` to determine if the yielded value is // 125 + // meant to be awaited. Some may consider the name of this method too // 126 + // cutesy, but they are curmudgeons. // 127 + runtime.awrap = function(arg) { // 128 + return new AwaitArgument(arg); // 129 + }; // 130 + // 131 + function AwaitArgument(arg) { // 132 + this.arg = arg; // 133 + } // 134 + // 135 + function AsyncIterator(generator) { // 136 + function invoke(method, arg, resolve, reject) { // 137 + var record = tryCatch(generator[method], generator, arg); // 138 + if (record.type === "throw") { // 139 + reject(record.arg); // 140 + } else { // 141 + var result = record.arg; // 142 + var value = result.value; // 143 + if (value instanceof AwaitArgument) { // 144 + return Promise.resolve(value.arg).then(function(value) { // 145 + invoke("next", value, resolve, reject); // 146 + }, function(err) { // 147 + invoke("throw", err, resolve, reject); // 148 + }); // 149 + } // 150 + // 151 + return Promise.resolve(value).then(function(unwrapped) { // 152 + // When a yielded Promise is resolved, its final value becomes // 153 + // the .value of the Promise<{value,done}> result for the // 154 + // current iteration. If the Promise is rejected, however, the // 155 + // result for this iteration will be rejected with the same // 156 + // reason. Note that rejections of yielded Promises are not // 157 + // thrown back into the generator function, as is the case // 158 + // when an awaited Promise is rejected. This difference in // 159 + // behavior between yield and await is important, because it // 160 + // allows the consumer to decide what to do with the yielded // 161 + // rejection (swallow it and continue, manually .throw it back // 162 + // into the generator, abandon iteration, whatever). With // 163 + // await, by contrast, there is no opportunity to examine the // 164 + // rejection reason outside the generator function, so the // 165 + // only option is to throw it from the await expression, and // 166 + // let the generator function handle the exception. // 167 + result.value = unwrapped; // 168 + resolve(result); // 169 + }, reject); // 170 + } // 171 + } // 172 + // 173 + if (typeof process === "object" && process.domain) { // 174 + invoke = process.domain.bind(invoke); // 175 + } // 176 + // 177 + var previousPromise; // 178 + // 179 + function enqueue(method, arg) { // 180 + function callInvokeWithMethodAndArg() { // 181 + return new Promise(function(resolve, reject) { // 182 + invoke(method, arg, resolve, reject); // 183 + }); // 184 + } // 185 + // 186 + return previousPromise = // 187 + // If enqueue has been called before, then we want to wait until // 188 + // all previous Promises have been resolved before calling invoke, // 189 + // so that results are always delivered in the correct order. If // 190 + // enqueue has not been called before, then it is important to // 191 + // call invoke immediately, without waiting on a callback to fire, // 192 + // so that the async generator function has the opportunity to do // 193 + // any necessary setup in a predictable way. This predictability // 194 + // is why the Promise constructor synchronously invokes its // 195 + // executor callback, and why async functions synchronously // 196 + // execute code before the first await. Since we implement simple // 197 + // async functions in terms of async generators, it is especially // 198 + // important to get this right, even though it requires care. // 199 + previousPromise ? previousPromise.then( // 200 + callInvokeWithMethodAndArg, // 201 + // Avoid propagating failures to Promises returned by later // 202 + // invocations of the iterator. // 203 + callInvokeWithMethodAndArg // 204 + ) : callInvokeWithMethodAndArg(); // 205 + } // 206 + // 207 + // Define the unified helper method that is used to implement .next, // 208 + // .throw, and .return (see defineIteratorMethods). // 209 + this._invoke = enqueue; // 210 + } // 211 // 212 - if (this instanceof bound) { // 213 - var result = target.apply( // 214 - this, // 215 - array_concat.call(args, array_slice.call(arguments)) // 216 - ); // 217 - if ($Object(result) === result) { // 218 - return result; // 219 - } // 220 - return this; // 221 - } else { // 222 - return target.apply( // 223 - that, // 224 - array_concat.call(args, array_slice.call(arguments)) // 225 - ); // 226 - } // 227 - }; // 228 + defineIteratorMethods(AsyncIterator.prototype); // 213 + // 214 + // Note that simple async functions are implemented on top of // 215 + // AsyncIterator objects; they just return a Promise for the value of // 216 + // the final result produced by the iterator. // 217 + runtime.async = function(innerFn, outerFn, self, tryLocsList) { // 218 + var iter = new AsyncIterator( // 219 + wrap(innerFn, outerFn, self, tryLocsList) // 220 + ); // 221 + // 222 + return runtime.isGeneratorFunction(outerFn) // 223 + ? iter // If outerFn is a generator, return the full iterator. // 224 + : iter.next().then(function(result) { // 225 + return result.done ? result.value : iter.next(); // 226 + }); // 227 + }; // 228 // 229 - var boundLength = max(0, target.length - args.length); // 230 - // 231 - var boundArgs = []; // 232 - for (var i = 0; i < boundLength; i++) { // 233 - array_push.call(boundArgs, '$' + i); // 234 - } // 235 - // 236 - // Create a Function from source code so that it has the right `.length`. // 237 - // Probably not important for Babel. This code violates CSPs that ban // 238 - // `eval`, but the browsers that need this polyfill don't have CSP! // 239 - bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder); - // 241 - if (target.prototype) { // 242 - Empty.prototype = target.prototype; // 243 - bound.prototype = new Empty(); // 244 - Empty.prototype = null; // 245 + function makeInvokeMethod(innerFn, self, context) { // 230 + var state = GenStateSuspendedStart; // 231 + // 232 + return function invoke(method, arg) { // 233 + if (state === GenStateExecuting) { // 234 + throw new Error("Generator is already running"); // 235 + } // 236 + // 237 + if (state === GenStateCompleted) { // 238 + if (method === "throw") { // 239 + throw arg; // 240 + } // 241 + // 242 + // Be forgiving, per 25.3.3.3.3 of the spec: // 243 + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume // 244 + return doneResult(); // 245 } // 246 // 247 - return bound; // 248 - }; // 249 - // 250 - })(), // 251 - // 252 - slice: Array.prototype.slice // 253 -}; // 254 - // 255 + while (true) { // 248 + var delegate = context.delegate; // 249 + if (delegate) { // 250 + if (method === "return" || // 251 + (method === "throw" && delegate.iterator[method] === undefined)) { // 252 + // A return or throw (when the delegate iterator has no throw // 253 + // method) always terminates the yield* loop. // 254 + context.delegate = null; // 255 + // 256 + // If the delegate iterator has a return method, give it a // 257 + // chance to clean up. // 258 + var returnMethod = delegate.iterator["return"]; // 259 + if (returnMethod) { // 260 + var record = tryCatch(returnMethod, delegate.iterator, arg); // 261 + if (record.type === "throw") { // 262 + // If the return method threw an exception, let that // 263 + // exception prevail over the original return or throw. // 264 + method = "throw"; // 265 + arg = record.arg; // 266 + continue; // 267 + } // 268 + } // 269 + // 270 + if (method === "return") { // 271 + // Continue with the outer return, now that the delegate // 272 + // iterator has been terminated. // 273 + continue; // 274 + } // 275 + } // 276 + // 277 + var record = tryCatch( // 278 + delegate.iterator[method], // 279 + delegate.iterator, // 280 + arg // 281 + ); // 282 + // 283 + if (record.type === "throw") { // 284 + context.delegate = null; // 285 + // 286 + // Like returning generator.throw(uncaught), but without the // 287 + // overhead of an extra function call. // 288 + method = "throw"; // 289 + arg = record.arg; // 290 + continue; // 291 + } // 292 + // 293 + // Delegate generator ran and handled its own exceptions so // 294 + // regardless of what the method was, we continue as if it is // 295 + // "next" with an undefined arg. // 296 + method = "next"; // 297 + arg = undefined; // 298 + // 299 + var info = record.arg; // 300 + if (info.done) { // 301 + context[delegate.resultName] = info.value; // 302 + context.next = delegate.nextLoc; // 303 + } else { // 304 + state = GenStateSuspendedYield; // 305 + return info; // 306 + } // 307 + // 308 + context.delegate = null; // 309 + } // 310 + // 311 + if (method === "next") { // 312 + if (state === GenStateSuspendedYield) { // 313 + context.sent = arg; // 314 + } else { // 315 + context.sent = undefined; // 316 + } // 317 + // 318 + } else if (method === "throw") { // 319 + if (state === GenStateSuspendedStart) { // 320 + state = GenStateCompleted; // 321 + throw arg; // 322 + } // 323 + // 324 + if (context.dispatchException(arg)) { // 325 + // If the dispatched exception was caught by a catch block, // 326 + // then let that catch block handle the exception normally. // 327 + method = "next"; // 328 + arg = undefined; // 329 + } // 330 + // 331 + } else if (method === "return") { // 332 + context.abrupt("return", arg); // 333 + } // 334 + // 335 + state = GenStateExecuting; // 336 + // 337 + var record = tryCatch(innerFn, self, context); // 338 + if (record.type === "normal") { // 339 + // If an exception is thrown from innerFn, we leave state === // 340 + // GenStateExecuting and loop back for another invocation. // 341 + state = context.done // 342 + ? GenStateCompleted // 343 + : GenStateSuspendedYield; // 344 + // 345 + var info = { // 346 + value: record.arg, // 347 + done: context.done // 348 + }; // 349 + // 350 + if (record.arg === ContinueSentinel) { // 351 + if (context.delegate && method === "next") { // 352 + // Deliberately forget the last sent value so that we don't // 353 + // accidentally pass it on to the delegate. // 354 + arg = undefined; // 355 + } // 356 + } else { // 357 + return info; // 358 + } // 359 + // 360 + } else if (record.type === "throw") { // 361 + state = GenStateCompleted; // 362 + // Dispatch the exception by looping back around to the // 363 + // context.dispatchException(arg) call above. // 364 + method = "throw"; // 365 + arg = record.arg; // 366 + } // 367 + } // 368 + }; // 369 + } // 370 + // 371 + // Define Generator.prototype.{next,throw,return} in terms of the // 372 + // unified ._invoke helper method. // 373 + defineIteratorMethods(Gp); // 374 + // 375 + Gp[iteratorSymbol] = function() { // 376 + return this; // 377 + }; // 378 + // 379 + Gp[toStringTagSymbol] = "Generator"; // 380 + // 381 + Gp.toString = function() { // 382 + return "[object Generator]"; // 383 + }; // 384 + // 385 + function pushTryEntry(locs) { // 386 + var entry = { tryLoc: locs[0] }; // 387 + // 388 + if (1 in locs) { // 389 + entry.catchLoc = locs[1]; // 390 + } // 391 + // 392 + if (2 in locs) { // 393 + entry.finallyLoc = locs[2]; // 394 + entry.afterLoc = locs[3]; // 395 + } // 396 + // 397 + this.tryEntries.push(entry); // 398 + } // 399 + // 400 + function resetTryEntry(entry) { // 401 + var record = entry.completion || {}; // 402 + record.type = "normal"; // 403 + delete record.arg; // 404 + entry.completion = record; // 405 + } // 406 + // 407 + function Context(tryLocsList) { // 408 + // The root entry object (effectively a try statement without a catch // 409 + // or a finally block) gives us a place to store values thrown from // 410 + // locations where there is no enclosing try statement. // 411 + this.tryEntries = [{ tryLoc: "root" }]; // 412 + tryLocsList.forEach(pushTryEntry, this); // 413 + this.reset(true); // 414 + } // 415 + // 416 + runtime.keys = function(object) { // 417 + var keys = []; // 418 + for (var key in object) { // 419 + keys.push(key); // 420 + } // 421 + keys.reverse(); // 422 + // 423 + // Rather than returning an object with a next method, we keep // 424 + // things simple and return the next function itself. // 425 + return function next() { // 426 + while (keys.length) { // 427 + var key = keys.pop(); // 428 + if (key in object) { // 429 + next.value = key; // 430 + next.done = false; // 431 + return next; // 432 + } // 433 + } // 434 + // 435 + // To avoid creating an additional object, we just hang the .value // 436 + // and .done properties off the next function object itself. This // 437 + // also ensures that the minifier will not anonymize the function. // 438 + next.done = true; // 439 + return next; // 440 + }; // 441 + }; // 442 + // 443 + function values(iterable) { // 444 + if (iterable) { // 445 + var iteratorMethod = iterable[iteratorSymbol]; // 446 + if (iteratorMethod) { // 447 + return iteratorMethod.call(iterable); // 448 + } // 449 + // 450 + if (typeof iterable.next === "function") { // 451 + return iterable; // 452 + } // 453 + // 454 + if (!isNaN(iterable.length)) { // 455 + var i = -1, next = function next() { // 456 + while (++i < iterable.length) { // 457 + if (hasOwn.call(iterable, i)) { // 458 + next.value = iterable[i]; // 459 + next.done = false; // 460 + return next; // 461 + } // 462 + } // 463 + // 464 + next.value = undefined; // 465 + next.done = true; // 466 + // 467 + return next; // 468 + }; // 469 + // 470 + return next.next = next; // 471 + } // 472 + } // 473 + // 474 + // Return an iterator with no values. // 475 + return { next: doneResult }; // 476 + } // 477 + runtime.values = values; // 478 + // 479 + function doneResult() { // 480 + return { value: undefined, done: true }; // 481 + } // 482 + // 483 + Context.prototype = { // 484 + constructor: Context, // 485 + // 486 + reset: function(skipTempReset) { // 487 + this.prev = 0; // 488 + this.next = 0; // 489 + this.sent = undefined; // 490 + this.done = false; // 491 + this.delegate = null; // 492 + // 493 + this.tryEntries.forEach(resetTryEntry); // 494 + // 495 + if (!skipTempReset) { // 496 + for (var name in this) { // 497 + // Not sure about the optimal order of these conditions: // 498 + if (name.charAt(0) === "t" && // 499 + hasOwn.call(this, name) && // 500 + !isNaN(+name.slice(1))) { // 501 + this[name] = undefined; // 502 + } // 503 + } // 504 + } // 505 + }, // 506 + // 507 + stop: function() { // 508 + this.done = true; // 509 + // 510 + var rootEntry = this.tryEntries[0]; // 511 + var rootRecord = rootEntry.completion; // 512 + if (rootRecord.type === "throw") { // 513 + throw rootRecord.arg; // 514 + } // 515 + // 516 + return this.rval; // 517 + }, // 518 + // 519 + dispatchException: function(exception) { // 520 + if (this.done) { // 521 + throw exception; // 522 + } // 523 + // 524 + var context = this; // 525 + function handle(loc, caught) { // 526 + record.type = "throw"; // 527 + record.arg = exception; // 528 + context.next = loc; // 529 + return !!caught; // 530 + } // 531 + // 532 + for (var i = this.tryEntries.length - 1; i >= 0; --i) { // 533 + var entry = this.tryEntries[i]; // 534 + var record = entry.completion; // 535 + // 536 + if (entry.tryLoc === "root") { // 537 + // Exception thrown outside of any try block that could handle // 538 + // it, so set the completion value of the entire function to // 539 + // throw the exception. // 540 + return handle("end"); // 541 + } // 542 + // 543 + if (entry.tryLoc <= this.prev) { // 544 + var hasCatch = hasOwn.call(entry, "catchLoc"); // 545 + var hasFinally = hasOwn.call(entry, "finallyLoc"); // 546 + // 547 + if (hasCatch && hasFinally) { // 548 + if (this.prev < entry.catchLoc) { // 549 + return handle(entry.catchLoc, true); // 550 + } else if (this.prev < entry.finallyLoc) { // 551 + return handle(entry.finallyLoc); // 552 + } // 553 + // 554 + } else if (hasCatch) { // 555 + if (this.prev < entry.catchLoc) { // 556 + return handle(entry.catchLoc, true); // 557 + } // 558 + // 559 + } else if (hasFinally) { // 560 + if (this.prev < entry.finallyLoc) { // 561 + return handle(entry.finallyLoc); // 562 + } // 563 + // 564 + } else { // 565 + throw new Error("try statement without catch or finally"); // 566 + } // 567 + } // 568 + } // 569 + }, // 570 + // 571 + abrupt: function(type, arg) { // 572 + for (var i = this.tryEntries.length - 1; i >= 0; --i) { // 573 + var entry = this.tryEntries[i]; // 574 + if (entry.tryLoc <= this.prev && // 575 + hasOwn.call(entry, "finallyLoc") && // 576 + this.prev < entry.finallyLoc) { // 577 + var finallyEntry = entry; // 578 + break; // 579 + } // 580 + } // 581 + // 582 + if (finallyEntry && // 583 + (type === "break" || // 584 + type === "continue") && // 585 + finallyEntry.tryLoc <= arg && // 586 + arg <= finallyEntry.finallyLoc) { // 587 + // Ignore the finally entry if control is not jumping to a // 588 + // location outside the try/catch block. // 589 + finallyEntry = null; // 590 + } // 591 + // 592 + var record = finallyEntry ? finallyEntry.completion : {}; // 593 + record.type = type; // 594 + record.arg = arg; // 595 + // 596 + if (finallyEntry) { // 597 + this.next = finallyEntry.finallyLoc; // 598 + } else { // 599 + this.complete(record); // 600 + } // 601 + // 602 + return ContinueSentinel; // 603 + }, // 604 + // 605 + complete: function(record, afterLoc) { // 606 + if (record.type === "throw") { // 607 + throw record.arg; // 608 + } // 609 + // 610 + if (record.type === "break" || // 611 + record.type === "continue") { // 612 + this.next = record.arg; // 613 + } else if (record.type === "return") { // 614 + this.rval = record.arg; // 615 + this.next = "end"; // 616 + } else if (record.type === "normal" && afterLoc) { // 617 + this.next = afterLoc; // 618 + } // 619 + }, // 620 + // 621 + finish: function(finallyLoc) { // 622 + for (var i = this.tryEntries.length - 1; i >= 0; --i) { // 623 + var entry = this.tryEntries[i]; // 624 + if (entry.finallyLoc === finallyLoc) { // 625 + this.complete(entry.completion, entry.afterLoc); // 626 + resetTryEntry(entry); // 627 + return ContinueSentinel; // 628 + } // 629 + } // 630 + }, // 631 + // 632 + "catch": function(tryLoc) { // 633 + for (var i = this.tryEntries.length - 1; i >= 0; --i) { // 634 + var entry = this.tryEntries[i]; // 635 + if (entry.tryLoc === tryLoc) { // 636 + var record = entry.completion; // 637 + if (record.type === "throw") { // 638 + var thrown = record.arg; // 639 + resetTryEntry(entry); // 640 + } // 641 + return thrown; // 642 + } // 643 + } // 644 + // 645 + // The context.catch method must only be called with a location // 646 + // argument that corresponds to a known catch block. // 647 + throw new Error("illegal catch attempt"); // 648 + }, // 649 + // 650 + delegateYield: function(iterable, resultName, nextLoc) { // 651 + this.delegate = { // 652 + iterator: values(iterable), // 653 + resultName: resultName, // 654 + nextLoc: nextLoc // 655 + }; // 656 + // 657 + return ContinueSentinel; // 658 + } // 659 + }; // 660 +})( // 661 + // Among the various tricks for obtaining a reference to the global // 662 + // object, this seems to be the most reliable technique that does not // 663 + // use indirect eval (which violates Content Security Policy). // 664 + typeof global === "object" ? global : // 665 + typeof window === "object" ? window : // 666 + typeof self === "object" ? self : this // 667 +); // 668 + // 669 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -}).call(this); - +}}}}}}},{"extensions":[".js",".json"]}); +require("./node_modules/meteor/babel-runtime/babel-runtime.js"); /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['babel-runtime'] = { - babelHelpers: babelHelpers -}; +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['babel-runtime'] = {}, { + meteorBabelHelpers: meteorBabelHelpers +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; +var meteorInstall = Package.modules.meteorInstall; +var Buffer = Package.modules.Buffer; +var process = Package.modules.process; +var Promise = Package.promise.Promise; /* Package-scope variables */ var Symbol, Map, Set, __g, __e; -//////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// packages/ecmascript-runtime/.npm/package/node_modules/meteor-ecmascript-runtime/client.js // -// This file is in bare mode and is not in its own closure. // -// // -//////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // -/******/ (function(modules) { // webpackBootstrap // 1 -/******/ // The module cache // 2 -/******/ var installedModules = {}; // 3 - // 4 -/******/ // The require function // 5 -/******/ function __webpack_require__(moduleId) { // 6 - // 7 -/******/ // Check if module is in cache // 8 -/******/ if(installedModules[moduleId]) // 9 -/******/ return installedModules[moduleId].exports; // 10 - // 11 -/******/ // Create a new module (and put it into the cache) // 12 -/******/ var module = installedModules[moduleId] = { // 13 -/******/ exports: {}, // 14 -/******/ id: moduleId, // 15 -/******/ loaded: false // 16 -/******/ }; // 17 - // 18 -/******/ // Execute the module function // 19 -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); // 20 - // 21 -/******/ // Flag the module as loaded // 22 -/******/ module.loaded = true; // 23 - // 24 -/******/ // Return the exports of the module // 25 -/******/ return module.exports; // 26 -/******/ } // 27 - // 28 - // 29 -/******/ // expose the modules object (__webpack_modules__) // 30 -/******/ __webpack_require__.m = modules; // 31 - // 32 -/******/ // expose the module cache // 33 -/******/ __webpack_require__.c = installedModules; // 34 - // 35 -/******/ // __webpack_public_path__ // 36 -/******/ __webpack_require__.p = ""; // 37 - // 38 -/******/ // Load entry module and return exports // 39 -/******/ return __webpack_require__(0); // 40 -/******/ }) // 41 -/************************************************************************/ // 42 -/******/ ([ // 43 -/* 0 */ // 44 -/***/ function(module, exports, __webpack_require__) { // 45 - // 46 - __webpack_require__(1); // 47 - __webpack_require__(50); // 48 - __webpack_require__(77); // 49 - __webpack_require__(96); // 50 - // 51 - Symbol = exports.Symbol = __webpack_require__(99); // 52 - Map = exports.Map = __webpack_require__(100); // 53 - Set = exports.Set = __webpack_require__(108); // 54 - // 55 - // 56 -/***/ }, // 57 -/* 1 */ // 58 -/***/ function(module, exports, __webpack_require__) { // 59 - // 60 - __webpack_require__(2); // 61 - __webpack_require__(28); // 62 - __webpack_require__(31); // 63 - __webpack_require__(33); // 64 - __webpack_require__(37); // 65 - __webpack_require__(39); // 66 - __webpack_require__(41); // 67 - __webpack_require__(42); // 68 - __webpack_require__(43); // 69 - __webpack_require__(44); // 70 - __webpack_require__(45); // 71 - __webpack_require__(46); // 72 - __webpack_require__(47); // 73 - __webpack_require__(48); // 74 - __webpack_require__(49); // 75 - // 76 - module.exports = __webpack_require__(9).Object; // 77 - // 78 -/***/ }, // 79 -/* 2 */ // 80 -/***/ function(module, exports, __webpack_require__) { // 81 - // 82 - 'use strict'; // 83 - // ECMAScript 6 symbols shim // 84 - var $ = __webpack_require__(3) // 85 - , global = __webpack_require__(4) // 86 - , has = __webpack_require__(5) // 87 - , SUPPORT_DESC = __webpack_require__(6) // 88 - , $def = __webpack_require__(8) // 89 - , $redef = __webpack_require__(12) // 90 - , $fails = __webpack_require__(7) // 91 - , shared = __webpack_require__(14) // 92 - , setTag = __webpack_require__(15) // 93 - , uid = __webpack_require__(13) // 94 - , wks = __webpack_require__(16) // 95 - , keyOf = __webpack_require__(17) // 96 - , $names = __webpack_require__(22) // 97 - , enumKeys = __webpack_require__(23) // 98 - , isArray = __webpack_require__(24) // 99 - , isObject = __webpack_require__(25) // 100 - , anObject = __webpack_require__(26) // 101 - , toIObject = __webpack_require__(18) // 102 - , createDesc = __webpack_require__(11) // 103 - , getDesc = $.getDesc // 104 - , setDesc = $.setDesc // 105 - , _create = $.create // 106 - , getNames = $names.get // 107 - , $Symbol = global.Symbol // 108 - , $JSON = global.JSON // 109 - , _stringify = $JSON && $JSON.stringify // 110 - , setter = false // 111 - , HIDDEN = wks('_hidden') // 112 - , isEnum = $.isEnum // 113 - , SymbolRegistry = shared('symbol-registry') // 114 - , AllSymbols = shared('symbols') // 115 - , useNative = typeof $Symbol == 'function' // 116 - , ObjectProto = Object.prototype; // 117 - // 118 - // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 // 119 - var setSymbolDesc = SUPPORT_DESC && $fails(function(){ // 120 - return _create(setDesc({}, 'a', { // 121 - get: function(){ return setDesc(this, 'a', {value: 7}).a; } // 122 - })).a != 7; // 123 - }) ? function(it, key, D){ // 124 - var protoDesc = getDesc(ObjectProto, key); // 125 - if(protoDesc)delete ObjectProto[key]; // 126 - setDesc(it, key, D); // 127 - if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc); // 128 - } : setDesc; // 129 - // 130 - var wrap = function(tag){ // 131 - var sym = AllSymbols[tag] = _create($Symbol.prototype); // 132 - sym._k = tag; // 133 - SUPPORT_DESC && setter && setSymbolDesc(ObjectProto, tag, { // 134 - configurable: true, // 135 - set: function(value){ // 136 - if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; // 137 - setSymbolDesc(this, tag, createDesc(1, value)); // 138 - } // 139 - }); // 140 - return sym; // 141 - }; // 142 - // 143 - var isSymbol = function(it){ // 144 - return typeof it == 'symbol'; // 145 - }; // 146 - // 147 - var $defineProperty = function defineProperty(it, key, D){ // 148 - if(D && has(AllSymbols, key)){ // 149 - if(!D.enumerable){ // 150 - if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {})); // 151 - it[HIDDEN][key] = true; // 152 - } else { // 153 - if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; // 154 - D = _create(D, {enumerable: createDesc(0, false)}); // 155 - } return setSymbolDesc(it, key, D); // 156 - } return setDesc(it, key, D); // 157 - }; // 158 - var $defineProperties = function defineProperties(it, P){ // 159 - anObject(it); // 160 - var keys = enumKeys(P = toIObject(P)) // 161 - , i = 0 // 162 - , l = keys.length // 163 - , key; // 164 - while(l > i)$defineProperty(it, key = keys[i++], P[key]); // 165 - return it; // 166 - }; // 167 - var $create = function create(it, P){ // 168 - return P === undefined ? _create(it) : $defineProperties(_create(it), P); // 169 - }; // 170 - var $propertyIsEnumerable = function propertyIsEnumerable(key){ // 171 - var E = isEnum.call(this, key); // 172 - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] // 173 - ? E : true; // 174 - }; // 175 - var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ // 176 - var D = getDesc(it = toIObject(it), key); // 177 - if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; // 178 - return D; // 179 - }; // 180 - var $getOwnPropertyNames = function getOwnPropertyNames(it){ // 181 - var names = getNames(toIObject(it)) // 182 - , result = [] // 183 - , i = 0 // 184 - , key; // 185 - while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key); // 186 - return result; // 187 - }; // 188 - var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ // 189 - var names = getNames(toIObject(it)) // 190 - , result = [] // 191 - , i = 0 // 192 - , key; // 193 - while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]); // 194 - return result; // 195 - }; // 196 - var $stringify = function stringify(it){ // 197 - var args = [it] // 198 - , i = 1 // 199 - , replacer, $replacer; // 200 - while(arguments.length > i)args.push(arguments[i++]); // 201 - replacer = args[1]; // 202 - if(typeof replacer == 'function')$replacer = replacer; // 203 - if($replacer || !isArray(replacer))replacer = function(key, value){ // 204 - if($replacer)value = $replacer.call(this, key, value); // 205 - if(!isSymbol(value))return value; // 206 - }; // 207 - args[1] = replacer; // 208 - return _stringify.apply($JSON, args); // 209 - }; // 210 - var buggyJSON = $fails(function(){ // 211 - var S = $Symbol(); // 212 - // MS Edge converts symbol values to JSON as {} // 213 - // WebKit converts symbol values to JSON as null // 214 - // V8 throws on boxed symbols // 215 - return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; // 216 - }); // 217 - // 218 - // 19.4.1.1 Symbol([description]) // 219 - if(!useNative){ // 220 - $Symbol = function Symbol(){ // 221 - if(isSymbol(this))throw TypeError('Symbol is not a constructor'); // 222 - return wrap(uid(arguments[0])); // 223 - }; // 224 - $redef($Symbol.prototype, 'toString', function toString(){ // 225 - return this._k; // 226 - }); // 227 - // 228 - isSymbol = function(it){ // 229 - return it instanceof $Symbol; // 230 - }; // 231 - // 232 - $.create = $create; // 233 - $.isEnum = $propertyIsEnumerable; // 234 - $.getDesc = $getOwnPropertyDescriptor; // 235 - $.setDesc = $defineProperty; // 236 - $.setDescs = $defineProperties; // 237 - $.getNames = $names.get = $getOwnPropertyNames; // 238 - $.getSymbols = $getOwnPropertySymbols; // 239 - // 240 - if(SUPPORT_DESC && !__webpack_require__(27)){ // 241 - $redef(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); // 242 - } // 243 - } // 244 - // 245 - var symbolStatics = { // 246 - // 19.4.2.1 Symbol.for(key) // 247 - 'for': function(key){ // 248 - return has(SymbolRegistry, key += '') // 249 - ? SymbolRegistry[key] // 250 - : SymbolRegistry[key] = $Symbol(key); // 251 - }, // 252 - // 19.4.2.5 Symbol.keyFor(sym) // 253 - keyFor: function keyFor(key){ // 254 - return keyOf(SymbolRegistry, key); // 255 - }, // 256 - useSetter: function(){ setter = true; }, // 257 - useSimple: function(){ setter = false; } // 258 - }; // 259 - // 19.4.2.2 Symbol.hasInstance // 260 - // 19.4.2.3 Symbol.isConcatSpreadable // 261 - // 19.4.2.4 Symbol.iterator // 262 - // 19.4.2.6 Symbol.match // 263 - // 19.4.2.8 Symbol.replace // 264 - // 19.4.2.9 Symbol.search // 265 - // 19.4.2.10 Symbol.species // 266 - // 19.4.2.11 Symbol.split // 267 - // 19.4.2.12 Symbol.toPrimitive // 268 - // 19.4.2.13 Symbol.toStringTag // 269 - // 19.4.2.14 Symbol.unscopables // 270 - $.each.call(( // 271 - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + // 272 - 'species,split,toPrimitive,toStringTag,unscopables' // 273 - ).split(','), function(it){ // 274 - var sym = wks(it); // 275 - symbolStatics[it] = useNative ? sym : wrap(sym); // 276 - } // 277 - ); // 278 - // 279 - setter = true; // 280 - // 281 - $def($def.G + $def.W, {Symbol: $Symbol}); // 282 - // 283 - $def($def.S, 'Symbol', symbolStatics); // 284 - // 285 - $def($def.S + $def.F * !useNative, 'Object', { // 286 - // 19.1.2.2 Object.create(O [, Properties]) // 287 - create: $create, // 288 - // 19.1.2.4 Object.defineProperty(O, P, Attributes) // 289 - defineProperty: $defineProperty, // 290 - // 19.1.2.3 Object.defineProperties(O, Properties) // 291 - defineProperties: $defineProperties, // 292 - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) // 293 - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, // 294 - // 19.1.2.7 Object.getOwnPropertyNames(O) // 295 - getOwnPropertyNames: $getOwnPropertyNames, // 296 - // 19.1.2.8 Object.getOwnPropertySymbols(O) // 297 - getOwnPropertySymbols: $getOwnPropertySymbols // 298 - }); // 299 - // 300 - // 24.3.2 JSON.stringify(value [, replacer [, space]]) // 301 - $JSON && $def($def.S + $def.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify}); // 302 - // 303 - // 19.4.3.5 Symbol.prototype[@@toStringTag] // 304 - setTag($Symbol, 'Symbol'); // 305 - // 20.2.1.9 Math[@@toStringTag] // 306 - setTag(Math, 'Math', true); // 307 - // 24.3.3 JSON[@@toStringTag] // 308 - setTag(global.JSON, 'JSON', true); // 309 - // 310 -/***/ }, // 311 -/* 3 */ // 312 -/***/ function(module, exports) { // 313 - // 314 - var $Object = Object; // 315 - module.exports = { // 316 - create: $Object.create, // 317 - getProto: $Object.getPrototypeOf, // 318 - isEnum: {}.propertyIsEnumerable, // 319 - getDesc: $Object.getOwnPropertyDescriptor, // 320 - setDesc: $Object.defineProperty, // 321 - setDescs: $Object.defineProperties, // 322 - getKeys: $Object.keys, // 323 - getNames: $Object.getOwnPropertyNames, // 324 - getSymbols: $Object.getOwnPropertySymbols, // 325 - each: [].forEach // 326 - }; // 327 - // 328 -/***/ }, // 329 -/* 4 */ // 330 -/***/ function(module, exports) { // 331 - // 332 - // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 // 333 - var UNDEFINED = 'undefined'; // 334 - var global = module.exports = typeof window != UNDEFINED && window.Math == Math // 335 - ? window : typeof self != UNDEFINED && self.Math == Math ? self : Function('return this')(); // 336 - if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef // 337 - // 338 -/***/ }, // 339 -/* 5 */ // 340 -/***/ function(module, exports) { // 341 - // 342 - var hasOwnProperty = {}.hasOwnProperty; // 343 - module.exports = function(it, key){ // 344 - return hasOwnProperty.call(it, key); // 345 - }; // 346 - // 347 -/***/ }, // 348 -/* 6 */ // 349 -/***/ function(module, exports, __webpack_require__) { // 350 - // 351 - // Thank's IE8 for his funny defineProperty // 352 - module.exports = !__webpack_require__(7)(function(){ // 353 - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; // 354 - }); // 355 - // 356 -/***/ }, // 357 -/* 7 */ // 358 -/***/ function(module, exports) { // 359 - // 360 - module.exports = function(exec){ // 361 - try { // 362 - return !!exec(); // 363 - } catch(e){ // 364 - return true; // 365 - } // 366 - }; // 367 - // 368 -/***/ }, // 369 -/* 8 */ // 370 -/***/ function(module, exports, __webpack_require__) { // 371 - // 372 - var global = __webpack_require__(4) // 373 - , core = __webpack_require__(9) // 374 - , hide = __webpack_require__(10) // 375 - , $redef = __webpack_require__(12) // 376 - , PROTOTYPE = 'prototype'; // 377 - var ctx = function(fn, that){ // 378 - return function(){ // 379 - return fn.apply(that, arguments); // 380 - }; // 381 - }; // 382 - var $def = function(type, name, source){ // 383 - var key, own, out, exp // 384 - , isGlobal = type & $def.G // 385 - , isProto = type & $def.P // 386 - , target = isGlobal ? global : type & $def.S // 387 - ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] // 388 - , exports = isGlobal ? core : core[name] || (core[name] = {}); // 389 - if(isGlobal)source = name; // 390 - for(key in source){ // 391 - // contains in native // 392 - own = !(type & $def.F) && target && key in target; // 393 - // export native or passed // 394 - out = (own ? target : source)[key]; // 395 - // bind timers to global for call from export context // 396 - if(type & $def.B && own)exp = ctx(out, global); // 397 - else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out; // 398 - // extend global // 399 - if(target && !own)$redef(target, key, out); // 400 - // export // 401 - if(exports[key] != out)hide(exports, key, exp); // 402 - if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out; // 403 - } // 404 - }; // 405 - global.core = core; // 406 - // type bitmap // 407 - $def.F = 1; // forced // 408 - $def.G = 2; // global // 409 - $def.S = 4; // static // 410 - $def.P = 8; // proto // 411 - $def.B = 16; // bind // 412 - $def.W = 32; // wrap // 413 - module.exports = $def; // 414 - // 415 -/***/ }, // 416 -/* 9 */ // 417 -/***/ function(module, exports) { // 418 - // 419 - var core = module.exports = {version: '1.2.1'}; // 420 - if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef // 421 - // 422 -/***/ }, // 423 -/* 10 */ // 424 -/***/ function(module, exports, __webpack_require__) { // 425 - // 426 - var $ = __webpack_require__(3) // 427 - , createDesc = __webpack_require__(11); // 428 - module.exports = __webpack_require__(6) ? function(object, key, value){ // 429 - return $.setDesc(object, key, createDesc(1, value)); // 430 - } : function(object, key, value){ // 431 - object[key] = value; // 432 - return object; // 433 - }; // 434 - // 435 -/***/ }, // 436 -/* 11 */ // 437 -/***/ function(module, exports) { // 438 - // 439 - module.exports = function(bitmap, value){ // 440 - return { // 441 - enumerable : !(bitmap & 1), // 442 - configurable: !(bitmap & 2), // 443 - writable : !(bitmap & 4), // 444 - value : value // 445 - }; // 446 - }; // 447 - // 448 -/***/ }, // 449 -/* 12 */ // 450 -/***/ function(module, exports, __webpack_require__) { // 451 - // 452 - // add fake Function#toString // 453 - // for correct work wrapped methods / constructors with methods like LoDash isNative // 454 - var global = __webpack_require__(4) // 455 - , hide = __webpack_require__(10) // 456 - , SRC = __webpack_require__(13)('src') // 457 - , TO_STRING = 'toString' // 458 - , $toString = Function[TO_STRING] // 459 - , TPL = ('' + $toString).split(TO_STRING); // 460 - // 461 - __webpack_require__(9).inspectSource = function(it){ // 462 - return $toString.call(it); // 463 - }; // 464 - // 465 - (module.exports = function(O, key, val, safe){ // 466 - if(typeof val == 'function'){ // 467 - hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); // 468 - if(!('name' in val))val.name = key; // 469 - } // 470 - if(O === global){ // 471 - O[key] = val; // 472 - } else { // 473 - if(!safe)delete O[key]; // 474 - hide(O, key, val); // 475 - } // 476 - })(Function.prototype, TO_STRING, function toString(){ // 477 - return typeof this == 'function' && this[SRC] || $toString.call(this); // 478 - }); // 479 - // 480 -/***/ }, // 481 -/* 13 */ // 482 -/***/ function(module, exports) { // 483 - // 484 - var id = 0 // 485 - , px = Math.random(); // 486 - module.exports = function(key){ // 487 - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); // 488 - }; // 489 - // 490 -/***/ }, // 491 -/* 14 */ // 492 -/***/ function(module, exports, __webpack_require__) { // 493 - // 494 - var global = __webpack_require__(4) // 495 - , SHARED = '__core-js_shared__' // 496 - , store = global[SHARED] || (global[SHARED] = {}); // 497 - module.exports = function(key){ // 498 - return store[key] || (store[key] = {}); // 499 - }; // 500 - // 501 -/***/ }, // 502 -/* 15 */ // 503 -/***/ function(module, exports, __webpack_require__) { // 504 - // 505 - var has = __webpack_require__(5) // 506 - , hide = __webpack_require__(10) // 507 - , TAG = __webpack_require__(16)('toStringTag'); // 508 - // 509 - module.exports = function(it, tag, stat){ // 510 - if(it && !has(it = stat ? it : it.prototype, TAG))hide(it, TAG, tag); // 511 - }; // 512 - // 513 -/***/ }, // 514 -/* 16 */ // 515 -/***/ function(module, exports, __webpack_require__) { // 516 - // 517 - var store = __webpack_require__(14)('wks') // 518 - , Symbol = __webpack_require__(4).Symbol; // 519 - module.exports = function(name){ // 520 - return store[name] || (store[name] = // 521 - Symbol && Symbol[name] || (Symbol || __webpack_require__(13))('Symbol.' + name)); // 522 - }; // 523 - // 524 -/***/ }, // 525 -/* 17 */ // 526 -/***/ function(module, exports, __webpack_require__) { // 527 - // 528 - var $ = __webpack_require__(3) // 529 - , toIObject = __webpack_require__(18); // 530 - module.exports = function(object, el){ // 531 - var O = toIObject(object) // 532 - , keys = $.getKeys(O) // 533 - , length = keys.length // 534 - , index = 0 // 535 - , key; // 536 - while(length > index)if(O[key = keys[index++]] === el)return key; // 537 - }; // 538 - // 539 -/***/ }, // 540 -/* 18 */ // 541 -/***/ function(module, exports, __webpack_require__) { // 542 - // 543 - // to indexed object, toObject with fallback for non-array-like ES3 strings // 544 - var IObject = __webpack_require__(19) // 545 - , defined = __webpack_require__(21); // 546 - module.exports = function(it){ // 547 - return IObject(defined(it)); // 548 - }; // 549 - // 550 -/***/ }, // 551 -/* 19 */ // 552 -/***/ function(module, exports, __webpack_require__) { // 553 - // 554 - // indexed object, fallback for non-array-like ES3 strings // 555 - var cof = __webpack_require__(20); // 556 - module.exports = 0 in Object('z') ? Object : function(it){ // 557 - return cof(it) == 'String' ? it.split('') : Object(it); // 558 - }; // 559 - // 560 -/***/ }, // 561 -/* 20 */ // 562 -/***/ function(module, exports) { // 563 - // 564 - var toString = {}.toString; // 565 - // 566 - module.exports = function(it){ // 567 - return toString.call(it).slice(8, -1); // 568 - }; // 569 - // 570 -/***/ }, // 571 -/* 21 */ // 572 -/***/ function(module, exports) { // 573 - // 574 - // 7.2.1 RequireObjectCoercible(argument) // 575 - module.exports = function(it){ // 576 - if(it == undefined)throw TypeError("Can't call method on " + it); // 577 - return it; // 578 - }; // 579 - // 580 -/***/ }, // 581 -/* 22 */ // 582 -/***/ function(module, exports, __webpack_require__) { // 583 - // 584 - // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window // 585 - var toString = {}.toString // 586 - , toIObject = __webpack_require__(18) // 587 - , getNames = __webpack_require__(3).getNames; // 588 - // 589 - var windowNames = typeof window == 'object' && Object.getOwnPropertyNames // 590 - ? Object.getOwnPropertyNames(window) : []; // 591 - // 592 - var getWindowNames = function(it){ // 593 - try { // 594 - return getNames(it); // 595 - } catch(e){ // 596 - return windowNames.slice(); // 597 - } // 598 - }; // 599 - // 600 - module.exports.get = function getOwnPropertyNames(it){ // 601 - if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it); // 602 - return getNames(toIObject(it)); // 603 - }; // 604 - // 605 -/***/ }, // 606 -/* 23 */ // 607 -/***/ function(module, exports, __webpack_require__) { // 608 - // 609 - // all enumerable object keys, includes symbols // 610 - var $ = __webpack_require__(3); // 611 - module.exports = function(it){ // 612 - var keys = $.getKeys(it) // 613 - , getSymbols = $.getSymbols; // 614 - if(getSymbols){ // 615 - var symbols = getSymbols(it) // 616 - , isEnum = $.isEnum // 617 - , i = 0 // 618 - , key; // 619 - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key); // 620 - } // 621 - return keys; // 622 - }; // 623 - // 624 -/***/ }, // 625 -/* 24 */ // 626 -/***/ function(module, exports, __webpack_require__) { // 627 - // 628 - // 7.2.2 IsArray(argument) // 629 - var cof = __webpack_require__(20); // 630 - module.exports = Array.isArray || function(arg){ // 631 - return cof(arg) == 'Array'; // 632 - }; // 633 - // 634 -/***/ }, // 635 -/* 25 */ // 636 -/***/ function(module, exports) { // 637 - // 638 - module.exports = function(it){ // 639 - return typeof it === 'object' ? it !== null : typeof it === 'function'; // 640 - }; // 641 - // 642 -/***/ }, // 643 -/* 26 */ // 644 -/***/ function(module, exports, __webpack_require__) { // 645 - // 646 - var isObject = __webpack_require__(25); // 647 - module.exports = function(it){ // 648 - if(!isObject(it))throw TypeError(it + ' is not an object!'); // 649 - return it; // 650 - }; // 651 - // 652 -/***/ }, // 653 -/* 27 */ // 654 -/***/ function(module, exports) { // 655 - // 656 - module.exports = false; // 657 - // 658 -/***/ }, // 659 -/* 28 */ // 660 -/***/ function(module, exports, __webpack_require__) { // 661 - // 662 - // 19.1.3.1 Object.assign(target, source) // 663 - var $def = __webpack_require__(8); // 664 - // 665 - $def($def.S + $def.F, 'Object', {assign: __webpack_require__(29)}); // 666 - // 667 -/***/ }, // 668 -/* 29 */ // 669 -/***/ function(module, exports, __webpack_require__) { // 670 - // 671 - // 19.1.2.1 Object.assign(target, source, ...) // 672 - var toObject = __webpack_require__(30) // 673 - , IObject = __webpack_require__(19) // 674 - , enumKeys = __webpack_require__(23) // 675 - , has = __webpack_require__(5); // 676 - // 677 - // should work with symbols and should have deterministic property order (V8 bug) // 678 - module.exports = __webpack_require__(7)(function(){ // 679 - var a = Object.assign // 680 - , A = {} // 681 - , B = {} // 682 - , S = Symbol() // 683 - , K = 'abcdefghijklmnopqrst'; // 684 - A[S] = 7; // 685 - K.split('').forEach(function(k){ B[k] = k; }); // 686 - return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K; // 687 - }) ? function assign(target, source){ // eslint-disable-line no-unused-vars // 688 - var T = toObject(target) // 689 - , l = arguments.length // 690 - , i = 1; // 691 - while(l > i){ // 692 - var S = IObject(arguments[i++]) // 693 - , keys = enumKeys(S) // 694 - , length = keys.length // 695 - , j = 0 // 696 - , key; // 697 - while(length > j)if(has(S, key = keys[j++]))T[key] = S[key]; // 698 - } // 699 - return T; // 700 - } : Object.assign; // 701 - // 702 -/***/ }, // 703 -/* 30 */ // 704 -/***/ function(module, exports, __webpack_require__) { // 705 - // 706 - // 7.1.13 ToObject(argument) // 707 - var defined = __webpack_require__(21); // 708 - module.exports = function(it){ // 709 - return Object(defined(it)); // 710 - }; // 711 - // 712 -/***/ }, // 713 -/* 31 */ // 714 -/***/ function(module, exports, __webpack_require__) { // 715 - // 716 - // 19.1.3.10 Object.is(value1, value2) // 717 - var $def = __webpack_require__(8); // 718 - $def($def.S, 'Object', { // 719 - is: __webpack_require__(32) // 720 - }); // 721 - // 722 -/***/ }, // 723 -/* 32 */ // 724 -/***/ function(module, exports) { // 725 - // 726 - module.exports = Object.is || function is(x, y){ // 727 - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; // 728 - }; // 729 - // 730 -/***/ }, // 731 -/* 33 */ // 732 -/***/ function(module, exports, __webpack_require__) { // 733 - // 734 - // 19.1.3.19 Object.setPrototypeOf(O, proto) // 735 - var $def = __webpack_require__(8); // 736 - $def($def.S, 'Object', {setPrototypeOf: __webpack_require__(34).set}); // 737 - // 738 -/***/ }, // 739 -/* 34 */ // 740 -/***/ function(module, exports, __webpack_require__) { // 741 - // 742 - // Works with __proto__ only. Old v8 can't work with null proto objects. // 743 - /* eslint-disable no-proto */ // 744 - var getDesc = __webpack_require__(3).getDesc // 745 - , isObject = __webpack_require__(25) // 746 - , anObject = __webpack_require__(26); // 747 - var check = function(O, proto){ // 748 - anObject(O); // 749 - if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); // 750 - }; // 751 - module.exports = { // 752 - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line no-proto // 753 - function(test, buggy, set){ // 754 - try { // 755 - set = __webpack_require__(35)(Function.call, getDesc(Object.prototype, '__proto__').set, 2); // 756 - set(test, []); // 757 - buggy = !(test instanceof Array); // 758 - } catch(e){ buggy = true; } // 759 - return function setPrototypeOf(O, proto){ // 760 - check(O, proto); // 761 - if(buggy)O.__proto__ = proto; // 762 - else set(O, proto); // 763 - return O; // 764 - }; // 765 - }({}, false) : undefined), // 766 - check: check // 767 - }; // 768 - // 769 -/***/ }, // 770 -/* 35 */ // 771 -/***/ function(module, exports, __webpack_require__) { // 772 - // 773 - // optional / simple context binding // 774 - var aFunction = __webpack_require__(36); // 775 - module.exports = function(fn, that, length){ // 776 - aFunction(fn); // 777 - if(that === undefined)return fn; // 778 - switch(length){ // 779 - case 1: return function(a){ // 780 - return fn.call(that, a); // 781 - }; // 782 - case 2: return function(a, b){ // 783 - return fn.call(that, a, b); // 784 - }; // 785 - case 3: return function(a, b, c){ // 786 - return fn.call(that, a, b, c); // 787 - }; // 788 - } // 789 - return function(/* ...args */){ // 790 - return fn.apply(that, arguments); // 791 - }; // 792 - }; // 793 - // 794 -/***/ }, // 795 -/* 36 */ // 796 -/***/ function(module, exports) { // 797 - // 798 - module.exports = function(it){ // 799 - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); // 800 - return it; // 801 - }; // 802 - // 803 -/***/ }, // 804 -/* 37 */ // 805 -/***/ function(module, exports, __webpack_require__) { // 806 - // 807 - 'use strict'; // 808 - // 19.1.3.6 Object.prototype.toString() // 809 - var classof = __webpack_require__(38) // 810 - , test = {}; // 811 - test[__webpack_require__(16)('toStringTag')] = 'z'; // 812 - if(test + '' != '[object z]'){ // 813 - __webpack_require__(12)(Object.prototype, 'toString', function toString(){ // 814 - return '[object ' + classof(this) + ']'; // 815 - }, true); // 816 - } // 817 - // 818 -/***/ }, // 819 -/* 38 */ // 820 -/***/ function(module, exports, __webpack_require__) { // 821 - // 822 - // getting tag from 19.1.3.6 Object.prototype.toString() // 823 - var cof = __webpack_require__(20) // 824 - , TAG = __webpack_require__(16)('toStringTag') // 825 - // ES3 wrong here // 826 - , ARG = cof(function(){ return arguments; }()) == 'Arguments'; // 827 - // 828 - module.exports = function(it){ // 829 - var O, T, B; // 830 - return it === undefined ? 'Undefined' : it === null ? 'Null' // 831 - // @@toStringTag case // 832 - : typeof (T = (O = Object(it))[TAG]) == 'string' ? T // 833 - // builtinTag case // 834 - : ARG ? cof(O) // 835 - // ES3 arguments fallback // 836 - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; // 837 - }; // 838 - // 839 -/***/ }, // 840 -/* 39 */ // 841 -/***/ function(module, exports, __webpack_require__) { // 842 - // 843 - // 19.1.2.5 Object.freeze(O) // 844 - var isObject = __webpack_require__(25); // 845 - // 846 - __webpack_require__(40)('freeze', function($freeze){ // 847 - return function freeze(it){ // 848 - return $freeze && isObject(it) ? $freeze(it) : it; // 849 - }; // 850 - }); // 851 - // 852 -/***/ }, // 853 -/* 40 */ // 854 -/***/ function(module, exports, __webpack_require__) { // 855 - // 856 - // most Object methods by ES6 should accept primitives // 857 - module.exports = function(KEY, exec){ // 858 - var $def = __webpack_require__(8) // 859 - , fn = (__webpack_require__(9).Object || {})[KEY] || Object[KEY] // 860 - , exp = {}; // 861 - exp[KEY] = exec(fn); // 862 - $def($def.S + $def.F * __webpack_require__(7)(function(){ fn(1); }), 'Object', exp); // 863 - }; // 864 - // 865 -/***/ }, // 866 -/* 41 */ // 867 -/***/ function(module, exports, __webpack_require__) { // 868 - // 869 - // 19.1.2.17 Object.seal(O) // 870 - var isObject = __webpack_require__(25); // 871 - // 872 - __webpack_require__(40)('seal', function($seal){ // 873 - return function seal(it){ // 874 - return $seal && isObject(it) ? $seal(it) : it; // 875 - }; // 876 - }); // 877 - // 878 -/***/ }, // 879 -/* 42 */ // 880 -/***/ function(module, exports, __webpack_require__) { // 881 - // 882 - // 19.1.2.15 Object.preventExtensions(O) // 883 - var isObject = __webpack_require__(25); // 884 - // 885 - __webpack_require__(40)('preventExtensions', function($preventExtensions){ // 886 - return function preventExtensions(it){ // 887 - return $preventExtensions && isObject(it) ? $preventExtensions(it) : it; // 888 - }; // 889 - }); // 890 - // 891 -/***/ }, // 892 -/* 43 */ // 893 -/***/ function(module, exports, __webpack_require__) { // 894 - // 895 - // 19.1.2.12 Object.isFrozen(O) // 896 - var isObject = __webpack_require__(25); // 897 - // 898 - __webpack_require__(40)('isFrozen', function($isFrozen){ // 899 - return function isFrozen(it){ // 900 - return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; // 901 - }; // 902 - }); // 903 - // 904 -/***/ }, // 905 -/* 44 */ // 906 -/***/ function(module, exports, __webpack_require__) { // 907 - // 908 - // 19.1.2.13 Object.isSealed(O) // 909 - var isObject = __webpack_require__(25); // 910 - // 911 - __webpack_require__(40)('isSealed', function($isSealed){ // 912 - return function isSealed(it){ // 913 - return isObject(it) ? $isSealed ? $isSealed(it) : false : true; // 914 - }; // 915 - }); // 916 - // 917 -/***/ }, // 918 -/* 45 */ // 919 -/***/ function(module, exports, __webpack_require__) { // 920 - // 921 - // 19.1.2.11 Object.isExtensible(O) // 922 - var isObject = __webpack_require__(25); // 923 - // 924 - __webpack_require__(40)('isExtensible', function($isExtensible){ // 925 - return function isExtensible(it){ // 926 - return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; // 927 - }; // 928 - }); // 929 - // 930 -/***/ }, // 931 -/* 46 */ // 932 -/***/ function(module, exports, __webpack_require__) { // 933 - // 934 - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) // 935 - var toIObject = __webpack_require__(18); // 936 - // 937 - __webpack_require__(40)('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){ // 938 - return function getOwnPropertyDescriptor(it, key){ // 939 - return $getOwnPropertyDescriptor(toIObject(it), key); // 940 - }; // 941 - }); // 942 - // 943 -/***/ }, // 944 -/* 47 */ // 945 -/***/ function(module, exports, __webpack_require__) { // 946 - // 947 - // 19.1.2.9 Object.getPrototypeOf(O) // 948 - var toObject = __webpack_require__(30); // 949 - // 950 - __webpack_require__(40)('getPrototypeOf', function($getPrototypeOf){ // 951 - return function getPrototypeOf(it){ // 952 - return $getPrototypeOf(toObject(it)); // 953 - }; // 954 - }); // 955 - // 956 -/***/ }, // 957 -/* 48 */ // 958 -/***/ function(module, exports, __webpack_require__) { // 959 - // 960 - // 19.1.2.14 Object.keys(O) // 961 - var toObject = __webpack_require__(30); // 962 - // 963 - __webpack_require__(40)('keys', function($keys){ // 964 - return function keys(it){ // 965 - return $keys(toObject(it)); // 966 - }; // 967 - }); // 968 - // 969 -/***/ }, // 970 -/* 49 */ // 971 -/***/ function(module, exports, __webpack_require__) { // 972 - // 973 - // 19.1.2.7 Object.getOwnPropertyNames(O) // 974 - __webpack_require__(40)('getOwnPropertyNames', function(){ // 975 - return __webpack_require__(22).get; // 976 - }); // 977 - // 978 -/***/ }, // 979 -/* 50 */ // 980 -/***/ function(module, exports, __webpack_require__) { // 981 - // 982 - __webpack_require__(51); // 983 - __webpack_require__(57); // 984 - __webpack_require__(63); // 985 - __webpack_require__(64); // 986 - __webpack_require__(66); // 987 - __webpack_require__(69); // 988 - __webpack_require__(72); // 989 - __webpack_require__(74); // 990 - __webpack_require__(76); // 991 - module.exports = __webpack_require__(9).Array; // 992 - // 993 -/***/ }, // 994 -/* 51 */ // 995 -/***/ function(module, exports, __webpack_require__) { // 996 - // 997 - 'use strict'; // 998 - var $at = __webpack_require__(52)(true); // 999 - // 1000 - // 21.1.3.27 String.prototype[@@iterator]() // 1001 - __webpack_require__(54)(String, 'String', function(iterated){ // 1002 - this._t = String(iterated); // target // 1003 - this._i = 0; // next index // 1004 - // 21.1.5.2.1 %StringIteratorPrototype%.next() // 1005 - }, function(){ // 1006 - var O = this._t // 1007 - , index = this._i // 1008 - , point; // 1009 - if(index >= O.length)return {value: undefined, done: true}; // 1010 - point = $at(O, index); // 1011 - this._i += point.length; // 1012 - return {value: point, done: false}; // 1013 - }); // 1014 - // 1015 -/***/ }, // 1016 -/* 52 */ // 1017 -/***/ function(module, exports, __webpack_require__) { // 1018 - // 1019 - // true -> String#at // 1020 - // false -> String#codePointAt // 1021 - var toInteger = __webpack_require__(53) // 1022 - , defined = __webpack_require__(21); // 1023 - module.exports = function(TO_STRING){ // 1024 - return function(that, pos){ // 1025 - var s = String(defined(that)) // 1026 - , i = toInteger(pos) // 1027 - , l = s.length // 1028 - , a, b; // 1029 - if(i < 0 || i >= l)return TO_STRING ? '' : undefined; // 1030 - a = s.charCodeAt(i); // 1031 - return a < 0xd800 || a > 0xdbff || i + 1 === l // 1032 - || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff // 1033 - ? TO_STRING ? s.charAt(i) : a // 1034 - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; // 1035 - }; // 1036 - }; // 1037 - // 1038 -/***/ }, // 1039 -/* 53 */ // 1040 -/***/ function(module, exports) { // 1041 - // 1042 - // 7.1.4 ToInteger // 1043 - var ceil = Math.ceil // 1044 - , floor = Math.floor; // 1045 - module.exports = function(it){ // 1046 - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); // 1047 - }; // 1048 - // 1049 -/***/ }, // 1050 -/* 54 */ // 1051 -/***/ function(module, exports, __webpack_require__) { // 1052 - // 1053 - 'use strict'; // 1054 - var LIBRARY = __webpack_require__(27) // 1055 - , $def = __webpack_require__(8) // 1056 - , $redef = __webpack_require__(12) // 1057 - , hide = __webpack_require__(10) // 1058 - , has = __webpack_require__(5) // 1059 - , SYMBOL_ITERATOR = __webpack_require__(16)('iterator') // 1060 - , Iterators = __webpack_require__(55) // 1061 - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` // 1062 - , FF_ITERATOR = '@@iterator' // 1063 - , KEYS = 'keys' // 1064 - , VALUES = 'values'; // 1065 - var returnThis = function(){ return this; }; // 1066 - module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){ // 1067 - __webpack_require__(56)(Constructor, NAME, next); // 1068 - var createMethod = function(kind){ // 1069 - switch(kind){ // 1070 - case KEYS: return function keys(){ return new Constructor(this, kind); }; // 1071 - case VALUES: return function values(){ return new Constructor(this, kind); }; // 1072 - } return function entries(){ return new Constructor(this, kind); }; // 1073 - }; // 1074 - var TAG = NAME + ' Iterator' // 1075 - , proto = Base.prototype // 1076 - , _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] // 1077 - , _default = _native || createMethod(DEFAULT) // 1078 - , methods, key; // 1079 - // Fix native // 1080 - if(_native){ // 1081 - var IteratorPrototype = __webpack_require__(3).getProto(_default.call(new Base)); // 1082 - // Set @@toStringTag to native iterators // 1083 - __webpack_require__(15)(IteratorPrototype, TAG, true); // 1084 - // FF fix // 1085 - if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, SYMBOL_ITERATOR, returnThis); // 1086 - } // 1087 - // Define iterator // 1088 - if(!LIBRARY || FORCE)hide(proto, SYMBOL_ITERATOR, _default); // 1089 - // Plug for library // 1090 - Iterators[NAME] = _default; // 1091 - Iterators[TAG] = returnThis; // 1092 - if(DEFAULT){ // 1093 - methods = { // 1094 - keys: IS_SET ? _default : createMethod(KEYS), // 1095 - values: DEFAULT == VALUES ? _default : createMethod(VALUES), // 1096 - entries: DEFAULT != VALUES ? _default : createMethod('entries') // 1097 - }; // 1098 - if(FORCE)for(key in methods){ // 1099 - if(!(key in proto))$redef(proto, key, methods[key]); // 1100 - } else $def($def.P + $def.F * BUGGY, NAME, methods); // 1101 - } // 1102 - }; // 1103 - // 1104 -/***/ }, // 1105 -/* 55 */ // 1106 -/***/ function(module, exports) { // 1107 - // 1108 - module.exports = {}; // 1109 - // 1110 -/***/ }, // 1111 -/* 56 */ // 1112 -/***/ function(module, exports, __webpack_require__) { // 1113 - // 1114 - 'use strict'; // 1115 - var $ = __webpack_require__(3) // 1116 - , IteratorPrototype = {}; // 1117 - // 1118 - // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() // 1119 - __webpack_require__(10)(IteratorPrototype, __webpack_require__(16)('iterator'), function(){ return this; }); - // 1121 - module.exports = function(Constructor, NAME, next){ // 1122 - Constructor.prototype = $.create(IteratorPrototype, {next: __webpack_require__(11)(1,next)}); // 1123 - __webpack_require__(15)(Constructor, NAME + ' Iterator'); // 1124 - }; // 1125 - // 1126 -/***/ }, // 1127 -/* 57 */ // 1128 -/***/ function(module, exports, __webpack_require__) { // 1129 - // 1130 - 'use strict'; // 1131 - var ctx = __webpack_require__(35) // 1132 - , $def = __webpack_require__(8) // 1133 - , toObject = __webpack_require__(30) // 1134 - , call = __webpack_require__(58) // 1135 - , isArrayIter = __webpack_require__(59) // 1136 - , toLength = __webpack_require__(60) // 1137 - , getIterFn = __webpack_require__(61); // 1138 - $def($def.S + $def.F * !__webpack_require__(62)(function(iter){ Array.from(iter); }), 'Array', { // 1139 - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) // 1140 - from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ // 1141 - var O = toObject(arrayLike) // 1142 - , C = typeof this == 'function' ? this : Array // 1143 - , mapfn = arguments[1] // 1144 - , mapping = mapfn !== undefined // 1145 - , index = 0 // 1146 - , iterFn = getIterFn(O) // 1147 - , length, result, step, iterator; // 1148 - if(mapping)mapfn = ctx(mapfn, arguments[2], 2); // 1149 - // if object isn't iterable or it's array with default iterator - use simple case // 1150 - if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ // 1151 - for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ // 1152 - result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value; // 1153 - } // 1154 - } else { // 1155 - length = toLength(O.length); // 1156 - for(result = new C(length); length > index; index++){ // 1157 - result[index] = mapping ? mapfn(O[index], index) : O[index]; // 1158 - } // 1159 - } // 1160 - result.length = index; // 1161 - return result; // 1162 - } // 1163 - }); // 1164 - // 1165 - // 1166 -/***/ }, // 1167 -/* 58 */ // 1168 -/***/ function(module, exports, __webpack_require__) { // 1169 - // 1170 - // call something on iterator step with safe closing on error // 1171 - var anObject = __webpack_require__(26); // 1172 - module.exports = function(iterator, fn, value, entries){ // 1173 - try { // 1174 - return entries ? fn(anObject(value)[0], value[1]) : fn(value); // 1175 - // 7.4.6 IteratorClose(iterator, completion) // 1176 - } catch(e){ // 1177 - var ret = iterator['return']; // 1178 - if(ret !== undefined)anObject(ret.call(iterator)); // 1179 - throw e; // 1180 - } // 1181 - }; // 1182 - // 1183 -/***/ }, // 1184 -/* 59 */ // 1185 -/***/ function(module, exports, __webpack_require__) { // 1186 - // 1187 - // check on default Array iterator // 1188 - var Iterators = __webpack_require__(55) // 1189 - , ITERATOR = __webpack_require__(16)('iterator'); // 1190 - module.exports = function(it){ // 1191 - return (Iterators.Array || Array.prototype[ITERATOR]) === it; // 1192 - }; // 1193 - // 1194 -/***/ }, // 1195 -/* 60 */ // 1196 -/***/ function(module, exports, __webpack_require__) { // 1197 - // 1198 - // 7.1.15 ToLength // 1199 - var toInteger = __webpack_require__(53) // 1200 - , min = Math.min; // 1201 - module.exports = function(it){ // 1202 - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 // 1203 - }; // 1204 - // 1205 -/***/ }, // 1206 -/* 61 */ // 1207 -/***/ function(module, exports, __webpack_require__) { // 1208 - // 1209 - var classof = __webpack_require__(38) // 1210 - , ITERATOR = __webpack_require__(16)('iterator') // 1211 - , Iterators = __webpack_require__(55); // 1212 - module.exports = __webpack_require__(9).getIteratorMethod = function(it){ // 1213 - if(it != undefined)return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; // 1214 - }; // 1215 - // 1216 -/***/ }, // 1217 -/* 62 */ // 1218 -/***/ function(module, exports, __webpack_require__) { // 1219 - // 1220 - var SYMBOL_ITERATOR = __webpack_require__(16)('iterator') // 1221 - , SAFE_CLOSING = false; // 1222 - try { // 1223 - var riter = [7][SYMBOL_ITERATOR](); // 1224 - riter['return'] = function(){ SAFE_CLOSING = true; }; // 1225 - Array.from(riter, function(){ throw 2; }); // 1226 - } catch(e){ /* empty */ } // 1227 - module.exports = function(exec){ // 1228 - if(!SAFE_CLOSING)return false; // 1229 - var safe = false; // 1230 - try { // 1231 - var arr = [7] // 1232 - , iter = arr[SYMBOL_ITERATOR](); // 1233 - iter.next = function(){ safe = true; }; // 1234 - arr[SYMBOL_ITERATOR] = function(){ return iter; }; // 1235 - exec(arr); // 1236 - } catch(e){ /* empty */ } // 1237 - return safe; // 1238 - }; // 1239 - // 1240 -/***/ }, // 1241 -/* 63 */ // 1242 -/***/ function(module, exports, __webpack_require__) { // 1243 - // 1244 - 'use strict'; // 1245 - var $def = __webpack_require__(8); // 1246 - // 1247 - // WebKit Array.of isn't generic // 1248 - $def($def.S + $def.F * __webpack_require__(7)(function(){ // 1249 - function F(){} // 1250 - return !(Array.of.call(F) instanceof F); // 1251 - }), 'Array', { // 1252 - // 22.1.2.3 Array.of( ...items) // 1253 - of: function of(/* ...args */){ // 1254 - var index = 0 // 1255 - , length = arguments.length // 1256 - , result = new (typeof this == 'function' ? this : Array)(length); // 1257 - while(length > index)result[index] = arguments[index++]; // 1258 - result.length = length; // 1259 - return result; // 1260 - } // 1261 - }); // 1262 - // 1263 -/***/ }, // 1264 -/* 64 */ // 1265 -/***/ function(module, exports, __webpack_require__) { // 1266 - // 1267 - __webpack_require__(65)(Array); // 1268 - // 1269 -/***/ }, // 1270 -/* 65 */ // 1271 -/***/ function(module, exports, __webpack_require__) { // 1272 - // 1273 - 'use strict'; // 1274 - var $ = __webpack_require__(3) // 1275 - , SPECIES = __webpack_require__(16)('species'); // 1276 - module.exports = function(C){ // 1277 - if(__webpack_require__(6) && !(SPECIES in C))$.setDesc(C, SPECIES, { // 1278 - configurable: true, // 1279 - get: function(){ return this; } // 1280 - }); // 1281 - }; // 1282 - // 1283 -/***/ }, // 1284 -/* 66 */ // 1285 -/***/ function(module, exports, __webpack_require__) { // 1286 - // 1287 - 'use strict'; // 1288 - var setUnscope = __webpack_require__(67) // 1289 - , step = __webpack_require__(68) // 1290 - , Iterators = __webpack_require__(55) // 1291 - , toIObject = __webpack_require__(18); // 1292 - // 1293 - // 22.1.3.4 Array.prototype.entries() // 1294 - // 22.1.3.13 Array.prototype.keys() // 1295 - // 22.1.3.29 Array.prototype.values() // 1296 - // 22.1.3.30 Array.prototype[@@iterator]() // 1297 - __webpack_require__(54)(Array, 'Array', function(iterated, kind){ // 1298 - this._t = toIObject(iterated); // target // 1299 - this._i = 0; // next index // 1300 - this._k = kind; // kind // 1301 - // 22.1.5.2.1 %ArrayIteratorPrototype%.next() // 1302 - }, function(){ // 1303 - var O = this._t // 1304 - , kind = this._k // 1305 - , index = this._i++; // 1306 - if(!O || index >= O.length){ // 1307 - this._t = undefined; // 1308 - return step(1); // 1309 - } // 1310 - if(kind == 'keys' )return step(0, index); // 1311 - if(kind == 'values')return step(0, O[index]); // 1312 - return step(0, [index, O[index]]); // 1313 - }, 'values'); // 1314 - // 1315 - // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) // 1316 - Iterators.Arguments = Iterators.Array; // 1317 - // 1318 - setUnscope('keys'); // 1319 - setUnscope('values'); // 1320 - setUnscope('entries'); // 1321 - // 1322 -/***/ }, // 1323 -/* 67 */ // 1324 -/***/ function(module, exports, __webpack_require__) { // 1325 - // 1326 - // 22.1.3.31 Array.prototype[@@unscopables] // 1327 - var UNSCOPABLES = __webpack_require__(16)('unscopables'); // 1328 - if([][UNSCOPABLES] == undefined)__webpack_require__(10)(Array.prototype, UNSCOPABLES, {}); // 1329 - module.exports = function(key){ // 1330 - [][UNSCOPABLES][key] = true; // 1331 - }; // 1332 - // 1333 -/***/ }, // 1334 -/* 68 */ // 1335 -/***/ function(module, exports) { // 1336 - // 1337 - module.exports = function(done, value){ // 1338 - return {value: value, done: !!done}; // 1339 - }; // 1340 - // 1341 -/***/ }, // 1342 -/* 69 */ // 1343 -/***/ function(module, exports, __webpack_require__) { // 1344 - // 1345 - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) // 1346 - 'use strict'; // 1347 - var $def = __webpack_require__(8); // 1348 - // 1349 - $def($def.P, 'Array', {copyWithin: __webpack_require__(70)}); // 1350 - // 1351 - __webpack_require__(67)('copyWithin'); // 1352 - // 1353 -/***/ }, // 1354 -/* 70 */ // 1355 -/***/ function(module, exports, __webpack_require__) { // 1356 - // 1357 - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) // 1358 - 'use strict'; // 1359 - var toObject = __webpack_require__(30) // 1360 - , toIndex = __webpack_require__(71) // 1361 - , toLength = __webpack_require__(60); // 1362 - // 1363 - module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ // 1364 - var O = toObject(this) // 1365 - , len = toLength(O.length) // 1366 - , to = toIndex(target, len) // 1367 - , from = toIndex(start, len) // 1368 - , end = arguments[2] // 1369 - , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) // 1370 - , inc = 1; // 1371 - if(from < to && to < from + count){ // 1372 - inc = -1; // 1373 - from += count - 1; // 1374 - to += count - 1; // 1375 - } // 1376 - while(count-- > 0){ // 1377 - if(from in O)O[to] = O[from]; // 1378 - else delete O[to]; // 1379 - to += inc; // 1380 - from += inc; // 1381 - } return O; // 1382 - }; // 1383 - // 1384 -/***/ }, // 1385 -/* 71 */ // 1386 -/***/ function(module, exports, __webpack_require__) { // 1387 - // 1388 - var toInteger = __webpack_require__(53) // 1389 - , max = Math.max // 1390 - , min = Math.min; // 1391 - module.exports = function(index, length){ // 1392 - index = toInteger(index); // 1393 - return index < 0 ? max(index + length, 0) : min(index, length); // 1394 - }; // 1395 - // 1396 -/***/ }, // 1397 -/* 72 */ // 1398 -/***/ function(module, exports, __webpack_require__) { // 1399 - // 1400 - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) // 1401 - var $def = __webpack_require__(8); // 1402 - // 1403 - $def($def.P, 'Array', {fill: __webpack_require__(73)}); // 1404 - // 1405 - __webpack_require__(67)('fill'); // 1406 - // 1407 -/***/ }, // 1408 -/* 73 */ // 1409 -/***/ function(module, exports, __webpack_require__) { // 1410 - // 1411 - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) // 1412 - 'use strict'; // 1413 - var toObject = __webpack_require__(30) // 1414 - , toIndex = __webpack_require__(71) // 1415 - , toLength = __webpack_require__(60); // 1416 - module.exports = [].fill || function fill(value /*, start = 0, end = @length */){ // 1417 - var O = toObject(this, true) // 1418 - , length = toLength(O.length) // 1419 - , index = toIndex(arguments[1], length) // 1420 - , end = arguments[2] // 1421 - , endPos = end === undefined ? length : toIndex(end, length); // 1422 - while(endPos > index)O[index++] = value; // 1423 - return O; // 1424 - }; // 1425 - // 1426 -/***/ }, // 1427 -/* 74 */ // 1428 -/***/ function(module, exports, __webpack_require__) { // 1429 - // 1430 - 'use strict'; // 1431 - // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) // 1432 - var KEY = 'find' // 1433 - , $def = __webpack_require__(8) // 1434 - , forced = true // 1435 - , $find = __webpack_require__(75)(5); // 1436 - // Shouldn't skip holes // 1437 - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); // 1438 - $def($def.P + $def.F * forced, 'Array', { // 1439 - find: function find(callbackfn/*, that = undefined */){ // 1440 - return $find(this, callbackfn, arguments[1]); // 1441 - } // 1442 - }); // 1443 - __webpack_require__(67)(KEY); // 1444 - // 1445 -/***/ }, // 1446 -/* 75 */ // 1447 -/***/ function(module, exports, __webpack_require__) { // 1448 - // 1449 - // 0 -> Array#forEach // 1450 - // 1 -> Array#map // 1451 - // 2 -> Array#filter // 1452 - // 3 -> Array#some // 1453 - // 4 -> Array#every // 1454 - // 5 -> Array#find // 1455 - // 6 -> Array#findIndex // 1456 - var ctx = __webpack_require__(35) // 1457 - , isObject = __webpack_require__(25) // 1458 - , IObject = __webpack_require__(19) // 1459 - , toObject = __webpack_require__(30) // 1460 - , toLength = __webpack_require__(60) // 1461 - , isArray = __webpack_require__(24) // 1462 - , SPECIES = __webpack_require__(16)('species'); // 1463 - // 9.4.2.3 ArraySpeciesCreate(originalArray, length) // 1464 - var ASC = function(original, length){ // 1465 - var C; // 1466 - if(isArray(original) && isObject(C = original.constructor)){ // 1467 - C = C[SPECIES]; // 1468 - if(C === null)C = undefined; // 1469 - } return new(C === undefined ? Array : C)(length); // 1470 - }; // 1471 - module.exports = function(TYPE){ // 1472 - var IS_MAP = TYPE == 1 // 1473 - , IS_FILTER = TYPE == 2 // 1474 - , IS_SOME = TYPE == 3 // 1475 - , IS_EVERY = TYPE == 4 // 1476 - , IS_FIND_INDEX = TYPE == 6 // 1477 - , NO_HOLES = TYPE == 5 || IS_FIND_INDEX; // 1478 - return function($this, callbackfn, that){ // 1479 - var O = toObject($this) // 1480 - , self = IObject(O) // 1481 - , f = ctx(callbackfn, that, 3) // 1482 - , length = toLength(self.length) // 1483 - , index = 0 // 1484 - , result = IS_MAP ? ASC($this, length) : IS_FILTER ? ASC($this, 0) : undefined // 1485 - , val, res; // 1486 - for(;length > index; index++)if(NO_HOLES || index in self){ // 1487 - val = self[index]; // 1488 - res = f(val, index, O); // 1489 - if(TYPE){ // 1490 - if(IS_MAP)result[index] = res; // map // 1491 - else if(res)switch(TYPE){ // 1492 - case 3: return true; // some // 1493 - case 5: return val; // find // 1494 - case 6: return index; // findIndex // 1495 - case 2: result.push(val); // filter // 1496 - } else if(IS_EVERY)return false; // every // 1497 - } // 1498 - } // 1499 - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; // 1500 - }; // 1501 - }; // 1502 - // 1503 -/***/ }, // 1504 -/* 76 */ // 1505 -/***/ function(module, exports, __webpack_require__) { // 1506 - // 1507 - 'use strict'; // 1508 - // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) // 1509 - var KEY = 'findIndex' // 1510 - , $def = __webpack_require__(8) // 1511 - , forced = true // 1512 - , $find = __webpack_require__(75)(6); // 1513 - // Shouldn't skip holes // 1514 - if(KEY in [])Array(1)[KEY](function(){ forced = false; }); // 1515 - $def($def.P + $def.F * forced, 'Array', { // 1516 - findIndex: function findIndex(callbackfn/*, that = undefined */){ // 1517 - return $find(this, callbackfn, arguments[1]); // 1518 - } // 1519 - }); // 1520 - __webpack_require__(67)(KEY); // 1521 - // 1522 -/***/ }, // 1523 -/* 77 */ // 1524 -/***/ function(module, exports, __webpack_require__) { // 1525 - // 1526 - __webpack_require__(78); // 1527 - __webpack_require__(79); // 1528 - __webpack_require__(80); // 1529 - __webpack_require__(51); // 1530 - __webpack_require__(82); // 1531 - __webpack_require__(83); // 1532 - __webpack_require__(87); // 1533 - __webpack_require__(88); // 1534 - __webpack_require__(90); // 1535 - __webpack_require__(91); // 1536 - __webpack_require__(93); // 1537 - __webpack_require__(94); // 1538 - __webpack_require__(95); // 1539 - module.exports = __webpack_require__(9).String; // 1540 - // 1541 -/***/ }, // 1542 -/* 78 */ // 1543 -/***/ function(module, exports, __webpack_require__) { // 1544 - // 1545 - var $def = __webpack_require__(8) // 1546 - , toIndex = __webpack_require__(71) // 1547 - , fromCharCode = String.fromCharCode // 1548 - , $fromCodePoint = String.fromCodePoint; // 1549 - // 1550 - // length should be 1, old FF problem // 1551 - $def($def.S + $def.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { // 1552 - // 21.1.2.2 String.fromCodePoint(...codePoints) // 1553 - fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars // 1554 - var res = [] // 1555 - , len = arguments.length // 1556 - , i = 0 // 1557 - , code; // 1558 - while(len > i){ // 1559 - code = +arguments[i++]; // 1560 - if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); // 1561 - res.push(code < 0x10000 // 1562 - ? fromCharCode(code) // 1563 - : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) // 1564 - ); // 1565 - } return res.join(''); // 1566 - } // 1567 - }); // 1568 - // 1569 -/***/ }, // 1570 -/* 79 */ // 1571 -/***/ function(module, exports, __webpack_require__) { // 1572 - // 1573 - var $def = __webpack_require__(8) // 1574 - , toIObject = __webpack_require__(18) // 1575 - , toLength = __webpack_require__(60); // 1576 - // 1577 - $def($def.S, 'String', { // 1578 - // 21.1.2.4 String.raw(callSite, ...substitutions) // 1579 - raw: function raw(callSite){ // 1580 - var tpl = toIObject(callSite.raw) // 1581 - , len = toLength(tpl.length) // 1582 - , sln = arguments.length // 1583 - , res = [] // 1584 - , i = 0; // 1585 - while(len > i){ // 1586 - res.push(String(tpl[i++])); // 1587 - if(i < sln)res.push(String(arguments[i])); // 1588 - } return res.join(''); // 1589 - } // 1590 - }); // 1591 - // 1592 -/***/ }, // 1593 -/* 80 */ // 1594 -/***/ function(module, exports, __webpack_require__) { // 1595 - // 1596 - 'use strict'; // 1597 - // 21.1.3.25 String.prototype.trim() // 1598 - __webpack_require__(81)('trim', function($trim){ // 1599 - return function trim(){ // 1600 - return $trim(this, 3); // 1601 - }; // 1602 - }); // 1603 - // 1604 -/***/ }, // 1605 -/* 81 */ // 1606 -/***/ function(module, exports, __webpack_require__) { // 1607 - // 1608 - // 1 -> String#trimLeft // 1609 - // 2 -> String#trimRight // 1610 - // 3 -> String#trim // 1611 - var trim = function(string, TYPE){ // 1612 - string = String(defined(string)); // 1613 - if(TYPE & 1)string = string.replace(ltrim, ''); // 1614 - if(TYPE & 2)string = string.replace(rtrim, ''); // 1615 - return string; // 1616 - }; // 1617 - // 1618 - var $def = __webpack_require__(8) // 1619 - , defined = __webpack_require__(21) // 1620 - , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + // 1621 - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF' // 1622 - , space = '[' + spaces + ']' // 1623 - , non = '\u200b\u0085' // 1624 - , ltrim = RegExp('^' + space + space + '*') // 1625 - , rtrim = RegExp(space + space + '*$'); // 1626 - // 1627 - module.exports = function(KEY, exec){ // 1628 - var exp = {}; // 1629 - exp[KEY] = exec(trim); // 1630 - $def($def.P + $def.F * __webpack_require__(7)(function(){ // 1631 - return !!spaces[KEY]() || non[KEY]() != non; // 1632 - }), 'String', exp); // 1633 - }; // 1634 - // 1635 -/***/ }, // 1636 -/* 82 */ // 1637 -/***/ function(module, exports, __webpack_require__) { // 1638 - // 1639 - 'use strict'; // 1640 - var $def = __webpack_require__(8) // 1641 - , $at = __webpack_require__(52)(false); // 1642 - $def($def.P, 'String', { // 1643 - // 21.1.3.3 String.prototype.codePointAt(pos) // 1644 - codePointAt: function codePointAt(pos){ // 1645 - return $at(this, pos); // 1646 - } // 1647 - }); // 1648 - // 1649 -/***/ }, // 1650 -/* 83 */ // 1651 -/***/ function(module, exports, __webpack_require__) { // 1652 - // 1653 - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) // 1654 - 'use strict'; // 1655 - var $def = __webpack_require__(8) // 1656 - , toLength = __webpack_require__(60) // 1657 - , context = __webpack_require__(84) // 1658 - , ENDS_WITH = 'endsWith' // 1659 - , $endsWith = ''[ENDS_WITH]; // 1660 - // 1661 - $def($def.P + $def.F * __webpack_require__(86)(ENDS_WITH), 'String', { // 1662 - endsWith: function endsWith(searchString /*, endPosition = @length */){ // 1663 - var that = context(this, searchString, ENDS_WITH) // 1664 - , endPosition = arguments[1] // 1665 - , len = toLength(that.length) // 1666 - , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) // 1667 - , search = String(searchString); // 1668 - return $endsWith // 1669 - ? $endsWith.call(that, search, end) // 1670 - : that.slice(end - search.length, end) === search; // 1671 - } // 1672 - }); // 1673 - // 1674 -/***/ }, // 1675 -/* 84 */ // 1676 -/***/ function(module, exports, __webpack_require__) { // 1677 - // 1678 - // helper for String#{startsWith, endsWith, includes} // 1679 - var isRegExp = __webpack_require__(85) // 1680 - , defined = __webpack_require__(21); // 1681 - // 1682 - module.exports = function(that, searchString, NAME){ // 1683 - if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); // 1684 - return String(defined(that)); // 1685 - }; // 1686 - // 1687 -/***/ }, // 1688 -/* 85 */ // 1689 -/***/ function(module, exports, __webpack_require__) { // 1690 - // 1691 - // 7.2.8 IsRegExp(argument) // 1692 - var isObject = __webpack_require__(25) // 1693 - , cof = __webpack_require__(20) // 1694 - , MATCH = __webpack_require__(16)('match'); // 1695 - module.exports = function(it){ // 1696 - var isRegExp; // 1697 - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); // 1698 - }; // 1699 - // 1700 -/***/ }, // 1701 -/* 86 */ // 1702 -/***/ function(module, exports, __webpack_require__) { // 1703 - // 1704 - module.exports = function(KEY){ // 1705 - var re = /./; // 1706 - try { // 1707 - '/./'[KEY](re); // 1708 - } catch(e){ // 1709 - try { // 1710 - re[__webpack_require__(16)('match')] = false; // 1711 - return !'/./'[KEY](re); // 1712 - } catch(e){ /* empty */ } // 1713 - } return true; // 1714 - }; // 1715 - // 1716 -/***/ }, // 1717 -/* 87 */ // 1718 -/***/ function(module, exports, __webpack_require__) { // 1719 - // 1720 - // 21.1.3.7 String.prototype.includes(searchString, position = 0) // 1721 - 'use strict'; // 1722 - var $def = __webpack_require__(8) // 1723 - , context = __webpack_require__(84) // 1724 - , INCLUDES = 'includes'; // 1725 - // 1726 - $def($def.P + $def.F * __webpack_require__(86)(INCLUDES), 'String', { // 1727 - includes: function includes(searchString /*, position = 0 */){ // 1728 - return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments[1]); // 1729 - } // 1730 - }); // 1731 - // 1732 -/***/ }, // 1733 -/* 88 */ // 1734 -/***/ function(module, exports, __webpack_require__) { // 1735 - // 1736 - var $def = __webpack_require__(8); // 1737 - // 1738 - $def($def.P, 'String', { // 1739 - // 21.1.3.13 String.prototype.repeat(count) // 1740 - repeat: __webpack_require__(89) // 1741 - }); // 1742 - // 1743 -/***/ }, // 1744 -/* 89 */ // 1745 -/***/ function(module, exports, __webpack_require__) { // 1746 - // 1747 - 'use strict'; // 1748 - var toInteger = __webpack_require__(53) // 1749 - , defined = __webpack_require__(21); // 1750 - // 1751 - module.exports = function repeat(count){ // 1752 - var str = String(defined(this)) // 1753 - , res = '' // 1754 - , n = toInteger(count); // 1755 - if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); // 1756 - for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; // 1757 - return res; // 1758 - }; // 1759 - // 1760 -/***/ }, // 1761 -/* 90 */ // 1762 -/***/ function(module, exports, __webpack_require__) { // 1763 - // 1764 - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) // 1765 - 'use strict'; // 1766 - var $def = __webpack_require__(8) // 1767 - , toLength = __webpack_require__(60) // 1768 - , context = __webpack_require__(84) // 1769 - , STARTS_WITH = 'startsWith' // 1770 - , $startsWith = ''[STARTS_WITH]; // 1771 - // 1772 - $def($def.P + $def.F * __webpack_require__(86)(STARTS_WITH), 'String', { // 1773 - startsWith: function startsWith(searchString /*, position = 0 */){ // 1774 - var that = context(this, searchString, STARTS_WITH) // 1775 - , index = toLength(Math.min(arguments[1], that.length)) // 1776 - , search = String(searchString); // 1777 - return $startsWith // 1778 - ? $startsWith.call(that, search, index) // 1779 - : that.slice(index, index + search.length) === search; // 1780 - } // 1781 - }); // 1782 - // 1783 -/***/ }, // 1784 -/* 91 */ // 1785 -/***/ function(module, exports, __webpack_require__) { // 1786 - // 1787 - // @@match logic // 1788 - __webpack_require__(92)('match', 1, function(defined, MATCH){ // 1789 - // 21.1.3.11 String.prototype.match(regexp) // 1790 - return function match(regexp){ // 1791 - 'use strict'; // 1792 - var O = defined(this) // 1793 - , fn = regexp == undefined ? undefined : regexp[MATCH]; // 1794 - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); // 1795 - }; // 1796 - }); // 1797 - // 1798 -/***/ }, // 1799 -/* 92 */ // 1800 -/***/ function(module, exports, __webpack_require__) { // 1801 - // 1802 - 'use strict'; // 1803 - module.exports = function(KEY, length, exec){ // 1804 - var defined = __webpack_require__(21) // 1805 - , SYMBOL = __webpack_require__(16)(KEY) // 1806 - , original = ''[KEY]; // 1807 - if(__webpack_require__(7)(function(){ // 1808 - var O = {}; // 1809 - O[SYMBOL] = function(){ return 7; }; // 1810 - return ''[KEY](O) != 7; // 1811 - })){ // 1812 - __webpack_require__(12)(String.prototype, KEY, exec(defined, SYMBOL, original)); // 1813 - __webpack_require__(10)(RegExp.prototype, SYMBOL, length == 2 // 1814 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) // 1815 - // 21.2.5.11 RegExp.prototype[@@split](string, limit) // 1816 - ? function(string, arg){ return original.call(string, this, arg); } // 1817 - // 21.2.5.6 RegExp.prototype[@@match](string) // 1818 - // 21.2.5.9 RegExp.prototype[@@search](string) // 1819 - : function(string){ return original.call(string, this); } // 1820 - ); // 1821 - } // 1822 - }; // 1823 - // 1824 -/***/ }, // 1825 -/* 93 */ // 1826 -/***/ function(module, exports, __webpack_require__) { // 1827 - // 1828 - // @@replace logic // 1829 - __webpack_require__(92)('replace', 2, function(defined, REPLACE, $replace){ // 1830 - // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) // 1831 - return function replace(searchValue, replaceValue){ // 1832 - 'use strict'; // 1833 - var O = defined(this) // 1834 - , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; // 1835 - return fn !== undefined // 1836 - ? fn.call(searchValue, O, replaceValue) // 1837 - : $replace.call(String(O), searchValue, replaceValue); // 1838 - }; // 1839 - }); // 1840 - // 1841 -/***/ }, // 1842 -/* 94 */ // 1843 -/***/ function(module, exports, __webpack_require__) { // 1844 - // 1845 - // @@search logic // 1846 - __webpack_require__(92)('search', 1, function(defined, SEARCH){ // 1847 - // 21.1.3.15 String.prototype.search(regexp) // 1848 - return function search(regexp){ // 1849 - 'use strict'; // 1850 - var O = defined(this) // 1851 - , fn = regexp == undefined ? undefined : regexp[SEARCH]; // 1852 - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); // 1853 - }; // 1854 - }); // 1855 - // 1856 -/***/ }, // 1857 -/* 95 */ // 1858 -/***/ function(module, exports, __webpack_require__) { // 1859 - // 1860 - // @@split logic // 1861 - __webpack_require__(92)('split', 2, function(defined, SPLIT, $split){ // 1862 - // 21.1.3.17 String.prototype.split(separator, limit) // 1863 - return function split(separator, limit){ // 1864 - 'use strict'; // 1865 - var O = defined(this) // 1866 - , fn = separator == undefined ? undefined : separator[SPLIT]; // 1867 - return fn !== undefined // 1868 - ? fn.call(separator, O, limit) // 1869 - : $split.call(String(O), separator, limit); // 1870 - }; // 1871 - }); // 1872 - // 1873 -/***/ }, // 1874 -/* 96 */ // 1875 -/***/ function(module, exports, __webpack_require__) { // 1876 - // 1877 - __webpack_require__(97); // 1878 - __webpack_require__(98); // 1879 - module.exports = __webpack_require__(9).Function; // 1880 - // 1881 -/***/ }, // 1882 -/* 97 */ // 1883 -/***/ function(module, exports, __webpack_require__) { // 1884 - // 1885 - var setDesc = __webpack_require__(3).setDesc // 1886 - , createDesc = __webpack_require__(11) // 1887 - , has = __webpack_require__(5) // 1888 - , FProto = Function.prototype // 1889 - , nameRE = /^\s*function ([^ (]*)/ // 1890 - , NAME = 'name'; // 1891 - // 19.2.4.2 name // 1892 - NAME in FProto || __webpack_require__(6) && setDesc(FProto, NAME, { // 1893 - configurable: true, // 1894 - get: function(){ // 1895 - var match = ('' + this).match(nameRE) // 1896 - , name = match ? match[1] : ''; // 1897 - has(this, NAME) || setDesc(this, NAME, createDesc(5, name)); // 1898 - return name; // 1899 - } // 1900 - }); // 1901 - // 1902 -/***/ }, // 1903 -/* 98 */ // 1904 -/***/ function(module, exports, __webpack_require__) { // 1905 - // 1906 - 'use strict'; // 1907 - var $ = __webpack_require__(3) // 1908 - , isObject = __webpack_require__(25) // 1909 - , HAS_INSTANCE = __webpack_require__(16)('hasInstance') // 1910 - , FunctionProto = Function.prototype; // 1911 - // 19.2.3.6 Function.prototype[@@hasInstance](V) // 1912 - if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){ // 1913 - if(typeof this != 'function' || !isObject(O))return false; // 1914 - if(!isObject(this.prototype))return O instanceof this; // 1915 - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: // 1916 - while(O = $.getProto(O))if(this.prototype === O)return true; // 1917 - return false; // 1918 - }}); // 1919 - // 1920 -/***/ }, // 1921 -/* 99 */ // 1922 -/***/ function(module, exports, __webpack_require__) { // 1923 - // 1924 - __webpack_require__(2); // 1925 - module.exports = __webpack_require__(9).Symbol; // 1926 - // 1927 -/***/ }, // 1928 -/* 100 */ // 1929 -/***/ function(module, exports, __webpack_require__) { // 1930 - // 1931 - __webpack_require__(37); // 1932 - __webpack_require__(51); // 1933 - __webpack_require__(101); // 1934 - __webpack_require__(102); // 1935 - module.exports = __webpack_require__(9).Map; // 1936 - // 1937 -/***/ }, // 1938 -/* 101 */ // 1939 -/***/ function(module, exports, __webpack_require__) { // 1940 - // 1941 - __webpack_require__(66); // 1942 - var global = __webpack_require__(4) // 1943 - , hide = __webpack_require__(10) // 1944 - , Iterators = __webpack_require__(55) // 1945 - , ITERATOR = __webpack_require__(16)('iterator') // 1946 - , NL = global.NodeList // 1947 - , HTC = global.HTMLCollection // 1948 - , NLProto = NL && NL.prototype // 1949 - , HTCProto = HTC && HTC.prototype // 1950 - , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array; // 1951 - if(NL && !(ITERATOR in NLProto))hide(NLProto, ITERATOR, ArrayValues); // 1952 - if(HTC && !(ITERATOR in HTCProto))hide(HTCProto, ITERATOR, ArrayValues); // 1953 - // 1954 -/***/ }, // 1955 -/* 102 */ // 1956 -/***/ function(module, exports, __webpack_require__) { // 1957 - // 1958 - 'use strict'; // 1959 - var strong = __webpack_require__(103); // 1960 - // 1961 - // 23.1 Map Objects // 1962 - __webpack_require__(107)('Map', function(get){ // 1963 - return function Map(){ return get(this, arguments[0]); }; // 1964 - }, { // 1965 - // 23.1.3.6 Map.prototype.get(key) // 1966 - get: function get(key){ // 1967 - var entry = strong.getEntry(this, key); // 1968 - return entry && entry.v; // 1969 - }, // 1970 - // 23.1.3.9 Map.prototype.set(key, value) // 1971 - set: function set(key, value){ // 1972 - return strong.def(this, key === 0 ? 0 : key, value); // 1973 - } // 1974 - }, strong, true); // 1975 - // 1976 -/***/ }, // 1977 -/* 103 */ // 1978 -/***/ function(module, exports, __webpack_require__) { // 1979 - // 1980 - 'use strict'; // 1981 - var $ = __webpack_require__(3) // 1982 - , hide = __webpack_require__(10) // 1983 - , ctx = __webpack_require__(35) // 1984 - , species = __webpack_require__(65) // 1985 - , strictNew = __webpack_require__(104) // 1986 - , defined = __webpack_require__(21) // 1987 - , forOf = __webpack_require__(105) // 1988 - , step = __webpack_require__(68) // 1989 - , ID = __webpack_require__(13)('id') // 1990 - , $has = __webpack_require__(5) // 1991 - , isObject = __webpack_require__(25) // 1992 - , isExtensible = Object.isExtensible || isObject // 1993 - , SUPPORT_DESC = __webpack_require__(6) // 1994 - , SIZE = SUPPORT_DESC ? '_s' : 'size' // 1995 - , id = 0; // 1996 - // 1997 - var fastKey = function(it, create){ // 1998 - // return primitive with prefix // 1999 - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; // 2000 - if(!$has(it, ID)){ // 2001 - // can't set id to frozen object // 2002 - if(!isExtensible(it))return 'F'; // 2003 - // not necessary to add id // 2004 - if(!create)return 'E'; // 2005 - // add missing object id // 2006 - hide(it, ID, ++id); // 2007 - // return object id with prefix // 2008 - } return 'O' + it[ID]; // 2009 - }; // 2010 - // 2011 - var getEntry = function(that, key){ // 2012 - // fast case // 2013 - var index = fastKey(key), entry; // 2014 - if(index !== 'F')return that._i[index]; // 2015 - // frozen object case // 2016 - for(entry = that._f; entry; entry = entry.n){ // 2017 - if(entry.k == key)return entry; // 2018 - } // 2019 - }; // 2020 - // 2021 - module.exports = { // 2022 - getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ // 2023 - var C = wrapper(function(that, iterable){ // 2024 - strictNew(that, C, NAME); // 2025 - that._i = $.create(null); // index // 2026 - that._f = undefined; // first entry // 2027 - that._l = undefined; // last entry // 2028 - that[SIZE] = 0; // size // 2029 - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); // 2030 - }); // 2031 - __webpack_require__(106)(C.prototype, { // 2032 - // 23.1.3.1 Map.prototype.clear() // 2033 - // 23.2.3.2 Set.prototype.clear() // 2034 - clear: function clear(){ // 2035 - for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ // 2036 - entry.r = true; // 2037 - if(entry.p)entry.p = entry.p.n = undefined; // 2038 - delete data[entry.i]; // 2039 - } // 2040 - that._f = that._l = undefined; // 2041 - that[SIZE] = 0; // 2042 - }, // 2043 - // 23.1.3.3 Map.prototype.delete(key) // 2044 - // 23.2.3.4 Set.prototype.delete(value) // 2045 - 'delete': function(key){ // 2046 - var that = this // 2047 - , entry = getEntry(that, key); // 2048 - if(entry){ // 2049 - var next = entry.n // 2050 - , prev = entry.p; // 2051 - delete that._i[entry.i]; // 2052 - entry.r = true; // 2053 - if(prev)prev.n = next; // 2054 - if(next)next.p = prev; // 2055 - if(that._f == entry)that._f = next; // 2056 - if(that._l == entry)that._l = prev; // 2057 - that[SIZE]--; // 2058 - } return !!entry; // 2059 - }, // 2060 - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) // 2061 - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) // 2062 - forEach: function forEach(callbackfn /*, that = undefined */){ // 2063 - var f = ctx(callbackfn, arguments[1], 3) // 2064 - , entry; // 2065 - while(entry = entry ? entry.n : this._f){ // 2066 - f(entry.v, entry.k, this); // 2067 - // revert to the last existing entry // 2068 - while(entry && entry.r)entry = entry.p; // 2069 - } // 2070 - }, // 2071 - // 23.1.3.7 Map.prototype.has(key) // 2072 - // 23.2.3.7 Set.prototype.has(value) // 2073 - has: function has(key){ // 2074 - return !!getEntry(this, key); // 2075 - } // 2076 - }); // 2077 - if(SUPPORT_DESC)$.setDesc(C.prototype, 'size', { // 2078 - get: function(){ // 2079 - return defined(this[SIZE]); // 2080 - } // 2081 - }); // 2082 - return C; // 2083 - }, // 2084 - def: function(that, key, value){ // 2085 - var entry = getEntry(that, key) // 2086 - , prev, index; // 2087 - // change existing entry // 2088 - if(entry){ // 2089 - entry.v = value; // 2090 - // create new entry // 2091 - } else { // 2092 - that._l = entry = { // 2093 - i: index = fastKey(key, true), // <- index // 2094 - k: key, // <- key // 2095 - v: value, // <- value // 2096 - p: prev = that._l, // <- previous entry // 2097 - n: undefined, // <- next entry // 2098 - r: false // <- removed // 2099 - }; // 2100 - if(!that._f)that._f = entry; // 2101 - if(prev)prev.n = entry; // 2102 - that[SIZE]++; // 2103 - // add to index // 2104 - if(index !== 'F')that._i[index] = entry; // 2105 - } return that; // 2106 - }, // 2107 - getEntry: getEntry, // 2108 - setStrong: function(C, NAME, IS_MAP){ // 2109 - // add .keys, .values, .entries, [@@iterator] // 2110 - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 // 2111 - __webpack_require__(54)(C, NAME, function(iterated, kind){ // 2112 - this._t = iterated; // target // 2113 - this._k = kind; // kind // 2114 - this._l = undefined; // previous // 2115 - }, function(){ // 2116 - var that = this // 2117 - , kind = that._k // 2118 - , entry = that._l; // 2119 - // revert to the last existing entry // 2120 - while(entry && entry.r)entry = entry.p; // 2121 - // get next entry // 2122 - if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ // 2123 - // or finish the iteration // 2124 - that._t = undefined; // 2125 - return step(1); // 2126 - } // 2127 - // return step by kind // 2128 - if(kind == 'keys' )return step(0, entry.k); // 2129 - if(kind == 'values')return step(0, entry.v); // 2130 - return step(0, [entry.k, entry.v]); // 2131 - }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); // 2132 - // 2133 - // add [@@species], 23.1.2.2, 23.2.2.2 // 2134 - species(C); // 2135 - species(__webpack_require__(9)[NAME]); // for wrapper // 2136 - } // 2137 - }; // 2138 - // 2139 -/***/ }, // 2140 -/* 104 */ // 2141 -/***/ function(module, exports) { // 2142 - // 2143 - module.exports = function(it, Constructor, name){ // 2144 - if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!"); // 2145 - return it; // 2146 - }; // 2147 - // 2148 -/***/ }, // 2149 -/* 105 */ // 2150 -/***/ function(module, exports, __webpack_require__) { // 2151 - // 2152 - var ctx = __webpack_require__(35) // 2153 - , call = __webpack_require__(58) // 2154 - , isArrayIter = __webpack_require__(59) // 2155 - , anObject = __webpack_require__(26) // 2156 - , toLength = __webpack_require__(60) // 2157 - , getIterFn = __webpack_require__(61); // 2158 - module.exports = function(iterable, entries, fn, that){ // 2159 - var iterFn = getIterFn(iterable) // 2160 - , f = ctx(fn, that, entries ? 2 : 1) // 2161 - , index = 0 // 2162 - , length, step, iterator; // 2163 - if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); // 2164 - // fast case for arrays with default iterator // 2165 - if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ // 2166 - entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); // 2167 - } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ // 2168 - call(iterator, f, step.value, entries); // 2169 - } // 2170 - }; // 2171 - // 2172 -/***/ }, // 2173 -/* 106 */ // 2174 -/***/ function(module, exports, __webpack_require__) { // 2175 - // 2176 - var $redef = __webpack_require__(12); // 2177 - module.exports = function(target, src){ // 2178 - for(var key in src)$redef(target, key, src[key]); // 2179 - return target; // 2180 - }; // 2181 - // 2182 -/***/ }, // 2183 -/* 107 */ // 2184 -/***/ function(module, exports, __webpack_require__) { // 2185 - // 2186 - 'use strict'; // 2187 - var global = __webpack_require__(4) // 2188 - , $def = __webpack_require__(8) // 2189 - , forOf = __webpack_require__(105) // 2190 - , strictNew = __webpack_require__(104); // 2191 - // 2192 - module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ // 2193 - var Base = global[NAME] // 2194 - , C = Base // 2195 - , ADDER = IS_MAP ? 'set' : 'add' // 2196 - , proto = C && C.prototype // 2197 - , O = {}; // 2198 - var fixMethod = function(KEY){ // 2199 - var fn = proto[KEY]; // 2200 - __webpack_require__(12)(proto, KEY, // 2201 - KEY == 'delete' ? function(a){ return fn.call(this, a === 0 ? 0 : a); } // 2202 - : KEY == 'has' ? function has(a){ return fn.call(this, a === 0 ? 0 : a); } // 2203 - : KEY == 'get' ? function get(a){ return fn.call(this, a === 0 ? 0 : a); } // 2204 - : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } // 2205 - : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } // 2206 - ); // 2207 - }; // 2208 - if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !__webpack_require__(7)(function(){ // 2209 - new C().entries().next(); // 2210 - }))){ // 2211 - // create collection constructor // 2212 - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); // 2213 - __webpack_require__(106)(C.prototype, methods); // 2214 - } else { // 2215 - var inst = new C // 2216 - , chain = inst[ADDER](IS_WEAK ? {} : -0, 1) // 2217 - , buggyZero; // 2218 - // wrap for init collections from iterable // 2219 - if(!__webpack_require__(62)(function(iter){ new C(iter); })){ // eslint-disable-line no-new // 2220 - C = wrapper(function(target, iterable){ // 2221 - strictNew(target, C, NAME); // 2222 - var that = new Base; // 2223 - if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); // 2224 - return that; // 2225 - }); // 2226 - C.prototype = proto; // 2227 - proto.constructor = C; // 2228 - } // 2229 - IS_WEAK || inst.forEach(function(val, key){ // 2230 - buggyZero = 1 / key === -Infinity; // 2231 - }); // 2232 - // fix converting -0 key to +0 // 2233 - if(buggyZero){ // 2234 - fixMethod('delete'); // 2235 - fixMethod('has'); // 2236 - IS_MAP && fixMethod('get'); // 2237 - } // 2238 - // + fix .add & .set for chaining // 2239 - if(buggyZero || chain !== inst)fixMethod(ADDER); // 2240 - // weak collections should not contains .clear method // 2241 - if(IS_WEAK && proto.clear)delete proto.clear; // 2242 - } // 2243 - // 2244 - __webpack_require__(15)(C, NAME); // 2245 - // 2246 - O[NAME] = C; // 2247 - $def($def.G + $def.W + $def.F * (C != Base), O); // 2248 - // 2249 - if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); // 2250 - // 2251 - return C; // 2252 - }; // 2253 - // 2254 -/***/ }, // 2255 -/* 108 */ // 2256 -/***/ function(module, exports, __webpack_require__) { // 2257 - // 2258 - __webpack_require__(37); // 2259 - __webpack_require__(51); // 2260 - __webpack_require__(101); // 2261 - __webpack_require__(109); // 2262 - module.exports = __webpack_require__(9).Set; // 2263 - // 2264 -/***/ }, // 2265 -/* 109 */ // 2266 -/***/ function(module, exports, __webpack_require__) { // 2267 - // 2268 - 'use strict'; // 2269 - var strong = __webpack_require__(103); // 2270 - // 2271 - // 23.2 Set Objects // 2272 - __webpack_require__(107)('Set', function(get){ // 2273 - return function Set(){ return get(this, arguments[0]); }; // 2274 - }, { // 2275 - // 23.2.3.1 Set.prototype.add(value) // 2276 - add: function add(value){ // 2277 - return strong.def(this, value = value === 0 ? 0 : value, value); // 2278 - } // 2279 - }, strong); // 2280 - // 2281 -/***/ } // 2282 -/******/ ]); // 2283 - +var require = meteorInstall({"node_modules":{"meteor":{"ecmascript-runtime":{"runtime.js":["meteor-ecmascript-runtime",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// packages/ecmascript-runtime/runtime.js // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// TODO Allow just api.mainModule("meteor-ecmascript-runtime"); // 1 +module.exports = require("meteor-ecmascript-runtime"); // 2 + // 3 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"node_modules":{"meteor-ecmascript-runtime":{"package.json":function(require,exports){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// ../npm/node_modules/meteor-ecmascript-runtime/package.json // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +exports.name = "meteor-ecmascript-runtime"; // 1 +exports.version = "0.2.6"; // 2 +exports.main = "server.js"; // 3 + // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"server.js":["core-js/es6/object","core-js/es6/array","core-js/es6/string","core-js/es6/function","core-js/es6/symbol","core-js/es6/map","core-js/es6/set",function(require,exports){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/server.js // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require("core-js/es6/object"); // 1 +require("core-js/es6/array"); // 2 +require("core-js/es6/string"); // 3 +require("core-js/es6/function"); // 4 + // 5 +Symbol = exports.Symbol = require("core-js/es6/symbol"); // 6 +Map = exports.Map = require("core-js/es6/map"); // 7 +Set = exports.Set = require("core-js/es6/set"); // 8 + // 9 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"node_modules":{"core-js":{"es6":{"object.js":["../modules/es6.symbol","../modules/es6.object.assign","../modules/es6.object.is","../modules/es6.object.set-prototype-of","../modules/es6.object.to-string","../modules/es6.object.freeze","../modules/es6.object.seal","../modules/es6.object.prevent-extensions","../modules/es6.object.is-frozen","../modules/es6.object.is-sealed","../modules/es6.object.is-extensible","../modules/es6.object.get-own-property-descriptor","../modules/es6.object.get-prototype-of","../modules/es6.object.keys","../modules/es6.object.get-own-property-names","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.symbol'); // 1 +require('../modules/es6.object.assign'); // 2 +require('../modules/es6.object.is'); // 3 +require('../modules/es6.object.set-prototype-of'); // 4 +require('../modules/es6.object.to-string'); // 5 +require('../modules/es6.object.freeze'); // 6 +require('../modules/es6.object.seal'); // 7 +require('../modules/es6.object.prevent-extensions'); // 8 +require('../modules/es6.object.is-frozen'); // 9 +require('../modules/es6.object.is-sealed'); // 10 +require('../modules/es6.object.is-extensible'); // 11 +require('../modules/es6.object.get-own-property-descriptor'); // 12 +require('../modules/es6.object.get-prototype-of'); // 13 +require('../modules/es6.object.keys'); // 14 +require('../modules/es6.object.get-own-property-names'); // 15 + // 16 +module.exports = require('../modules/$.core').Object; // 17 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"array.js":["../modules/es6.string.iterator","../modules/es6.array.from","../modules/es6.array.of","../modules/es6.array.species","../modules/es6.array.iterator","../modules/es6.array.copy-within","../modules/es6.array.fill","../modules/es6.array.find","../modules/es6.array.find-index","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.string.iterator'); // 1 +require('../modules/es6.array.from'); // 2 +require('../modules/es6.array.of'); // 3 +require('../modules/es6.array.species'); // 4 +require('../modules/es6.array.iterator'); // 5 +require('../modules/es6.array.copy-within'); // 6 +require('../modules/es6.array.fill'); // 7 +require('../modules/es6.array.find'); // 8 +require('../modules/es6.array.find-index'); // 9 +module.exports = require('../modules/$.core').Array; // 10 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"string.js":["../modules/es6.string.from-code-point","../modules/es6.string.raw","../modules/es6.string.trim","../modules/es6.string.iterator","../modules/es6.string.code-point-at","../modules/es6.string.ends-with","../modules/es6.string.includes","../modules/es6.string.repeat","../modules/es6.string.starts-with","../modules/es6.regexp.match","../modules/es6.regexp.replace","../modules/es6.regexp.search","../modules/es6.regexp.split","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.string.from-code-point'); // 1 +require('../modules/es6.string.raw'); // 2 +require('../modules/es6.string.trim'); // 3 +require('../modules/es6.string.iterator'); // 4 +require('../modules/es6.string.code-point-at'); // 5 +require('../modules/es6.string.ends-with'); // 6 +require('../modules/es6.string.includes'); // 7 +require('../modules/es6.string.repeat'); // 8 +require('../modules/es6.string.starts-with'); // 9 +require('../modules/es6.regexp.match'); // 10 +require('../modules/es6.regexp.replace'); // 11 +require('../modules/es6.regexp.search'); // 12 +require('../modules/es6.regexp.split'); // 13 +module.exports = require('../modules/$.core').String; // 14 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"function.js":["../modules/es6.function.name","../modules/es6.function.has-instance","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.function.name'); // 1 +require('../modules/es6.function.has-instance'); // 2 +module.exports = require('../modules/$.core').Function; // 3 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"symbol.js":["../modules/es6.symbol","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.symbol'); // 1 +module.exports = require('../modules/$.core').Symbol; // 2 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"map.js":["../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/web.dom.iterable","../modules/es6.map","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.object.to-string'); // 1 +require('../modules/es6.string.iterator'); // 2 +require('../modules/web.dom.iterable'); // 3 +require('../modules/es6.map'); // 4 +module.exports = require('../modules/$.core').Map; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"set.js":["../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/web.dom.iterable","../modules/es6.set","../modules/$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('../modules/es6.object.to-string'); // 1 +require('../modules/es6.string.iterator'); // 2 +require('../modules/web.dom.iterable'); // 3 +require('../modules/es6.set'); // 4 +module.exports = require('../modules/$.core').Set; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}]},"modules":{"es6.symbol.js":["./$","./$.global","./$.has","./$.support-desc","./$.def","./$.redef","./$.fails","./$.shared","./$.tag","./$.uid","./$.wks","./$.keyof","./$.get-names","./$.enum-keys","./$.is-array","./$.is-object","./$.an-object","./$.to-iobject","./$.property-desc","./$.library",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +// ECMAScript 6 symbols shim // 2 +var $ = require('./$') // 3 + , global = require('./$.global') // 4 + , has = require('./$.has') // 5 + , SUPPORT_DESC = require('./$.support-desc') // 6 + , $def = require('./$.def') // 7 + , $redef = require('./$.redef') // 8 + , $fails = require('./$.fails') // 9 + , shared = require('./$.shared') // 10 + , setTag = require('./$.tag') // 11 + , uid = require('./$.uid') // 12 + , wks = require('./$.wks') // 13 + , keyOf = require('./$.keyof') // 14 + , $names = require('./$.get-names') // 15 + , enumKeys = require('./$.enum-keys') // 16 + , isArray = require('./$.is-array') // 17 + , isObject = require('./$.is-object') // 18 + , anObject = require('./$.an-object') // 19 + , toIObject = require('./$.to-iobject') // 20 + , createDesc = require('./$.property-desc') // 21 + , getDesc = $.getDesc // 22 + , setDesc = $.setDesc // 23 + , _create = $.create // 24 + , getNames = $names.get // 25 + , $Symbol = global.Symbol // 26 + , $JSON = global.JSON // 27 + , _stringify = $JSON && $JSON.stringify // 28 + , setter = false // 29 + , HIDDEN = wks('_hidden') // 30 + , isEnum = $.isEnum // 31 + , SymbolRegistry = shared('symbol-registry') // 32 + , AllSymbols = shared('symbols') // 33 + , useNative = typeof $Symbol == 'function' // 34 + , ObjectProto = Object.prototype; // 35 + // 36 +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 // 37 +var setSymbolDesc = SUPPORT_DESC && $fails(function(){ // 38 + return _create(setDesc({}, 'a', { // 39 + get: function(){ return setDesc(this, 'a', {value: 7}).a; } // 40 + })).a != 7; // 41 +}) ? function(it, key, D){ // 42 + var protoDesc = getDesc(ObjectProto, key); // 43 + if(protoDesc)delete ObjectProto[key]; // 44 + setDesc(it, key, D); // 45 + if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc); // 46 +} : setDesc; // 47 + // 48 +var wrap = function(tag){ // 49 + var sym = AllSymbols[tag] = _create($Symbol.prototype); // 50 + sym._k = tag; // 51 + SUPPORT_DESC && setter && setSymbolDesc(ObjectProto, tag, { // 52 + configurable: true, // 53 + set: function(value){ // 54 + if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; // 55 + setSymbolDesc(this, tag, createDesc(1, value)); // 56 + } // 57 + }); // 58 + return sym; // 59 +}; // 60 + // 61 +var isSymbol = function(it){ // 62 + return typeof it == 'symbol'; // 63 +}; // 64 + // 65 +var $defineProperty = function defineProperty(it, key, D){ // 66 + if(D && has(AllSymbols, key)){ // 67 + if(!D.enumerable){ // 68 + if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {})); // 69 + it[HIDDEN][key] = true; // 70 + } else { // 71 + if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; // 72 + D = _create(D, {enumerable: createDesc(0, false)}); // 73 + } return setSymbolDesc(it, key, D); // 74 + } return setDesc(it, key, D); // 75 +}; // 76 +var $defineProperties = function defineProperties(it, P){ // 77 + anObject(it); // 78 + var keys = enumKeys(P = toIObject(P)) // 79 + , i = 0 // 80 + , l = keys.length // 81 + , key; // 82 + while(l > i)$defineProperty(it, key = keys[i++], P[key]); // 83 + return it; // 84 +}; // 85 +var $create = function create(it, P){ // 86 + return P === undefined ? _create(it) : $defineProperties(_create(it), P); // 87 +}; // 88 +var $propertyIsEnumerable = function propertyIsEnumerable(key){ // 89 + var E = isEnum.call(this, key); // 90 + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] // 91 + ? E : true; // 92 +}; // 93 +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ // 94 + var D = getDesc(it = toIObject(it), key); // 95 + if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; // 96 + return D; // 97 +}; // 98 +var $getOwnPropertyNames = function getOwnPropertyNames(it){ // 99 + var names = getNames(toIObject(it)) // 100 + , result = [] // 101 + , i = 0 // 102 + , key; // 103 + while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key); // 104 + return result; // 105 +}; // 106 +var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ // 107 + var names = getNames(toIObject(it)) // 108 + , result = [] // 109 + , i = 0 // 110 + , key; // 111 + while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]); // 112 + return result; // 113 +}; // 114 +var $stringify = function stringify(it){ // 115 + var args = [it] // 116 + , i = 1 // 117 + , replacer, $replacer; // 118 + while(arguments.length > i)args.push(arguments[i++]); // 119 + replacer = args[1]; // 120 + if(typeof replacer == 'function')$replacer = replacer; // 121 + if($replacer || !isArray(replacer))replacer = function(key, value){ // 122 + if($replacer)value = $replacer.call(this, key, value); // 123 + if(!isSymbol(value))return value; // 124 + }; // 125 + args[1] = replacer; // 126 + return _stringify.apply($JSON, args); // 127 +}; // 128 +var buggyJSON = $fails(function(){ // 129 + var S = $Symbol(); // 130 + // MS Edge converts symbol values to JSON as {} // 131 + // WebKit converts symbol values to JSON as null // 132 + // V8 throws on boxed symbols // 133 + return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; +}); // 135 + // 136 +// 19.4.1.1 Symbol([description]) // 137 +if(!useNative){ // 138 + $Symbol = function Symbol(){ // 139 + if(isSymbol(this))throw TypeError('Symbol is not a constructor'); // 140 + return wrap(uid(arguments[0])); // 141 + }; // 142 + $redef($Symbol.prototype, 'toString', function toString(){ // 143 + return this._k; // 144 + }); // 145 + // 146 + isSymbol = function(it){ // 147 + return it instanceof $Symbol; // 148 + }; // 149 + // 150 + $.create = $create; // 151 + $.isEnum = $propertyIsEnumerable; // 152 + $.getDesc = $getOwnPropertyDescriptor; // 153 + $.setDesc = $defineProperty; // 154 + $.setDescs = $defineProperties; // 155 + $.getNames = $names.get = $getOwnPropertyNames; // 156 + $.getSymbols = $getOwnPropertySymbols; // 157 + // 158 + if(SUPPORT_DESC && !require('./$.library')){ // 159 + $redef(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); // 160 + } // 161 +} // 162 + // 163 +var symbolStatics = { // 164 + // 19.4.2.1 Symbol.for(key) // 165 + 'for': function(key){ // 166 + return has(SymbolRegistry, key += '') // 167 + ? SymbolRegistry[key] // 168 + : SymbolRegistry[key] = $Symbol(key); // 169 + }, // 170 + // 19.4.2.5 Symbol.keyFor(sym) // 171 + keyFor: function keyFor(key){ // 172 + return keyOf(SymbolRegistry, key); // 173 + }, // 174 + useSetter: function(){ setter = true; }, // 175 + useSimple: function(){ setter = false; } // 176 +}; // 177 +// 19.4.2.2 Symbol.hasInstance // 178 +// 19.4.2.3 Symbol.isConcatSpreadable // 179 +// 19.4.2.4 Symbol.iterator // 180 +// 19.4.2.6 Symbol.match // 181 +// 19.4.2.8 Symbol.replace // 182 +// 19.4.2.9 Symbol.search // 183 +// 19.4.2.10 Symbol.species // 184 +// 19.4.2.11 Symbol.split // 185 +// 19.4.2.12 Symbol.toPrimitive // 186 +// 19.4.2.13 Symbol.toStringTag // 187 +// 19.4.2.14 Symbol.unscopables // 188 +$.each.call(( // 189 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + // 190 + 'species,split,toPrimitive,toStringTag,unscopables' // 191 + ).split(','), function(it){ // 192 + var sym = wks(it); // 193 + symbolStatics[it] = useNative ? sym : wrap(sym); // 194 + } // 195 +); // 196 + // 197 +setter = true; // 198 + // 199 +$def($def.G + $def.W, {Symbol: $Symbol}); // 200 + // 201 +$def($def.S, 'Symbol', symbolStatics); // 202 + // 203 +$def($def.S + $def.F * !useNative, 'Object', { // 204 + // 19.1.2.2 Object.create(O [, Properties]) // 205 + create: $create, // 206 + // 19.1.2.4 Object.defineProperty(O, P, Attributes) // 207 + defineProperty: $defineProperty, // 208 + // 19.1.2.3 Object.defineProperties(O, Properties) // 209 + defineProperties: $defineProperties, // 210 + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) // 211 + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, // 212 + // 19.1.2.7 Object.getOwnPropertyNames(O) // 213 + getOwnPropertyNames: $getOwnPropertyNames, // 214 + // 19.1.2.8 Object.getOwnPropertySymbols(O) // 215 + getOwnPropertySymbols: $getOwnPropertySymbols // 216 +}); // 217 + // 218 +// 24.3.2 JSON.stringify(value [, replacer [, space]]) // 219 +$JSON && $def($def.S + $def.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify}); // 220 + // 221 +// 19.4.3.5 Symbol.prototype[@@toStringTag] // 222 +setTag($Symbol, 'Symbol'); // 223 +// 20.2.1.9 Math[@@toStringTag] // 224 +setTag(Math, 'Math', true); // 225 +// 24.3.3 JSON[@@toStringTag] // 226 +setTag(global.JSON, 'JSON', true); // 227 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $Object = Object; // 1 +module.exports = { // 2 + create: $Object.create, // 3 + getProto: $Object.getPrototypeOf, // 4 + isEnum: {}.propertyIsEnumerable, // 5 + getDesc: $Object.getOwnPropertyDescriptor, // 6 + setDesc: $Object.defineProperty, // 7 + setDescs: $Object.defineProperties, // 8 + getKeys: $Object.keys, // 9 + getNames: $Object.getOwnPropertyNames, // 10 + getSymbols: $Object.getOwnPropertySymbols, // 11 + each: [].forEach // 12 +}; // 13 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.global.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 // 1 +var UNDEFINED = 'undefined'; // 2 +var global = module.exports = typeof window != UNDEFINED && window.Math == Math // 3 + ? window : typeof self != UNDEFINED && self.Math == Math ? self : Function('return this')(); // 4 +if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.has.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var hasOwnProperty = {}.hasOwnProperty; // 1 +module.exports = function(it, key){ // 2 + return hasOwnProperty.call(it, key); // 3 +}; // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.support-desc.js":["./$.fails",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// Thank's IE8 for his funny defineProperty // 1 +module.exports = !require('./$.fails')(function(){ // 2 + return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; // 3 +}); // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.fails.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(exec){ // 1 + try { // 2 + return !!exec(); // 3 + } catch(e){ // 4 + return true; // 5 + } // 6 +}; // 7 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.def.js":["./$.global","./$.core","./$.hide","./$.redef",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var global = require('./$.global') // 1 + , core = require('./$.core') // 2 + , hide = require('./$.hide') // 3 + , $redef = require('./$.redef') // 4 + , PROTOTYPE = 'prototype'; // 5 +var ctx = function(fn, that){ // 6 + return function(){ // 7 + return fn.apply(that, arguments); // 8 + }; // 9 +}; // 10 +var $def = function(type, name, source){ // 11 + var key, own, out, exp // 12 + , isGlobal = type & $def.G // 13 + , isProto = type & $def.P // 14 + , target = isGlobal ? global : type & $def.S // 15 + ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] // 16 + , exports = isGlobal ? core : core[name] || (core[name] = {}); // 17 + if(isGlobal)source = name; // 18 + for(key in source){ // 19 + // contains in native // 20 + own = !(type & $def.F) && target && key in target; // 21 + // export native or passed // 22 + out = (own ? target : source)[key]; // 23 + // bind timers to global for call from export context // 24 + if(type & $def.B && own)exp = ctx(out, global); // 25 + else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out; // 26 + // extend global // 27 + if(target && !own)$redef(target, key, out); // 28 + // export // 29 + if(exports[key] != out)hide(exports, key, exp); // 30 + if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out; // 31 + } // 32 +}; // 33 +global.core = core; // 34 +// type bitmap // 35 +$def.F = 1; // forced // 36 +$def.G = 2; // global // 37 +$def.S = 4; // static // 38 +$def.P = 8; // proto // 39 +$def.B = 16; // bind // 40 +$def.W = 32; // wrap // 41 +module.exports = $def; // 42 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.core.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var core = module.exports = {version: '1.2.1'}; // 1 +if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef // 2 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.hide.js":["./$","./$.property-desc","./$.support-desc",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $ = require('./$') // 1 + , createDesc = require('./$.property-desc'); // 2 +module.exports = require('./$.support-desc') ? function(object, key, value){ // 3 + return $.setDesc(object, key, createDesc(1, value)); // 4 +} : function(object, key, value){ // 5 + object[key] = value; // 6 + return object; // 7 +}; // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.property-desc.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(bitmap, value){ // 1 + return { // 2 + enumerable : !(bitmap & 1), // 3 + configurable: !(bitmap & 2), // 4 + writable : !(bitmap & 4), // 5 + value : value // 6 + }; // 7 +}; // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.redef.js":["./$.global","./$.hide","./$.uid","./$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// add fake Function#toString // 1 +// for correct work wrapped methods / constructors with methods like LoDash isNative // 2 +var global = require('./$.global') // 3 + , hide = require('./$.hide') // 4 + , SRC = require('./$.uid')('src') // 5 + , TO_STRING = 'toString' // 6 + , $toString = Function[TO_STRING] // 7 + , TPL = ('' + $toString).split(TO_STRING); // 8 + // 9 +require('./$.core').inspectSource = function(it){ // 10 + return $toString.call(it); // 11 +}; // 12 + // 13 +(module.exports = function(O, key, val, safe){ // 14 + if(typeof val == 'function'){ // 15 + hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); // 16 + if(!('name' in val))val.name = key; // 17 + } // 18 + if(O === global){ // 19 + O[key] = val; // 20 + } else { // 21 + if(!safe)delete O[key]; // 22 + hide(O, key, val); // 23 + } // 24 +})(Function.prototype, TO_STRING, function toString(){ // 25 + return typeof this == 'function' && this[SRC] || $toString.call(this); // 26 +}); // 27 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.uid.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var id = 0 // 1 + , px = Math.random(); // 2 +module.exports = function(key){ // 3 + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.shared.js":["./$.global",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var global = require('./$.global') // 1 + , SHARED = '__core-js_shared__' // 2 + , store = global[SHARED] || (global[SHARED] = {}); // 3 +module.exports = function(key){ // 4 + return store[key] || (store[key] = {}); // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.tag.js":["./$.has","./$.hide","./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var has = require('./$.has') // 1 + , hide = require('./$.hide') // 2 + , TAG = require('./$.wks')('toStringTag'); // 3 + // 4 +module.exports = function(it, tag, stat){ // 5 + if(it && !has(it = stat ? it : it.prototype, TAG))hide(it, TAG, tag); // 6 +}; // 7 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.wks.js":["./$.shared","./$.global","./$.uid",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var store = require('./$.shared')('wks') // 1 + , Symbol = require('./$.global').Symbol; // 2 +module.exports = function(name){ // 3 + return store[name] || (store[name] = // 4 + Symbol && Symbol[name] || (Symbol || require('./$.uid'))('Symbol.' + name)); // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.keyof.js":["./$","./$.to-iobject",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $ = require('./$') // 1 + , toIObject = require('./$.to-iobject'); // 2 +module.exports = function(object, el){ // 3 + var O = toIObject(object) // 4 + , keys = $.getKeys(O) // 5 + , length = keys.length // 6 + , index = 0 // 7 + , key; // 8 + while(length > index)if(O[key = keys[index++]] === el)return key; // 9 +}; // 10 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.to-iobject.js":["./$.iobject","./$.defined",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// to indexed object, toObject with fallback for non-array-like ES3 strings // 1 +var IObject = require('./$.iobject') // 2 + , defined = require('./$.defined'); // 3 +module.exports = function(it){ // 4 + return IObject(defined(it)); // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.iobject.js":["./$.cof",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// indexed object, fallback for non-array-like ES3 strings // 1 +var cof = require('./$.cof'); // 2 +module.exports = 0 in Object('z') ? Object : function(it){ // 3 + return cof(it) == 'String' ? it.split('') : Object(it); // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.cof.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var toString = {}.toString; // 1 + // 2 +module.exports = function(it){ // 3 + return toString.call(it).slice(8, -1); // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.defined.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 7.2.1 RequireObjectCoercible(argument) // 1 +module.exports = function(it){ // 2 + if(it == undefined)throw TypeError("Can't call method on " + it); // 3 + return it; // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.get-names.js":["./$.to-iobject","./$",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window // 1 +var toString = {}.toString // 2 + , toIObject = require('./$.to-iobject') // 3 + , getNames = require('./$').getNames; // 4 + // 5 +var windowNames = typeof window == 'object' && Object.getOwnPropertyNames // 6 + ? Object.getOwnPropertyNames(window) : []; // 7 + // 8 +var getWindowNames = function(it){ // 9 + try { // 10 + return getNames(it); // 11 + } catch(e){ // 12 + return windowNames.slice(); // 13 + } // 14 +}; // 15 + // 16 +module.exports.get = function getOwnPropertyNames(it){ // 17 + if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it); // 18 + return getNames(toIObject(it)); // 19 +}; // 20 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.enum-keys.js":["./$",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// all enumerable object keys, includes symbols // 1 +var $ = require('./$'); // 2 +module.exports = function(it){ // 3 + var keys = $.getKeys(it) // 4 + , getSymbols = $.getSymbols; // 5 + if(getSymbols){ // 6 + var symbols = getSymbols(it) // 7 + , isEnum = $.isEnum // 8 + , i = 0 // 9 + , key; // 10 + while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key); // 11 + } // 12 + return keys; // 13 +}; // 14 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.is-array.js":["./$.cof",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 7.2.2 IsArray(argument) // 1 +var cof = require('./$.cof'); // 2 +module.exports = Array.isArray || function(arg){ // 3 + return cof(arg) == 'Array'; // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.is-object.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(it){ // 1 + return typeof it === 'object' ? it !== null : typeof it === 'function'; // 2 +}; // 3 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.an-object.js":["./$.is-object",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var isObject = require('./$.is-object'); // 1 +module.exports = function(it){ // 2 + if(!isObject(it))throw TypeError(it + ' is not an object!'); // 3 + return it; // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.library.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = false; // 1 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"es6.object.assign.js":["./$.def","./$.assign",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.3.1 Object.assign(target, source) // 1 +var $def = require('./$.def'); // 2 + // 3 +$def($def.S + $def.F, 'Object', {assign: require('./$.assign')}); // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.assign.js":["./$.to-object","./$.iobject","./$.enum-keys","./$.has","./$.fails",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.1 Object.assign(target, source, ...) // 1 +var toObject = require('./$.to-object') // 2 + , IObject = require('./$.iobject') // 3 + , enumKeys = require('./$.enum-keys') // 4 + , has = require('./$.has'); // 5 + // 6 +// should work with symbols and should have deterministic property order (V8 bug) // 7 +module.exports = require('./$.fails')(function(){ // 8 + var a = Object.assign // 9 + , A = {} // 10 + , B = {} // 11 + , S = Symbol() // 12 + , K = 'abcdefghijklmnopqrst'; // 13 + A[S] = 7; // 14 + K.split('').forEach(function(k){ B[k] = k; }); // 15 + return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K; // 16 +}) ? function assign(target, source){ // eslint-disable-line no-unused-vars // 17 + var T = toObject(target) // 18 + , l = arguments.length // 19 + , i = 1; // 20 + while(l > i){ // 21 + var S = IObject(arguments[i++]) // 22 + , keys = enumKeys(S) // 23 + , length = keys.length // 24 + , j = 0 // 25 + , key; // 26 + while(length > j)if(has(S, key = keys[j++]))T[key] = S[key]; // 27 + } // 28 + return T; // 29 +} : Object.assign; // 30 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.to-object.js":["./$.defined",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 7.1.13 ToObject(argument) // 1 +var defined = require('./$.defined'); // 2 +module.exports = function(it){ // 3 + return Object(defined(it)); // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.is.js":["./$.def","./$.same",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.3.10 Object.is(value1, value2) // 1 +var $def = require('./$.def'); // 2 +$def($def.S, 'Object', { // 3 + is: require('./$.same') // 4 +}); // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.same.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = Object.is || function is(x, y){ // 1 + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; // 2 +}; // 3 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"es6.object.set-prototype-of.js":["./$.def","./$.set-proto",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.3.19 Object.setPrototypeOf(O, proto) // 1 +var $def = require('./$.def'); // 2 +$def($def.S, 'Object', {setPrototypeOf: require('./$.set-proto').set}); // 3 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.set-proto.js":["./$","./$.is-object","./$.an-object","./$.ctx",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// Works with __proto__ only. Old v8 can't work with null proto objects. // 1 +/* eslint-disable no-proto */ // 2 +var getDesc = require('./$').getDesc // 3 + , isObject = require('./$.is-object') // 4 + , anObject = require('./$.an-object'); // 5 +var check = function(O, proto){ // 6 + anObject(O); // 7 + if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); // 8 +}; // 9 +module.exports = { // 10 + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line no-proto // 11 + function(test, buggy, set){ // 12 + try { // 13 + set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2); // 14 + set(test, []); // 15 + buggy = !(test instanceof Array); // 16 + } catch(e){ buggy = true; } // 17 + return function setPrototypeOf(O, proto){ // 18 + check(O, proto); // 19 + if(buggy)O.__proto__ = proto; // 20 + else set(O, proto); // 21 + return O; // 22 + }; // 23 + }({}, false) : undefined), // 24 + check: check // 25 +}; // 26 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.ctx.js":["./$.a-function",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// optional / simple context binding // 1 +var aFunction = require('./$.a-function'); // 2 +module.exports = function(fn, that, length){ // 3 + aFunction(fn); // 4 + if(that === undefined)return fn; // 5 + switch(length){ // 6 + case 1: return function(a){ // 7 + return fn.call(that, a); // 8 + }; // 9 + case 2: return function(a, b){ // 10 + return fn.call(that, a, b); // 11 + }; // 12 + case 3: return function(a, b, c){ // 13 + return fn.call(that, a, b, c); // 14 + }; // 15 + } // 16 + return function(/* ...args */){ // 17 + return fn.apply(that, arguments); // 18 + }; // 19 +}; // 20 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.a-function.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(it){ // 1 + if(typeof it != 'function')throw TypeError(it + ' is not a function!'); // 2 + return it; // 3 +}; // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"es6.object.to-string.js":["./$.classof","./$.wks","./$.redef",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +// 19.1.3.6 Object.prototype.toString() // 2 +var classof = require('./$.classof') // 3 + , test = {}; // 4 +test[require('./$.wks')('toStringTag')] = 'z'; // 5 +if(test + '' != '[object z]'){ // 6 + require('./$.redef')(Object.prototype, 'toString', function toString(){ // 7 + return '[object ' + classof(this) + ']'; // 8 + }, true); // 9 +} // 10 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.classof.js":["./$.cof","./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// getting tag from 19.1.3.6 Object.prototype.toString() // 1 +var cof = require('./$.cof') // 2 + , TAG = require('./$.wks')('toStringTag') // 3 + // ES3 wrong here // 4 + , ARG = cof(function(){ return arguments; }()) == 'Arguments'; // 5 + // 6 +module.exports = function(it){ // 7 + var O, T, B; // 8 + return it === undefined ? 'Undefined' : it === null ? 'Null' // 9 + // @@toStringTag case // 10 + : typeof (T = (O = Object(it))[TAG]) == 'string' ? T // 11 + // builtinTag case // 12 + : ARG ? cof(O) // 13 + // ES3 arguments fallback // 14 + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; // 15 +}; // 16 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.freeze.js":["./$.is-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.5 Object.freeze(O) // 1 +var isObject = require('./$.is-object'); // 2 + // 3 +require('./$.object-sap')('freeze', function($freeze){ // 4 + return function freeze(it){ // 5 + return $freeze && isObject(it) ? $freeze(it) : it; // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.object-sap.js":["./$.def","./$.core","./$.fails",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// most Object methods by ES6 should accept primitives // 1 +module.exports = function(KEY, exec){ // 2 + var $def = require('./$.def') // 3 + , fn = (require('./$.core').Object || {})[KEY] || Object[KEY] // 4 + , exp = {}; // 5 + exp[KEY] = exec(fn); // 6 + $def($def.S + $def.F * require('./$.fails')(function(){ fn(1); }), 'Object', exp); // 7 +}; // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.seal.js":["./$.is-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.17 Object.seal(O) // 1 +var isObject = require('./$.is-object'); // 2 + // 3 +require('./$.object-sap')('seal', function($seal){ // 4 + return function seal(it){ // 5 + return $seal && isObject(it) ? $seal(it) : it; // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.prevent-extensions.js":["./$.is-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.15 Object.preventExtensions(O) // 1 +var isObject = require('./$.is-object'); // 2 + // 3 +require('./$.object-sap')('preventExtensions', function($preventExtensions){ // 4 + return function preventExtensions(it){ // 5 + return $preventExtensions && isObject(it) ? $preventExtensions(it) : it; // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.is-frozen.js":["./$.is-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.12 Object.isFrozen(O) // 1 +var isObject = require('./$.is-object'); // 2 + // 3 +require('./$.object-sap')('isFrozen', function($isFrozen){ // 4 + return function isFrozen(it){ // 5 + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.is-sealed.js":["./$.is-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.13 Object.isSealed(O) // 1 +var isObject = require('./$.is-object'); // 2 + // 3 +require('./$.object-sap')('isSealed', function($isSealed){ // 4 + return function isSealed(it){ // 5 + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.is-extensible.js":["./$.is-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.11 Object.isExtensible(O) // 1 +var isObject = require('./$.is-object'); // 2 + // 3 +require('./$.object-sap')('isExtensible', function($isExtensible){ // 4 + return function isExtensible(it){ // 5 + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.get-own-property-descriptor.js":["./$.to-iobject","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) // 1 +var toIObject = require('./$.to-iobject'); // 2 + // 3 +require('./$.object-sap')('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){ // 4 + return function getOwnPropertyDescriptor(it, key){ // 5 + return $getOwnPropertyDescriptor(toIObject(it), key); // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.get-prototype-of.js":["./$.to-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.9 Object.getPrototypeOf(O) // 1 +var toObject = require('./$.to-object'); // 2 + // 3 +require('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){ // 4 + return function getPrototypeOf(it){ // 5 + return $getPrototypeOf(toObject(it)); // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.keys.js":["./$.to-object","./$.object-sap",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.14 Object.keys(O) // 1 +var toObject = require('./$.to-object'); // 2 + // 3 +require('./$.object-sap')('keys', function($keys){ // 4 + return function keys(it){ // 5 + return $keys(toObject(it)); // 6 + }; // 7 +}); // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.object.get-own-property-names.js":["./$.object-sap","./$.get-names",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 19.1.2.7 Object.getOwnPropertyNames(O) // 1 +require('./$.object-sap')('getOwnPropertyNames', function(){ // 2 + return require('./$.get-names').get; // 3 +}); // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.iterator.js":["./$.string-at","./$.iter-define",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $at = require('./$.string-at')(true); // 2 + // 3 +// 21.1.3.27 String.prototype[@@iterator]() // 4 +require('./$.iter-define')(String, 'String', function(iterated){ // 5 + this._t = String(iterated); // target // 6 + this._i = 0; // next index // 7 +// 21.1.5.2.1 %StringIteratorPrototype%.next() // 8 +}, function(){ // 9 + var O = this._t // 10 + , index = this._i // 11 + , point; // 12 + if(index >= O.length)return {value: undefined, done: true}; // 13 + point = $at(O, index); // 14 + this._i += point.length; // 15 + return {value: point, done: false}; // 16 +}); // 17 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.string-at.js":["./$.to-integer","./$.defined",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// true -> String#at // 1 +// false -> String#codePointAt // 2 +var toInteger = require('./$.to-integer') // 3 + , defined = require('./$.defined'); // 4 +module.exports = function(TO_STRING){ // 5 + return function(that, pos){ // 6 + var s = String(defined(that)) // 7 + , i = toInteger(pos) // 8 + , l = s.length // 9 + , a, b; // 10 + if(i < 0 || i >= l)return TO_STRING ? '' : undefined; // 11 + a = s.charCodeAt(i); // 12 + return a < 0xd800 || a > 0xdbff || i + 1 === l // 13 + || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff // 14 + ? TO_STRING ? s.charAt(i) : a // 15 + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; // 16 + }; // 17 +}; // 18 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.to-integer.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 7.1.4 ToInteger // 1 +var ceil = Math.ceil // 2 + , floor = Math.floor; // 3 +module.exports = function(it){ // 4 + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.iter-define.js":["./$.library","./$.def","./$.redef","./$.hide","./$.has","./$.wks","./$.iterators","./$.iter-create","./$","./$.tag",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var LIBRARY = require('./$.library') // 2 + , $def = require('./$.def') // 3 + , $redef = require('./$.redef') // 4 + , hide = require('./$.hide') // 5 + , has = require('./$.has') // 6 + , SYMBOL_ITERATOR = require('./$.wks')('iterator') // 7 + , Iterators = require('./$.iterators') // 8 + , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` // 9 + , FF_ITERATOR = '@@iterator' // 10 + , KEYS = 'keys' // 11 + , VALUES = 'values'; // 12 +var returnThis = function(){ return this; }; // 13 +module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){ // 14 + require('./$.iter-create')(Constructor, NAME, next); // 15 + var createMethod = function(kind){ // 16 + switch(kind){ // 17 + case KEYS: return function keys(){ return new Constructor(this, kind); }; // 18 + case VALUES: return function values(){ return new Constructor(this, kind); }; // 19 + } return function entries(){ return new Constructor(this, kind); }; // 20 + }; // 21 + var TAG = NAME + ' Iterator' // 22 + , proto = Base.prototype // 23 + , _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] // 24 + , _default = _native || createMethod(DEFAULT) // 25 + , methods, key; // 26 + // Fix native // 27 + if(_native){ // 28 + var IteratorPrototype = require('./$').getProto(_default.call(new Base)); // 29 + // Set @@toStringTag to native iterators // 30 + require('./$.tag')(IteratorPrototype, TAG, true); // 31 + // FF fix // 32 + if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, SYMBOL_ITERATOR, returnThis); // 33 + } // 34 + // Define iterator // 35 + if(!LIBRARY || FORCE)hide(proto, SYMBOL_ITERATOR, _default); // 36 + // Plug for library // 37 + Iterators[NAME] = _default; // 38 + Iterators[TAG] = returnThis; // 39 + if(DEFAULT){ // 40 + methods = { // 41 + keys: IS_SET ? _default : createMethod(KEYS), // 42 + values: DEFAULT == VALUES ? _default : createMethod(VALUES), // 43 + entries: DEFAULT != VALUES ? _default : createMethod('entries') // 44 + }; // 45 + if(FORCE)for(key in methods){ // 46 + if(!(key in proto))$redef(proto, key, methods[key]); // 47 + } else $def($def.P + $def.F * BUGGY, NAME, methods); // 48 + } // 49 +}; // 50 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.iterators.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = {}; // 1 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.iter-create.js":["./$","./$.hide","./$.wks","./$.property-desc","./$.tag",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $ = require('./$') // 2 + , IteratorPrototype = {}; // 3 + // 4 +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() // 5 +require('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; }); // 6 + // 7 +module.exports = function(Constructor, NAME, next){ // 8 + Constructor.prototype = $.create(IteratorPrototype, {next: require('./$.property-desc')(1,next)}); + require('./$.tag')(Constructor, NAME + ' Iterator'); // 10 +}; // 11 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.from.js":["./$.ctx","./$.def","./$.to-object","./$.iter-call","./$.is-array-iter","./$.to-length","./core.get-iterator-method","./$.iter-detect",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var ctx = require('./$.ctx') // 2 + , $def = require('./$.def') // 3 + , toObject = require('./$.to-object') // 4 + , call = require('./$.iter-call') // 5 + , isArrayIter = require('./$.is-array-iter') // 6 + , toLength = require('./$.to-length') // 7 + , getIterFn = require('./core.get-iterator-method'); // 8 +$def($def.S + $def.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', { // 9 + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) // 10 + from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ // 11 + var O = toObject(arrayLike) // 12 + , C = typeof this == 'function' ? this : Array // 13 + , mapfn = arguments[1] // 14 + , mapping = mapfn !== undefined // 15 + , index = 0 // 16 + , iterFn = getIterFn(O) // 17 + , length, result, step, iterator; // 18 + if(mapping)mapfn = ctx(mapfn, arguments[2], 2); // 19 + // if object isn't iterable or it's array with default iterator - use simple case // 20 + if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ // 21 + for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ // 22 + result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value; // 23 + } // 24 + } else { // 25 + length = toLength(O.length); // 26 + for(result = new C(length); length > index; index++){ // 27 + result[index] = mapping ? mapfn(O[index], index) : O[index]; // 28 + } // 29 + } // 30 + result.length = index; // 31 + return result; // 32 + } // 33 +}); // 34 + // 35 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.iter-call.js":["./$.an-object",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// call something on iterator step with safe closing on error // 1 +var anObject = require('./$.an-object'); // 2 +module.exports = function(iterator, fn, value, entries){ // 3 + try { // 4 + return entries ? fn(anObject(value)[0], value[1]) : fn(value); // 5 + // 7.4.6 IteratorClose(iterator, completion) // 6 + } catch(e){ // 7 + var ret = iterator['return']; // 8 + if(ret !== undefined)anObject(ret.call(iterator)); // 9 + throw e; // 10 + } // 11 +}; // 12 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.is-array-iter.js":["./$.iterators","./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// check on default Array iterator // 1 +var Iterators = require('./$.iterators') // 2 + , ITERATOR = require('./$.wks')('iterator'); // 3 +module.exports = function(it){ // 4 + return (Iterators.Array || Array.prototype[ITERATOR]) === it; // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.to-length.js":["./$.to-integer",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 7.1.15 ToLength // 1 +var toInteger = require('./$.to-integer') // 2 + , min = Math.min; // 3 +module.exports = function(it){ // 4 + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"core.get-iterator-method.js":["./$.classof","./$.wks","./$.iterators","./$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var classof = require('./$.classof') // 1 + , ITERATOR = require('./$.wks')('iterator') // 2 + , Iterators = require('./$.iterators'); // 3 +module.exports = require('./$.core').getIteratorMethod = function(it){ // 4 + if(it != undefined)return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.iter-detect.js":["./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var SYMBOL_ITERATOR = require('./$.wks')('iterator') // 1 + , SAFE_CLOSING = false; // 2 +try { // 3 + var riter = [7][SYMBOL_ITERATOR](); // 4 + riter['return'] = function(){ SAFE_CLOSING = true; }; // 5 + Array.from(riter, function(){ throw 2; }); // 6 +} catch(e){ /* empty */ } // 7 +module.exports = function(exec){ // 8 + if(!SAFE_CLOSING)return false; // 9 + var safe = false; // 10 + try { // 11 + var arr = [7] // 12 + , iter = arr[SYMBOL_ITERATOR](); // 13 + iter.next = function(){ safe = true; }; // 14 + arr[SYMBOL_ITERATOR] = function(){ return iter; }; // 15 + exec(arr); // 16 + } catch(e){ /* empty */ } // 17 + return safe; // 18 +}; // 19 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.of.js":["./$.def","./$.fails",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $def = require('./$.def'); // 2 + // 3 +// WebKit Array.of isn't generic // 4 +$def($def.S + $def.F * require('./$.fails')(function(){ // 5 + function F(){} // 6 + return !(Array.of.call(F) instanceof F); // 7 +}), 'Array', { // 8 + // 22.1.2.3 Array.of( ...items) // 9 + of: function of(/* ...args */){ // 10 + var index = 0 // 11 + , length = arguments.length // 12 + , result = new (typeof this == 'function' ? this : Array)(length); // 13 + while(length > index)result[index] = arguments[index++]; // 14 + result.length = length; // 15 + return result; // 16 + } // 17 +}); // 18 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.species.js":["./$.species",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('./$.species')(Array); // 1 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.species.js":["./$","./$.wks","./$.support-desc",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $ = require('./$') // 2 + , SPECIES = require('./$.wks')('species'); // 3 +module.exports = function(C){ // 4 + if(require('./$.support-desc') && !(SPECIES in C))$.setDesc(C, SPECIES, { // 5 + configurable: true, // 6 + get: function(){ return this; } // 7 + }); // 8 +}; // 9 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.iterator.js":["./$.unscope","./$.iter-step","./$.iterators","./$.to-iobject","./$.iter-define",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var setUnscope = require('./$.unscope') // 2 + , step = require('./$.iter-step') // 3 + , Iterators = require('./$.iterators') // 4 + , toIObject = require('./$.to-iobject'); // 5 + // 6 +// 22.1.3.4 Array.prototype.entries() // 7 +// 22.1.3.13 Array.prototype.keys() // 8 +// 22.1.3.29 Array.prototype.values() // 9 +// 22.1.3.30 Array.prototype[@@iterator]() // 10 +require('./$.iter-define')(Array, 'Array', function(iterated, kind){ // 11 + this._t = toIObject(iterated); // target // 12 + this._i = 0; // next index // 13 + this._k = kind; // kind // 14 +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() // 15 +}, function(){ // 16 + var O = this._t // 17 + , kind = this._k // 18 + , index = this._i++; // 19 + if(!O || index >= O.length){ // 20 + this._t = undefined; // 21 + return step(1); // 22 + } // 23 + if(kind == 'keys' )return step(0, index); // 24 + if(kind == 'values')return step(0, O[index]); // 25 + return step(0, [index, O[index]]); // 26 +}, 'values'); // 27 + // 28 +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) // 29 +Iterators.Arguments = Iterators.Array; // 30 + // 31 +setUnscope('keys'); // 32 +setUnscope('values'); // 33 +setUnscope('entries'); // 34 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.unscope.js":["./$.wks","./$.hide",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 22.1.3.31 Array.prototype[@@unscopables] // 1 +var UNSCOPABLES = require('./$.wks')('unscopables'); // 2 +if([][UNSCOPABLES] == undefined)require('./$.hide')(Array.prototype, UNSCOPABLES, {}); // 3 +module.exports = function(key){ // 4 + [][UNSCOPABLES][key] = true; // 5 +}; // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.iter-step.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(done, value){ // 1 + return {value: value, done: !!done}; // 2 +}; // 3 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"es6.array.copy-within.js":["./$.def","./$.array-copy-within","./$.unscope",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) // 1 +'use strict'; // 2 +var $def = require('./$.def'); // 3 + // 4 +$def($def.P, 'Array', {copyWithin: require('./$.array-copy-within')}); // 5 + // 6 +require('./$.unscope')('copyWithin'); // 7 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.array-copy-within.js":["./$.to-object","./$.to-index","./$.to-length",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) // 1 +'use strict'; // 2 +var toObject = require('./$.to-object') // 3 + , toIndex = require('./$.to-index') // 4 + , toLength = require('./$.to-length'); // 5 + // 6 +module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ // 7 + var O = toObject(this) // 8 + , len = toLength(O.length) // 9 + , to = toIndex(target, len) // 10 + , from = toIndex(start, len) // 11 + , end = arguments[2] // 12 + , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) // 13 + , inc = 1; // 14 + if(from < to && to < from + count){ // 15 + inc = -1; // 16 + from += count - 1; // 17 + to += count - 1; // 18 + } // 19 + while(count-- > 0){ // 20 + if(from in O)O[to] = O[from]; // 21 + else delete O[to]; // 22 + to += inc; // 23 + from += inc; // 24 + } return O; // 25 +}; // 26 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.to-index.js":["./$.to-integer",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var toInteger = require('./$.to-integer') // 1 + , max = Math.max // 2 + , min = Math.min; // 3 +module.exports = function(index, length){ // 4 + index = toInteger(index); // 5 + return index < 0 ? max(index + length, 0) : min(index, length); // 6 +}; // 7 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.fill.js":["./$.def","./$.array-fill","./$.unscope",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) // 1 +var $def = require('./$.def'); // 2 + // 3 +$def($def.P, 'Array', {fill: require('./$.array-fill')}); // 4 + // 5 +require('./$.unscope')('fill'); // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.array-fill.js":["./$.to-object","./$.to-index","./$.to-length",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) // 1 +'use strict'; // 2 +var toObject = require('./$.to-object') // 3 + , toIndex = require('./$.to-index') // 4 + , toLength = require('./$.to-length'); // 5 +module.exports = [].fill || function fill(value /*, start = 0, end = @length */){ // 6 + var O = toObject(this, true) // 7 + , length = toLength(O.length) // 8 + , index = toIndex(arguments[1], length) // 9 + , end = arguments[2] // 10 + , endPos = end === undefined ? length : toIndex(end, length); // 11 + while(endPos > index)O[index++] = value; // 12 + return O; // 13 +}; // 14 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.find.js":["./$.def","./$.array-methods","./$.unscope",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) // 2 +var KEY = 'find' // 3 + , $def = require('./$.def') // 4 + , forced = true // 5 + , $find = require('./$.array-methods')(5); // 6 +// Shouldn't skip holes // 7 +if(KEY in [])Array(1)[KEY](function(){ forced = false; }); // 8 +$def($def.P + $def.F * forced, 'Array', { // 9 + find: function find(callbackfn/*, that = undefined */){ // 10 + return $find(this, callbackfn, arguments[1]); // 11 + } // 12 +}); // 13 +require('./$.unscope')(KEY); // 14 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.array-methods.js":["./$.ctx","./$.is-object","./$.iobject","./$.to-object","./$.to-length","./$.is-array","./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 0 -> Array#forEach // 1 +// 1 -> Array#map // 2 +// 2 -> Array#filter // 3 +// 3 -> Array#some // 4 +// 4 -> Array#every // 5 +// 5 -> Array#find // 6 +// 6 -> Array#findIndex // 7 +var ctx = require('./$.ctx') // 8 + , isObject = require('./$.is-object') // 9 + , IObject = require('./$.iobject') // 10 + , toObject = require('./$.to-object') // 11 + , toLength = require('./$.to-length') // 12 + , isArray = require('./$.is-array') // 13 + , SPECIES = require('./$.wks')('species'); // 14 +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) // 15 +var ASC = function(original, length){ // 16 + var C; // 17 + if(isArray(original) && isObject(C = original.constructor)){ // 18 + C = C[SPECIES]; // 19 + if(C === null)C = undefined; // 20 + } return new(C === undefined ? Array : C)(length); // 21 +}; // 22 +module.exports = function(TYPE){ // 23 + var IS_MAP = TYPE == 1 // 24 + , IS_FILTER = TYPE == 2 // 25 + , IS_SOME = TYPE == 3 // 26 + , IS_EVERY = TYPE == 4 // 27 + , IS_FIND_INDEX = TYPE == 6 // 28 + , NO_HOLES = TYPE == 5 || IS_FIND_INDEX; // 29 + return function($this, callbackfn, that){ // 30 + var O = toObject($this) // 31 + , self = IObject(O) // 32 + , f = ctx(callbackfn, that, 3) // 33 + , length = toLength(self.length) // 34 + , index = 0 // 35 + , result = IS_MAP ? ASC($this, length) : IS_FILTER ? ASC($this, 0) : undefined // 36 + , val, res; // 37 + for(;length > index; index++)if(NO_HOLES || index in self){ // 38 + val = self[index]; // 39 + res = f(val, index, O); // 40 + if(TYPE){ // 41 + if(IS_MAP)result[index] = res; // map // 42 + else if(res)switch(TYPE){ // 43 + case 3: return true; // some // 44 + case 5: return val; // find // 45 + case 6: return index; // findIndex // 46 + case 2: result.push(val); // filter // 47 + } else if(IS_EVERY)return false; // every // 48 + } // 49 + } // 50 + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; // 51 + }; // 52 +}; // 53 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.array.find-index.js":["./$.def","./$.array-methods","./$.unscope",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) // 2 +var KEY = 'findIndex' // 3 + , $def = require('./$.def') // 4 + , forced = true // 5 + , $find = require('./$.array-methods')(6); // 6 +// Shouldn't skip holes // 7 +if(KEY in [])Array(1)[KEY](function(){ forced = false; }); // 8 +$def($def.P + $def.F * forced, 'Array', { // 9 + findIndex: function findIndex(callbackfn/*, that = undefined */){ // 10 + return $find(this, callbackfn, arguments[1]); // 11 + } // 12 +}); // 13 +require('./$.unscope')(KEY); // 14 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.from-code-point.js":["./$.def","./$.to-index",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $def = require('./$.def') // 1 + , toIndex = require('./$.to-index') // 2 + , fromCharCode = String.fromCharCode // 3 + , $fromCodePoint = String.fromCodePoint; // 4 + // 5 +// length should be 1, old FF problem // 6 +$def($def.S + $def.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { // 7 + // 21.1.2.2 String.fromCodePoint(...codePoints) // 8 + fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars // 9 + var res = [] // 10 + , len = arguments.length // 11 + , i = 0 // 12 + , code; // 13 + while(len > i){ // 14 + code = +arguments[i++]; // 15 + if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); // 16 + res.push(code < 0x10000 // 17 + ? fromCharCode(code) // 18 + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) // 19 + ); // 20 + } return res.join(''); // 21 + } // 22 +}); // 23 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.raw.js":["./$.def","./$.to-iobject","./$.to-length",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $def = require('./$.def') // 1 + , toIObject = require('./$.to-iobject') // 2 + , toLength = require('./$.to-length'); // 3 + // 4 +$def($def.S, 'String', { // 5 + // 21.1.2.4 String.raw(callSite, ...substitutions) // 6 + raw: function raw(callSite){ // 7 + var tpl = toIObject(callSite.raw) // 8 + , len = toLength(tpl.length) // 9 + , sln = arguments.length // 10 + , res = [] // 11 + , i = 0; // 12 + while(len > i){ // 13 + res.push(String(tpl[i++])); // 14 + if(i < sln)res.push(String(arguments[i])); // 15 + } return res.join(''); // 16 + } // 17 +}); // 18 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.trim.js":["./$.string-trim",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +// 21.1.3.25 String.prototype.trim() // 2 +require('./$.string-trim')('trim', function($trim){ // 3 + return function trim(){ // 4 + return $trim(this, 3); // 5 + }; // 6 +}); // 7 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.string-trim.js":["./$.def","./$.defined","./$.fails",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 1 -> String#trimLeft // 1 +// 2 -> String#trimRight // 2 +// 3 -> String#trim // 3 +var trim = function(string, TYPE){ // 4 + string = String(defined(string)); // 5 + if(TYPE & 1)string = string.replace(ltrim, ''); // 6 + if(TYPE & 2)string = string.replace(rtrim, ''); // 7 + return string; // 8 +}; // 9 + // 10 +var $def = require('./$.def') // 11 + , defined = require('./$.defined') // 12 + , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + // 13 + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF' // 14 + , space = '[' + spaces + ']' // 15 + , non = '\u200b\u0085' // 16 + , ltrim = RegExp('^' + space + space + '*') // 17 + , rtrim = RegExp(space + space + '*$'); // 18 + // 19 +module.exports = function(KEY, exec){ // 20 + var exp = {}; // 21 + exp[KEY] = exec(trim); // 22 + $def($def.P + $def.F * require('./$.fails')(function(){ // 23 + return !!spaces[KEY]() || non[KEY]() != non; // 24 + }), 'String', exp); // 25 +}; // 26 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.code-point-at.js":["./$.def","./$.string-at",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $def = require('./$.def') // 2 + , $at = require('./$.string-at')(false); // 3 +$def($def.P, 'String', { // 4 + // 21.1.3.3 String.prototype.codePointAt(pos) // 5 + codePointAt: function codePointAt(pos){ // 6 + return $at(this, pos); // 7 + } // 8 +}); // 9 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.ends-with.js":["./$.def","./$.to-length","./$.string-context","./$.fails-is-regexp",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) // 1 +'use strict'; // 2 +var $def = require('./$.def') // 3 + , toLength = require('./$.to-length') // 4 + , context = require('./$.string-context') // 5 + , ENDS_WITH = 'endsWith' // 6 + , $endsWith = ''[ENDS_WITH]; // 7 + // 8 +$def($def.P + $def.F * require('./$.fails-is-regexp')(ENDS_WITH), 'String', { // 9 + endsWith: function endsWith(searchString /*, endPosition = @length */){ // 10 + var that = context(this, searchString, ENDS_WITH) // 11 + , endPosition = arguments[1] // 12 + , len = toLength(that.length) // 13 + , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) // 14 + , search = String(searchString); // 15 + return $endsWith // 16 + ? $endsWith.call(that, search, end) // 17 + : that.slice(end - search.length, end) === search; // 18 + } // 19 +}); // 20 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.string-context.js":["./$.is-regexp","./$.defined",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// helper for String#{startsWith, endsWith, includes} // 1 +var isRegExp = require('./$.is-regexp') // 2 + , defined = require('./$.defined'); // 3 + // 4 +module.exports = function(that, searchString, NAME){ // 5 + if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); // 6 + return String(defined(that)); // 7 +}; // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.is-regexp.js":["./$.is-object","./$.cof","./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 7.2.8 IsRegExp(argument) // 1 +var isObject = require('./$.is-object') // 2 + , cof = require('./$.cof') // 3 + , MATCH = require('./$.wks')('match'); // 4 +module.exports = function(it){ // 5 + var isRegExp; // 6 + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); // 7 +}; // 8 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.fails-is-regexp.js":["./$.wks",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(KEY){ // 1 + var re = /./; // 2 + try { // 3 + '/./'[KEY](re); // 4 + } catch(e){ // 5 + try { // 6 + re[require('./$.wks')('match')] = false; // 7 + return !'/./'[KEY](re); // 8 + } catch(e){ /* empty */ } // 9 + } return true; // 10 +}; // 11 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.includes.js":["./$.def","./$.string-context","./$.fails-is-regexp",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 21.1.3.7 String.prototype.includes(searchString, position = 0) // 1 +'use strict'; // 2 +var $def = require('./$.def') // 3 + , context = require('./$.string-context') // 4 + , INCLUDES = 'includes'; // 5 + // 6 +$def($def.P + $def.F * require('./$.fails-is-regexp')(INCLUDES), 'String', { // 7 + includes: function includes(searchString /*, position = 0 */){ // 8 + return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments[1]); // 9 + } // 10 +}); // 11 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.repeat.js":["./$.def","./$.string-repeat",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $def = require('./$.def'); // 1 + // 2 +$def($def.P, 'String', { // 3 + // 21.1.3.13 String.prototype.repeat(count) // 4 + repeat: require('./$.string-repeat') // 5 +}); // 6 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.string-repeat.js":["./$.to-integer","./$.defined",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var toInteger = require('./$.to-integer') // 2 + , defined = require('./$.defined'); // 3 + // 4 +module.exports = function repeat(count){ // 5 + var str = String(defined(this)) // 6 + , res = '' // 7 + , n = toInteger(count); // 8 + if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); // 9 + for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; // 10 + return res; // 11 +}; // 12 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.string.starts-with.js":["./$.def","./$.to-length","./$.string-context","./$.fails-is-regexp",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) // 1 +'use strict'; // 2 +var $def = require('./$.def') // 3 + , toLength = require('./$.to-length') // 4 + , context = require('./$.string-context') // 5 + , STARTS_WITH = 'startsWith' // 6 + , $startsWith = ''[STARTS_WITH]; // 7 + // 8 +$def($def.P + $def.F * require('./$.fails-is-regexp')(STARTS_WITH), 'String', { // 9 + startsWith: function startsWith(searchString /*, position = 0 */){ // 10 + var that = context(this, searchString, STARTS_WITH) // 11 + , index = toLength(Math.min(arguments[1], that.length)) // 12 + , search = String(searchString); // 13 + return $startsWith // 14 + ? $startsWith.call(that, search, index) // 15 + : that.slice(index, index + search.length) === search; // 16 + } // 17 +}); // 18 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.regexp.match.js":["./$.fix-re-wks",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// @@match logic // 1 +require('./$.fix-re-wks')('match', 1, function(defined, MATCH){ // 2 + // 21.1.3.11 String.prototype.match(regexp) // 3 + return function match(regexp){ // 4 + 'use strict'; // 5 + var O = defined(this) // 6 + , fn = regexp == undefined ? undefined : regexp[MATCH]; // 7 + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); // 8 + }; // 9 +}); // 10 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.fix-re-wks.js":["./$.defined","./$.wks","./$.fails","./$.redef","./$.hide",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +module.exports = function(KEY, length, exec){ // 2 + var defined = require('./$.defined') // 3 + , SYMBOL = require('./$.wks')(KEY) // 4 + , original = ''[KEY]; // 5 + if(require('./$.fails')(function(){ // 6 + var O = {}; // 7 + O[SYMBOL] = function(){ return 7; }; // 8 + return ''[KEY](O) != 7; // 9 + })){ // 10 + require('./$.redef')(String.prototype, KEY, exec(defined, SYMBOL, original)); // 11 + require('./$.hide')(RegExp.prototype, SYMBOL, length == 2 // 12 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) // 13 + // 21.2.5.11 RegExp.prototype[@@split](string, limit) // 14 + ? function(string, arg){ return original.call(string, this, arg); } // 15 + // 21.2.5.6 RegExp.prototype[@@match](string) // 16 + // 21.2.5.9 RegExp.prototype[@@search](string) // 17 + : function(string){ return original.call(string, this); } // 18 + ); // 19 + } // 20 +}; // 21 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.regexp.replace.js":["./$.fix-re-wks",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// @@replace logic // 1 +require('./$.fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){ // 2 + // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) // 3 + return function replace(searchValue, replaceValue){ // 4 + 'use strict'; // 5 + var O = defined(this) // 6 + , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; // 7 + return fn !== undefined // 8 + ? fn.call(searchValue, O, replaceValue) // 9 + : $replace.call(String(O), searchValue, replaceValue); // 10 + }; // 11 +}); // 12 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.regexp.search.js":["./$.fix-re-wks",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// @@search logic // 1 +require('./$.fix-re-wks')('search', 1, function(defined, SEARCH){ // 2 + // 21.1.3.15 String.prototype.search(regexp) // 3 + return function search(regexp){ // 4 + 'use strict'; // 5 + var O = defined(this) // 6 + , fn = regexp == undefined ? undefined : regexp[SEARCH]; // 7 + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); // 8 + }; // 9 +}); // 10 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.regexp.split.js":["./$.fix-re-wks",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +// @@split logic // 1 +require('./$.fix-re-wks')('split', 2, function(defined, SPLIT, $split){ // 2 + // 21.1.3.17 String.prototype.split(separator, limit) // 3 + return function split(separator, limit){ // 4 + 'use strict'; // 5 + var O = defined(this) // 6 + , fn = separator == undefined ? undefined : separator[SPLIT]; // 7 + return fn !== undefined // 8 + ? fn.call(separator, O, limit) // 9 + : $split.call(String(O), separator, limit); // 10 + }; // 11 +}); // 12 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.function.name.js":["./$","./$.property-desc","./$.has","./$.support-desc",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var setDesc = require('./$').setDesc // 1 + , createDesc = require('./$.property-desc') // 2 + , has = require('./$.has') // 3 + , FProto = Function.prototype // 4 + , nameRE = /^\s*function ([^ (]*)/ // 5 + , NAME = 'name'; // 6 +// 19.2.4.2 name // 7 +NAME in FProto || require('./$.support-desc') && setDesc(FProto, NAME, { // 8 + configurable: true, // 9 + get: function(){ // 10 + var match = ('' + this).match(nameRE) // 11 + , name = match ? match[1] : ''; // 12 + has(this, NAME) || setDesc(this, NAME, createDesc(5, name)); // 13 + return name; // 14 + } // 15 +}); // 16 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.function.has-instance.js":["./$","./$.is-object","./$.wks",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $ = require('./$') // 2 + , isObject = require('./$.is-object') // 3 + , HAS_INSTANCE = require('./$.wks')('hasInstance') // 4 + , FunctionProto = Function.prototype; // 5 +// 19.2.3.6 Function.prototype[@@hasInstance](V) // 6 +if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){ // 7 + if(typeof this != 'function' || !isObject(O))return false; // 8 + if(!isObject(this.prototype))return O instanceof this; // 9 + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: // 10 + while(O = $.getProto(O))if(this.prototype === O)return true; // 11 + return false; // 12 +}}); // 13 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"web.dom.iterable.js":["./es6.array.iterator","./$.global","./$.hide","./$.iterators","./$.wks",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +require('./es6.array.iterator'); // 1 +var global = require('./$.global') // 2 + , hide = require('./$.hide') // 3 + , Iterators = require('./$.iterators') // 4 + , ITERATOR = require('./$.wks')('iterator') // 5 + , NL = global.NodeList // 6 + , HTC = global.HTMLCollection // 7 + , NLProto = NL && NL.prototype // 8 + , HTCProto = HTC && HTC.prototype // 9 + , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array; // 10 +if(NL && !(ITERATOR in NLProto))hide(NLProto, ITERATOR, ArrayValues); // 11 +if(HTC && !(ITERATOR in HTCProto))hide(HTCProto, ITERATOR, ArrayValues); // 12 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.map.js":["./$.collection-strong","./$.collection",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var strong = require('./$.collection-strong'); // 2 + // 3 +// 23.1 Map Objects // 4 +require('./$.collection')('Map', function(get){ // 5 + return function Map(){ return get(this, arguments[0]); }; // 6 +}, { // 7 + // 23.1.3.6 Map.prototype.get(key) // 8 + get: function get(key){ // 9 + var entry = strong.getEntry(this, key); // 10 + return entry && entry.v; // 11 + }, // 12 + // 23.1.3.9 Map.prototype.set(key, value) // 13 + set: function set(key, value){ // 14 + return strong.def(this, key === 0 ? 0 : key, value); // 15 + } // 16 +}, strong, true); // 17 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.collection-strong.js":["./$","./$.hide","./$.ctx","./$.species","./$.strict-new","./$.defined","./$.for-of","./$.iter-step","./$.uid","./$.has","./$.is-object","./$.support-desc","./$.mix","./$.iter-define","./$.core",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var $ = require('./$') // 2 + , hide = require('./$.hide') // 3 + , ctx = require('./$.ctx') // 4 + , species = require('./$.species') // 5 + , strictNew = require('./$.strict-new') // 6 + , defined = require('./$.defined') // 7 + , forOf = require('./$.for-of') // 8 + , step = require('./$.iter-step') // 9 + , ID = require('./$.uid')('id') // 10 + , $has = require('./$.has') // 11 + , isObject = require('./$.is-object') // 12 + , isExtensible = Object.isExtensible || isObject // 13 + , SUPPORT_DESC = require('./$.support-desc') // 14 + , SIZE = SUPPORT_DESC ? '_s' : 'size' // 15 + , id = 0; // 16 + // 17 +var fastKey = function(it, create){ // 18 + // return primitive with prefix // 19 + if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; // 20 + if(!$has(it, ID)){ // 21 + // can't set id to frozen object // 22 + if(!isExtensible(it))return 'F'; // 23 + // not necessary to add id // 24 + if(!create)return 'E'; // 25 + // add missing object id // 26 + hide(it, ID, ++id); // 27 + // return object id with prefix // 28 + } return 'O' + it[ID]; // 29 +}; // 30 + // 31 +var getEntry = function(that, key){ // 32 + // fast case // 33 + var index = fastKey(key), entry; // 34 + if(index !== 'F')return that._i[index]; // 35 + // frozen object case // 36 + for(entry = that._f; entry; entry = entry.n){ // 37 + if(entry.k == key)return entry; // 38 + } // 39 +}; // 40 + // 41 +module.exports = { // 42 + getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ // 43 + var C = wrapper(function(that, iterable){ // 44 + strictNew(that, C, NAME); // 45 + that._i = $.create(null); // index // 46 + that._f = undefined; // first entry // 47 + that._l = undefined; // last entry // 48 + that[SIZE] = 0; // size // 49 + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); // 50 + }); // 51 + require('./$.mix')(C.prototype, { // 52 + // 23.1.3.1 Map.prototype.clear() // 53 + // 23.2.3.2 Set.prototype.clear() // 54 + clear: function clear(){ // 55 + for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ // 56 + entry.r = true; // 57 + if(entry.p)entry.p = entry.p.n = undefined; // 58 + delete data[entry.i]; // 59 + } // 60 + that._f = that._l = undefined; // 61 + that[SIZE] = 0; // 62 + }, // 63 + // 23.1.3.3 Map.prototype.delete(key) // 64 + // 23.2.3.4 Set.prototype.delete(value) // 65 + 'delete': function(key){ // 66 + var that = this // 67 + , entry = getEntry(that, key); // 68 + if(entry){ // 69 + var next = entry.n // 70 + , prev = entry.p; // 71 + delete that._i[entry.i]; // 72 + entry.r = true; // 73 + if(prev)prev.n = next; // 74 + if(next)next.p = prev; // 75 + if(that._f == entry)that._f = next; // 76 + if(that._l == entry)that._l = prev; // 77 + that[SIZE]--; // 78 + } return !!entry; // 79 + }, // 80 + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) // 81 + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) // 82 + forEach: function forEach(callbackfn /*, that = undefined */){ // 83 + var f = ctx(callbackfn, arguments[1], 3) // 84 + , entry; // 85 + while(entry = entry ? entry.n : this._f){ // 86 + f(entry.v, entry.k, this); // 87 + // revert to the last existing entry // 88 + while(entry && entry.r)entry = entry.p; // 89 + } // 90 + }, // 91 + // 23.1.3.7 Map.prototype.has(key) // 92 + // 23.2.3.7 Set.prototype.has(value) // 93 + has: function has(key){ // 94 + return !!getEntry(this, key); // 95 + } // 96 + }); // 97 + if(SUPPORT_DESC)$.setDesc(C.prototype, 'size', { // 98 + get: function(){ // 99 + return defined(this[SIZE]); // 100 + } // 101 + }); // 102 + return C; // 103 + }, // 104 + def: function(that, key, value){ // 105 + var entry = getEntry(that, key) // 106 + , prev, index; // 107 + // change existing entry // 108 + if(entry){ // 109 + entry.v = value; // 110 + // create new entry // 111 + } else { // 112 + that._l = entry = { // 113 + i: index = fastKey(key, true), // <- index // 114 + k: key, // <- key // 115 + v: value, // <- value // 116 + p: prev = that._l, // <- previous entry // 117 + n: undefined, // <- next entry // 118 + r: false // <- removed // 119 + }; // 120 + if(!that._f)that._f = entry; // 121 + if(prev)prev.n = entry; // 122 + that[SIZE]++; // 123 + // add to index // 124 + if(index !== 'F')that._i[index] = entry; // 125 + } return that; // 126 + }, // 127 + getEntry: getEntry, // 128 + setStrong: function(C, NAME, IS_MAP){ // 129 + // add .keys, .values, .entries, [@@iterator] // 130 + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 // 131 + require('./$.iter-define')(C, NAME, function(iterated, kind){ // 132 + this._t = iterated; // target // 133 + this._k = kind; // kind // 134 + this._l = undefined; // previous // 135 + }, function(){ // 136 + var that = this // 137 + , kind = that._k // 138 + , entry = that._l; // 139 + // revert to the last existing entry // 140 + while(entry && entry.r)entry = entry.p; // 141 + // get next entry // 142 + if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ // 143 + // or finish the iteration // 144 + that._t = undefined; // 145 + return step(1); // 146 + } // 147 + // return step by kind // 148 + if(kind == 'keys' )return step(0, entry.k); // 149 + if(kind == 'values')return step(0, entry.v); // 150 + return step(0, [entry.k, entry.v]); // 151 + }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); // 152 + // 153 + // add [@@species], 23.1.2.2, 23.2.2.2 // 154 + species(C); // 155 + species(require('./$.core')[NAME]); // for wrapper // 156 + } // 157 +}; // 158 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.strict-new.js":function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +module.exports = function(it, Constructor, name){ // 1 + if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!"); // 2 + return it; // 3 +}; // 4 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"$.for-of.js":["./$.ctx","./$.iter-call","./$.is-array-iter","./$.an-object","./$.to-length","./core.get-iterator-method",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var ctx = require('./$.ctx') // 1 + , call = require('./$.iter-call') // 2 + , isArrayIter = require('./$.is-array-iter') // 3 + , anObject = require('./$.an-object') // 4 + , toLength = require('./$.to-length') // 5 + , getIterFn = require('./core.get-iterator-method'); // 6 +module.exports = function(iterable, entries, fn, that){ // 7 + var iterFn = getIterFn(iterable) // 8 + , f = ctx(fn, that, entries ? 2 : 1) // 9 + , index = 0 // 10 + , length, step, iterator; // 11 + if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); // 12 + // fast case for arrays with default iterator // 13 + if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ // 14 + entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); // 15 + } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ // 16 + call(iterator, f, step.value, entries); // 17 + } // 18 +}; // 19 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.mix.js":["./$.redef",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var $redef = require('./$.redef'); // 1 +module.exports = function(target, src){ // 2 + for(var key in src)$redef(target, key, src[key]); // 3 + return target; // 4 +}; // 5 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"$.collection.js":["./$.global","./$.def","./$.for-of","./$.strict-new","./$.redef","./$.fails","./$.mix","./$.iter-detect","./$.tag",function(require,exports,module){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var global = require('./$.global') // 2 + , $def = require('./$.def') // 3 + , forOf = require('./$.for-of') // 4 + , strictNew = require('./$.strict-new'); // 5 + // 6 +module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ // 7 + var Base = global[NAME] // 8 + , C = Base // 9 + , ADDER = IS_MAP ? 'set' : 'add' // 10 + , proto = C && C.prototype // 11 + , O = {}; // 12 + var fixMethod = function(KEY){ // 13 + var fn = proto[KEY]; // 14 + require('./$.redef')(proto, KEY, // 15 + KEY == 'delete' ? function(a){ return fn.call(this, a === 0 ? 0 : a); } // 16 + : KEY == 'has' ? function has(a){ return fn.call(this, a === 0 ? 0 : a); } // 17 + : KEY == 'get' ? function get(a){ return fn.call(this, a === 0 ? 0 : a); } // 18 + : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } // 19 + : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } // 20 + ); // 21 + }; // 22 + if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !require('./$.fails')(function(){ // 23 + new C().entries().next(); // 24 + }))){ // 25 + // create collection constructor // 26 + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); // 27 + require('./$.mix')(C.prototype, methods); // 28 + } else { // 29 + var inst = new C // 30 + , chain = inst[ADDER](IS_WEAK ? {} : -0, 1) // 31 + , buggyZero; // 32 + // wrap for init collections from iterable // 33 + if(!require('./$.iter-detect')(function(iter){ new C(iter); })){ // eslint-disable-line no-new // 34 + C = wrapper(function(target, iterable){ // 35 + strictNew(target, C, NAME); // 36 + var that = new Base; // 37 + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); // 38 + return that; // 39 + }); // 40 + C.prototype = proto; // 41 + proto.constructor = C; // 42 + } // 43 + IS_WEAK || inst.forEach(function(val, key){ // 44 + buggyZero = 1 / key === -Infinity; // 45 + }); // 46 + // fix converting -0 key to +0 // 47 + if(buggyZero){ // 48 + fixMethod('delete'); // 49 + fixMethod('has'); // 50 + IS_MAP && fixMethod('get'); // 51 + } // 52 + // + fix .add & .set for chaining // 53 + if(buggyZero || chain !== inst)fixMethod(ADDER); // 54 + // weak collections should not contains .clear method // 55 + if(IS_WEAK && proto.clear)delete proto.clear; // 56 + } // 57 + // 58 + require('./$.tag')(C, NAME); // 59 + // 60 + O[NAME] = C; // 61 + $def($def.G + $def.W + $def.F * (C != Base), O); // 62 + // 63 + if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); // 64 + // 65 + return C; // 66 +}; // 67 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6.set.js":["./$.collection-strong","./$.collection",function(require){ + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/ecmascript-runtime/node_modules/meteor-ecmascript-runtime/node_modules/core-j // +// // +/////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 +var strong = require('./$.collection-strong'); // 2 + // 3 +// 23.2 Set Objects // 4 +require('./$.collection')('Set', function(get){ // 5 + return function Set(){ return get(this, arguments[0]); }; // 6 +}, { // 7 + // 23.2.3.1 Set.prototype.add(value) // 8 + add: function add(value){ // 9 + return strong.def(this, value = value === 0 ? 0 : value, value); // 10 + } // 11 +}, strong); // 12 +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +}]}}}}}}}}},{"extensions":[".js",".json"]}); +var exports = require("./node_modules/meteor/ecmascript-runtime/runtime.js"); /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['ecmascript-runtime'] = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['ecmascript-runtime'] = exports, { Symbol: Symbol, Map: Map, Set: Set -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; +var meteorInstall = Package.modules.meteorInstall; +var Buffer = Package.modules.Buffer; +var process = Package.modules.process; /* Package-scope variables */ -var Promise; +var exports, Promise; -(function(){ +var require = meteorInstall({"node_modules":{"meteor":{"promise":{"client.js":["meteor-promise",function(require,exports){ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// packages/promise/.npm/package/node_modules/meteor-promise/promise.bundle.js // -// // -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // -/******/ (function(modules) { // webpackBootstrap // 1 -/******/ // The module cache // 2 -/******/ var installedModules = {}; // 3 - // 4 -/******/ // The require function // 5 -/******/ function __webpack_require__(moduleId) { // 6 - // 7 -/******/ // Check if module is in cache // 8 -/******/ if(installedModules[moduleId]) // 9 -/******/ return installedModules[moduleId].exports; // 10 - // 11 -/******/ // Create a new module (and put it into the cache) // 12 -/******/ var module = installedModules[moduleId] = { // 13 -/******/ exports: {}, // 14 -/******/ id: moduleId, // 15 -/******/ loaded: false // 16 -/******/ }; // 17 - // 18 -/******/ // Execute the module function // 19 -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); // 20 - // 21 -/******/ // Flag the module as loaded // 22 -/******/ module.loaded = true; // 23 - // 24 -/******/ // Return the exports of the module // 25 -/******/ return module.exports; // 26 -/******/ } // 27 - // 28 - // 29 -/******/ // expose the modules object (__webpack_modules__) // 30 -/******/ __webpack_require__.m = modules; // 31 - // 32 -/******/ // expose the module cache // 33 -/******/ __webpack_require__.c = installedModules; // 34 - // 35 -/******/ // __webpack_public_path__ // 36 -/******/ __webpack_require__.p = ""; // 37 - // 38 -/******/ // Load entry module and return exports // 39 -/******/ return __webpack_require__(0); // 40 -/******/ }) // 41 -/************************************************************************/ // 42 -/******/ ([ // 43 -/* 0 */ // 44 -/***/ function(module, exports, __webpack_require__) { // 45 - // 46 - var MeteorPromise = __webpack_require__(1); // 47 - // 48 - var es6PromiseThen = MeteorPromise.prototype.then; // 49 - MeteorPromise.prototype.then = function (onResolved, onRejected) { // 50 - if (typeof Meteor === "object" && // 51 - typeof Meteor.bindEnvironment === "function") { // 52 - return es6PromiseThen.call( // 53 - this, // 54 - onResolved && Meteor.bindEnvironment(onResolved, raise), // 55 - onRejected && Meteor.bindEnvironment(onRejected, raise) // 56 - ); // 57 - } // 58 - return es6PromiseThen.call(this, onResolved, onRejected); // 59 - }; // 60 - // 61 - function raise(exception) { // 62 - throw exception; // 63 - } // 64 - // 65 - Promise = MeteorPromise; // 66 - // 67 - // 68 -/***/ }, // 69 -/* 1 */ // 70 -/***/ function(module, exports, __webpack_require__) { // 71 - // 72 - /* WEBPACK VAR INJECTION */(function(global) {var hasOwn = Object.prototype.hasOwnProperty; // 73 - // 74 - var g = // 75 - typeof global === "object" ? global : // 76 - typeof window === "object" ? window : // 77 - typeof self === "object" ? self : this; // 78 - // 79 - var GlobalPromise = g.Promise; // 80 - var NpmPromise = __webpack_require__(2); // 81 - // 82 - function copyMethods(target, source) { // 83 - Object.keys(source).forEach(function (key) { // 84 - var value = source[key]; // 85 - if (typeof value === "function" && // 86 - ! hasOwn.call(target, key)) { // 87 - target[key] = value; // 88 - } // 89 - }); // 90 - } // 91 - // 92 - if (typeof GlobalPromise === "function") { // 93 - copyMethods(GlobalPromise, NpmPromise); // 94 - copyMethods(GlobalPromise.prototype, NpmPromise.prototype); // 95 - module.exports = GlobalPromise; // 96 - } else { // 97 - module.exports = NpmPromise; // 98 - } // 99 - // 100 - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) // 101 - // 102 -/***/ }, // 103 -/* 2 */ // 104 -/***/ function(module, exports, __webpack_require__) { // 105 - // 106 - 'use strict'; // 107 - // 108 - module.exports = __webpack_require__(3) // 109 - // 110 - // 111 -/***/ }, // 112 -/* 3 */ // 113 -/***/ function(module, exports, __webpack_require__) { // 114 - // 115 - 'use strict'; // 116 - // 117 - module.exports = __webpack_require__(4); // 118 - __webpack_require__(6); // 119 - __webpack_require__(7); // 120 - __webpack_require__(8); // 121 - __webpack_require__(9); // 122 - // 123 - // 124 -/***/ }, // 125 -/* 4 */ // 126 -/***/ function(module, exports, __webpack_require__) { // 127 - // 128 - 'use strict'; // 129 - // 130 - var asap = __webpack_require__(5); // 131 - // 132 - function noop() {} // 133 - // 134 - // States: // 135 - // // 136 - // 0 - pending // 137 - // 1 - fulfilled with _value // 138 - // 2 - rejected with _value // 139 - // 3 - adopted the state of another promise, _value // 140 - // // 141 - // once the state is no longer pending (0) it is immutable // 142 - // 143 - // All `_` prefixed properties will be reduced to `_{random number}` // 144 - // at build time to obfuscate them and discourage their use. // 145 - // We don't use symbols or Object.defineProperty to fully hide them // 146 - // because the performance isn't good enough. // 147 - // 148 - // 149 - // to avoid using try/catch inside critical functions, we // 150 - // extract them to here. // 151 - var LAST_ERROR = null; // 152 - var IS_ERROR = {}; // 153 - function getThen(obj) { // 154 - try { // 155 - return obj.then; // 156 - } catch (ex) { // 157 - LAST_ERROR = ex; // 158 - return IS_ERROR; // 159 - } // 160 - } // 161 - // 162 - function tryCallOne(fn, a) { // 163 - try { // 164 - return fn(a); // 165 - } catch (ex) { // 166 - LAST_ERROR = ex; // 167 - return IS_ERROR; // 168 - } // 169 - } // 170 - function tryCallTwo(fn, a, b) { // 171 - try { // 172 - fn(a, b); // 173 - } catch (ex) { // 174 - LAST_ERROR = ex; // 175 - return IS_ERROR; // 176 - } // 177 - } // 178 - // 179 - module.exports = Promise; // 180 - // 181 - function Promise(fn) { // 182 - if (typeof this !== 'object') { // 183 - throw new TypeError('Promises must be constructed via new'); // 184 - } // 185 - if (typeof fn !== 'function') { // 186 - throw new TypeError('not a function'); // 187 - } // 188 - this._37 = 0; // 189 - this._12 = null; // 190 - this._59 = []; // 191 - if (fn === noop) return; // 192 - doResolve(fn, this); // 193 - } // 194 - Promise._99 = noop; // 195 - // 196 - Promise.prototype.then = function(onFulfilled, onRejected) { // 197 - if (this.constructor !== Promise) { // 198 - return safeThen(this, onFulfilled, onRejected); // 199 - } // 200 - var res = new Promise(noop); // 201 - handle(this, new Handler(onFulfilled, onRejected, res)); // 202 - return res; // 203 - }; // 204 - // 205 - function safeThen(self, onFulfilled, onRejected) { // 206 - return new self.constructor(function (resolve, reject) { // 207 - var res = new Promise(noop); // 208 - res.then(resolve, reject); // 209 - handle(self, new Handler(onFulfilled, onRejected, res)); // 210 - }); // 211 - }; // 212 - function handle(self, deferred) { // 213 - while (self._37 === 3) { // 214 - self = self._12; // 215 - } // 216 - if (self._37 === 0) { // 217 - self._59.push(deferred); // 218 - return; // 219 - } // 220 - asap(function() { // 221 - var cb = self._37 === 1 ? deferred.onFulfilled : deferred.onRejected; // 222 - if (cb === null) { // 223 - if (self._37 === 1) { // 224 - resolve(deferred.promise, self._12); // 225 - } else { // 226 - reject(deferred.promise, self._12); // 227 - } // 228 - return; // 229 - } // 230 - var ret = tryCallOne(cb, self._12); // 231 - if (ret === IS_ERROR) { // 232 - reject(deferred.promise, LAST_ERROR); // 233 - } else { // 234 - resolve(deferred.promise, ret); // 235 - } // 236 - }); // 237 - } // 238 - function resolve(self, newValue) { // 239 - // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure - if (newValue === self) { // 241 - return reject( // 242 - self, // 243 - new TypeError('A promise cannot be resolved with itself.') // 244 - ); // 245 - } // 246 - if ( // 247 - newValue && // 248 - (typeof newValue === 'object' || typeof newValue === 'function') // 249 - ) { // 250 - var then = getThen(newValue); // 251 - if (then === IS_ERROR) { // 252 - return reject(self, LAST_ERROR); // 253 - } // 254 - if ( // 255 - then === self.then && // 256 - newValue instanceof Promise // 257 - ) { // 258 - self._37 = 3; // 259 - self._12 = newValue; // 260 - finale(self); // 261 - return; // 262 - } else if (typeof then === 'function') { // 263 - doResolve(then.bind(newValue), self); // 264 - return; // 265 - } // 266 - } // 267 - self._37 = 1; // 268 - self._12 = newValue; // 269 - finale(self); // 270 - } // 271 - // 272 - function reject(self, newValue) { // 273 - self._37 = 2; // 274 - self._12 = newValue; // 275 - finale(self); // 276 - } // 277 - function finale(self) { // 278 - for (var i = 0; i < self._59.length; i++) { // 279 - handle(self, self._59[i]); // 280 - } // 281 - self._59 = null; // 282 - } // 283 - // 284 - function Handler(onFulfilled, onRejected, promise){ // 285 - this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; // 286 - this.onRejected = typeof onRejected === 'function' ? onRejected : null; // 287 - this.promise = promise; // 288 - } // 289 - // 290 - /** // 291 - * Take a potentially misbehaving resolver function and make sure // 292 - * onFulfilled and onRejected are only called once. // 293 - * // 294 - * Makes no guarantees about asynchrony. // 295 - */ // 296 - function doResolve(fn, promise) { // 297 - var done = false; // 298 - var res = tryCallTwo(fn, function (value) { // 299 - if (done) return; // 300 - done = true; // 301 - resolve(promise, value); // 302 - }, function (reason) { // 303 - if (done) return; // 304 - done = true; // 305 - reject(promise, reason); // 306 - }) // 307 - if (!done && res === IS_ERROR) { // 308 - done = true; // 309 - reject(promise, LAST_ERROR); // 310 - } // 311 - } // 312 - // 313 - // 314 -/***/ }, // 315 -/* 5 */ // 316 -/***/ function(module, exports) { // 317 - // 318 - /* WEBPACK VAR INJECTION */(function(global) {"use strict"; // 319 - // 320 - // Use the fastest means possible to execute a task in its own turn, with // 321 - // priority over other events including IO, animation, reflow, and redraw // 322 - // events in browsers. // 323 - // // 324 - // An exception thrown by a task will permanently interrupt the processing of // 325 - // subsequent tasks. The higher level `asap` function ensures that if an // 326 - // exception is thrown by a task, that the task queue will continue flushing as // 327 - // soon as possible, but if you use `rawAsap` directly, you are responsible to // 328 - // either ensure that no exceptions are thrown from your task, or to manually // 329 - // call `rawAsap.requestFlush` if an exception is thrown. // 330 - module.exports = rawAsap; // 331 - function rawAsap(task) { // 332 - if (!queue.length) { // 333 - requestFlush(); // 334 - flushing = true; // 335 - } // 336 - // Equivalent to push, but avoids a function call. // 337 - queue[queue.length] = task; // 338 - } // 339 - // 340 - var queue = []; // 341 - // Once a flush has been requested, no further calls to `requestFlush` are // 342 - // necessary until the next `flush` completes. // 343 - var flushing = false; // 344 - // `requestFlush` is an implementation-specific method that attempts to kick // 345 - // off a `flush` event as quickly as possible. `flush` will attempt to exhaust // 346 - // the event queue before yielding to the browser's own event loop. // 347 - var requestFlush; // 348 - // The position of the next task to execute in the task queue. This is // 349 - // preserved between calls to `flush` so that it can be resumed if // 350 - // a task throws an exception. // 351 - var index = 0; // 352 - // If a task schedules additional tasks recursively, the task queue can grow // 353 - // unbounded. To prevent memory exhaustion, the task queue will periodically // 354 - // truncate already-completed tasks. // 355 - var capacity = 1024; // 356 - // 357 - // The flush function processes all tasks that have been scheduled with // 358 - // `rawAsap` unless and until one of those tasks throws an exception. // 359 - // If a task throws an exception, `flush` ensures that its state will remain // 360 - // consistent and will resume where it left off when called again. // 361 - // However, `flush` does not make any arrangements to be called again if an // 362 - // exception is thrown. // 363 - function flush() { // 364 - while (index < queue.length) { // 365 - var currentIndex = index; // 366 - // Advance the index before calling the task. This ensures that we will // 367 - // begin flushing on the next task the task throws an error. // 368 - index = index + 1; // 369 - queue[currentIndex].call(); // 370 - // Prevent leaking memory for long chains of recursive calls to `asap`. // 371 - // If we call `asap` within tasks scheduled by `asap`, the queue will // 372 - // grow, but to avoid an O(n) walk for every task we execute, we don't // 373 - // shift tasks off the queue after they have been executed. // 374 - // Instead, we periodically shift 1024 tasks off the queue. // 375 - if (index > capacity) { // 376 - // Manually shift all values starting at the index back to the // 377 - // beginning of the queue. // 378 - for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { // 379 - queue[scan] = queue[scan + index]; // 380 - } // 381 - queue.length -= index; // 382 - index = 0; // 383 - } // 384 - } // 385 - queue.length = 0; // 386 - index = 0; // 387 - flushing = false; // 388 - } // 389 - // 390 - // `requestFlush` is implemented using a strategy based on data collected from // 391 - // every available SauceLabs Selenium web driver worker at time of writing. // 392 - // https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593 // 393 - // 394 - // Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that // 395 - // have WebKitMutationObserver but not un-prefixed MutationObserver. // 396 - // Must use `global` instead of `window` to work in both frames and web // 397 - // workers. `global` is a provision of Browserify, Mr, Mrs, or Mop. // 398 - var BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver; // 399 - // 400 - // MutationObservers are desirable because they have high priority and work // 401 - // reliably everywhere they are implemented. // 402 - // They are implemented in all modern browsers. // 403 - // // 404 - // - Android 4-4.3 // 405 - // - Chrome 26-34 // 406 - // - Firefox 14-29 // 407 - // - Internet Explorer 11 // 408 - // - iPad Safari 6-7.1 // 409 - // - iPhone Safari 7-7.1 // 410 - // - Safari 6-7 // 411 - if (typeof BrowserMutationObserver === "function") { // 412 - requestFlush = makeRequestCallFromMutationObserver(flush); // 413 - // 414 - // MessageChannels are desirable because they give direct access to the HTML // 415 - // task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera // 416 - // 11-12, and in web workers in many engines. // 417 - // Although message channels yield to any queued rendering and IO tasks, they // 418 - // would be better than imposing the 4ms delay of timers. // 419 - // However, they do not work reliably in Internet Explorer or Safari. // 420 - // 421 - // Internet Explorer 10 is the only browser that has setImmediate but does // 422 - // not have MutationObservers. // 423 - // Although setImmediate yields to the browser's renderer, it would be // 424 - // preferrable to falling back to setTimeout since it does not have // 425 - // the minimum 4ms penalty. // 426 - // Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and // 427 - // Desktop to a lesser extent) that renders both setImmediate and // 428 - // MessageChannel useless for the purposes of ASAP. // 429 - // https://github.com/kriskowal/q/issues/396 // 430 - // 431 - // Timers are implemented universally. // 432 - // We fall back to timers in workers in most engines, and in foreground // 433 - // contexts in the following browsers. // 434 - // However, note that even this simple case requires nuances to operate in a // 435 - // broad spectrum of browsers. // 436 - // // 437 - // - Firefox 3-13 // 438 - // - Internet Explorer 6-9 // 439 - // - iPad Safari 4.3 // 440 - // - Lynx 2.8.7 // 441 - } else { // 442 - requestFlush = makeRequestCallFromTimer(flush); // 443 - } // 444 - // 445 - // `requestFlush` requests that the high priority event queue be flushed as // 446 - // soon as possible. // 447 - // This is useful to prevent an error thrown in a task from stalling the event // 448 - // queue if the exception handled by Node.js’s // 449 - // `process.on("uncaughtException")` or by a domain. // 450 - rawAsap.requestFlush = requestFlush; // 451 - // 452 - // To request a high priority event, we induce a mutation observer by toggling // 453 - // the text of a text node between "1" and "-1". // 454 - function makeRequestCallFromMutationObserver(callback) { // 455 - var toggle = 1; // 456 - var observer = new BrowserMutationObserver(callback); // 457 - var node = document.createTextNode(""); // 458 - observer.observe(node, {characterData: true}); // 459 - return function requestCall() { // 460 - toggle = -toggle; // 461 - node.data = toggle; // 462 - }; // 463 - } // 464 - // 465 - // The message channel technique was discovered by Malte Ubl and was the // 466 - // original foundation for this library. // 467 - // http://www.nonblocking.io/2011/06/windownexttick.html // 468 - // 469 - // Safari 6.0.5 (at least) intermittently fails to create message ports on a // 470 - // page's first load. Thankfully, this version of Safari supports // 471 - // MutationObservers, so we don't need to fall back in that case. // 472 - // 473 - // function makeRequestCallFromMessageChannel(callback) { // 474 - // var channel = new MessageChannel(); // 475 - // channel.port1.onmessage = callback; // 476 - // return function requestCall() { // 477 - // channel.port2.postMessage(0); // 478 - // }; // 479 - // } // 480 - // 481 - // For reasons explained above, we are also unable to use `setImmediate` // 482 - // under any circumstances. // 483 - // Even if we were, there is another bug in Internet Explorer 10. // 484 - // It is not sufficient to assign `setImmediate` to `requestFlush` because // 485 - // `setImmediate` must be called *by name* and therefore must be wrapped in a // 486 - // closure. // 487 - // Never forget. // 488 - // 489 - // function makeRequestCallFromSetImmediate(callback) { // 490 - // return function requestCall() { // 491 - // setImmediate(callback); // 492 - // }; // 493 - // } // 494 - // 495 - // Safari 6.0 has a problem where timers will get lost while the user is // 496 - // scrolling. This problem does not impact ASAP because Safari 6.0 supports // 497 - // mutation observers, so that implementation is used instead. // 498 - // However, if we ever elect to use timers in Safari, the prevalent work-around // 499 - // is to add a scroll event listener that calls for a flush. // 500 - // 501 - // `setTimeout` does not call the passed callback if the delay is less than // 502 - // approximately 7 in web workers in Firefox 8 through 18, and sometimes not // 503 - // even then. // 504 - // 505 - function makeRequestCallFromTimer(callback) { // 506 - return function requestCall() { // 507 - // We dispatch a timeout with a specified delay of 0 for engines that // 508 - // can reliably accommodate that request. This will usually be snapped // 509 - // to a 4 milisecond delay, but once we're flushing, there's no delay // 510 - // between events. // 511 - var timeoutHandle = setTimeout(handleTimer, 0); // 512 - // However, since this timer gets frequently dropped in Firefox // 513 - // workers, we enlist an interval handle that will try to fire // 514 - // an event 20 times per second until it succeeds. // 515 - var intervalHandle = setInterval(handleTimer, 50); // 516 - // 517 - function handleTimer() { // 518 - // Whichever timer succeeds will cancel both timers and // 519 - // execute the callback. // 520 - clearTimeout(timeoutHandle); // 521 - clearInterval(intervalHandle); // 522 - callback(); // 523 - } // 524 - }; // 525 - } // 526 - // 527 - // This is for `asap.js` only. // 528 - // Its name will be periodically randomized to break any code that depends on // 529 - // its existence. // 530 - rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; // 531 - // 532 - // ASAP was originally a nextTick shim included in Q. This was factored out // 533 - // into this ASAP package. It was later adapted to RSVP which made further // 534 - // amendments. These decisions, particularly to marginalize MessageChannel and // 535 - // to capture the MutationObserver implementation in a closure, were integrated // 536 - // back into ASAP proper. // 537 - // https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js // 538 - // 539 - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) // 540 - // 541 -/***/ }, // 542 -/* 6 */ // 543 -/***/ function(module, exports, __webpack_require__) { // 544 - // 545 - 'use strict'; // 546 - // 547 - var Promise = __webpack_require__(4); // 548 - // 549 - module.exports = Promise; // 550 - Promise.prototype.done = function (onFulfilled, onRejected) { // 551 - var self = arguments.length ? this.then.apply(this, arguments) : this; // 552 - self.then(null, function (err) { // 553 - setTimeout(function () { // 554 - throw err; // 555 - }, 0); // 556 - }); // 557 - }; // 558 - // 559 - // 560 -/***/ }, // 561 -/* 7 */ // 562 -/***/ function(module, exports, __webpack_require__) { // 563 - // 564 - 'use strict'; // 565 - // 566 - var Promise = __webpack_require__(4); // 567 - // 568 - module.exports = Promise; // 569 - Promise.prototype['finally'] = function (f) { // 570 - return this.then(function (value) { // 571 - return Promise.resolve(f()).then(function () { // 572 - return value; // 573 - }); // 574 - }, function (err) { // 575 - return Promise.resolve(f()).then(function () { // 576 - throw err; // 577 - }); // 578 - }); // 579 - }; // 580 - // 581 - // 582 -/***/ }, // 583 -/* 8 */ // 584 -/***/ function(module, exports, __webpack_require__) { // 585 - // 586 - 'use strict'; // 587 - // 588 - //This file contains the ES6 extensions to the core Promises/A+ API // 589 - // 590 - var Promise = __webpack_require__(4); // 591 - // 592 - module.exports = Promise; // 593 - // 594 - /* Static Functions */ // 595 - // 596 - var TRUE = valuePromise(true); // 597 - var FALSE = valuePromise(false); // 598 - var NULL = valuePromise(null); // 599 - var UNDEFINED = valuePromise(undefined); // 600 - var ZERO = valuePromise(0); // 601 - var EMPTYSTRING = valuePromise(''); // 602 - // 603 - function valuePromise(value) { // 604 - var p = new Promise(Promise._99); // 605 - p._37 = 1; // 606 - p._12 = value; // 607 - return p; // 608 - } // 609 - Promise.resolve = function (value) { // 610 - if (value instanceof Promise) return value; // 611 - // 612 - if (value === null) return NULL; // 613 - if (value === undefined) return UNDEFINED; // 614 - if (value === true) return TRUE; // 615 - if (value === false) return FALSE; // 616 - if (value === 0) return ZERO; // 617 - if (value === '') return EMPTYSTRING; // 618 - // 619 - if (typeof value === 'object' || typeof value === 'function') { // 620 - try { // 621 - var then = value.then; // 622 - if (typeof then === 'function') { // 623 - return new Promise(then.bind(value)); // 624 - } // 625 - } catch (ex) { // 626 - return new Promise(function (resolve, reject) { // 627 - reject(ex); // 628 - }); // 629 - } // 630 - } // 631 - return valuePromise(value); // 632 - }; // 633 - // 634 - Promise.all = function (arr) { // 635 - var args = Array.prototype.slice.call(arr); // 636 - // 637 - return new Promise(function (resolve, reject) { // 638 - if (args.length === 0) return resolve([]); // 639 - var remaining = args.length; // 640 - function res(i, val) { // 641 - if (val && (typeof val === 'object' || typeof val === 'function')) { // 642 - if (val instanceof Promise && val.then === Promise.prototype.then) { // 643 - while (val._37 === 3) { // 644 - val = val._12; // 645 - } // 646 - if (val._37 === 1) return res(i, val._12); // 647 - if (val._37 === 2) reject(val._12); // 648 - val.then(function (val) { // 649 - res(i, val); // 650 - }, reject); // 651 - return; // 652 - } else { // 653 - var then = val.then; // 654 - if (typeof then === 'function') { // 655 - var p = new Promise(then.bind(val)); // 656 - p.then(function (val) { // 657 - res(i, val); // 658 - }, reject); // 659 - return; // 660 - } // 661 - } // 662 - } // 663 - args[i] = val; // 664 - if (--remaining === 0) { // 665 - resolve(args); // 666 - } // 667 - } // 668 - for (var i = 0; i < args.length; i++) { // 669 - res(i, args[i]); // 670 - } // 671 - }); // 672 - }; // 673 - // 674 - Promise.reject = function (value) { // 675 - return new Promise(function (resolve, reject) { // 676 - reject(value); // 677 - }); // 678 - }; // 679 - // 680 - Promise.race = function (values) { // 681 - return new Promise(function (resolve, reject) { // 682 - values.forEach(function(value){ // 683 - Promise.resolve(value).then(resolve, reject); // 684 - }); // 685 - }); // 686 - }; // 687 - // 688 - /* Prototype Methods */ // 689 - // 690 - Promise.prototype['catch'] = function (onRejected) { // 691 - return this.then(null, onRejected); // 692 - }; // 693 - // 694 - // 695 -/***/ }, // 696 -/* 9 */ // 697 -/***/ function(module, exports, __webpack_require__) { // 698 - // 699 - 'use strict'; // 700 - // 701 - // This file contains then/promise specific extensions that are only useful // 702 - // for node.js interop // 703 - // 704 - var Promise = __webpack_require__(4); // 705 - var asap = __webpack_require__(10); // 706 - // 707 - module.exports = Promise; // 708 - // 709 - /* Static Functions */ // 710 - // 711 - Promise.denodeify = function (fn, argumentCount) { // 712 - argumentCount = argumentCount || Infinity; // 713 - return function () { // 714 - var self = this; // 715 - var args = Array.prototype.slice.call(arguments, 0, // 716 - argumentCount > 0 ? argumentCount : 0); // 717 - return new Promise(function (resolve, reject) { // 718 - args.push(function (err, res) { // 719 - if (err) reject(err); // 720 - else resolve(res); // 721 - }) // 722 - var res = fn.apply(self, args); // 723 - if (res && // 724 - ( // 725 - typeof res === 'object' || // 726 - typeof res === 'function' // 727 - ) && // 728 - typeof res.then === 'function' // 729 - ) { // 730 - resolve(res); // 731 - } // 732 - }) // 733 - } // 734 - } // 735 - Promise.nodeify = function (fn) { // 736 - return function () { // 737 - var args = Array.prototype.slice.call(arguments); // 738 - var callback = // 739 - typeof args[args.length - 1] === 'function' ? args.pop() : null; // 740 - var ctx = this; // 741 - try { // 742 - return fn.apply(this, arguments).nodeify(callback, ctx); // 743 - } catch (ex) { // 744 - if (callback === null || typeof callback == 'undefined') { // 745 - return new Promise(function (resolve, reject) { // 746 - reject(ex); // 747 - }); // 748 - } else { // 749 - asap(function () { // 750 - callback.call(ctx, ex); // 751 - }) // 752 - } // 753 - } // 754 - } // 755 - } // 756 - // 757 - Promise.prototype.nodeify = function (callback, ctx) { // 758 - if (typeof callback != 'function') return this; // 759 - // 760 - this.then(function (value) { // 761 - asap(function () { // 762 - callback.call(ctx, null, value); // 763 - }); // 764 - }, function (err) { // 765 - asap(function () { // 766 - callback.call(ctx, err); // 767 - }); // 768 - }); // 769 - } // 770 - // 771 - // 772 -/***/ }, // 773 -/* 10 */ // 774 -/***/ function(module, exports, __webpack_require__) { // 775 - // 776 - "use strict"; // 777 - // 778 - // rawAsap provides everything we need except exception management. // 779 - var rawAsap = __webpack_require__(5); // 780 - // RawTasks are recycled to reduce GC churn. // 781 - var freeTasks = []; // 782 - // We queue errors to ensure they are thrown in right order (FIFO). // 783 - // Array-as-queue is good enough here, since we are just dealing with exceptions. // 784 - var pendingErrors = []; // 785 - var requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError); // 786 - // 787 - function throwFirstError() { // 788 - if (pendingErrors.length) { // 789 - throw pendingErrors.shift(); // 790 - } // 791 - } // 792 - // 793 - /** // 794 - * Calls a task as soon as possible after returning, in its own event, with priority // 795 - * over other events like animation, reflow, and repaint. An error thrown from an // 796 - * event will not interrupt, nor even substantially slow down the processing of // 797 - * other events, but will be rather postponed to a lower priority event. // 798 - * @param {{call}} task A callable object, typically a function that takes no // 799 - * arguments. // 800 - */ // 801 - module.exports = asap; // 802 - function asap(task) { // 803 - var rawTask; // 804 - if (freeTasks.length) { // 805 - rawTask = freeTasks.pop(); // 806 - } else { // 807 - rawTask = new RawTask(); // 808 - } // 809 - rawTask.task = task; // 810 - rawAsap(rawTask); // 811 - } // 812 - // 813 - // We wrap tasks with recyclable task objects. A task object implements // 814 - // `call`, just like a function. // 815 - function RawTask() { // 816 - this.task = null; // 817 - } // 818 - // 819 - // The sole purpose of wrapping the task is to catch the exception and recycle // 820 - // the task object after its single use. // 821 - RawTask.prototype.call = function () { // 822 - try { // 823 - this.task.call(); // 824 - } catch (error) { // 825 - if (asap.onerror) { // 826 - // This hook exists purely for testing purposes. // 827 - // Its name will be periodically randomized to break any code that // 828 - // depends on its existence. // 829 - asap.onerror(error); // 830 - } else { // 831 - // In a web browser, exceptions are not fatal. However, to avoid // 832 - // slowing down the queue of pending tasks, we rethrow the error in a // 833 - // lower priority turn. // 834 - pendingErrors.push(error); // 835 - requestErrorThrow(); // 836 - } // 837 - } finally { // 838 - this.task = null; // 839 - freeTasks[freeTasks.length] = this; // 840 - } // 841 - }; // 842 - // 843 - // 844 -/***/ } // 845 -/******/ ]); // 846 -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// packages/promise/client.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +exports.Promise = require("meteor-promise"); // 1 + // 2 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -}).call(this); +}],"node_modules":{"meteor-promise":{"package.json":function(require,exports){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// ../npm/node_modules/meteor-promise/package.json // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +exports.name = "meteor-promise"; // 1 +exports.version = "0.6.3"; // 2 +exports.main = "promise_client.js"; // 3 + // 4 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"promise_client.js":["./promise.js",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/promise_client.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var MeteorPromise = require("./promise.js"); // 1 + // 2 +var es6PromiseThen = MeteorPromise.prototype.then; // 3 +MeteorPromise.prototype.then = function (onResolved, onRejected) { // 4 + if (typeof Meteor === "object" && // 5 + typeof Meteor.bindEnvironment === "function") { // 6 + return es6PromiseThen.call( // 7 + this, // 8 + onResolved && Meteor.bindEnvironment(onResolved, raise), // 9 + onRejected && Meteor.bindEnvironment(onRejected, raise) // 10 + ); // 11 + } // 12 + return es6PromiseThen.call(this, onResolved, onRejected); // 13 +}; // 14 + // 15 +function raise(exception) { // 16 + throw exception; // 17 +} // 18 + // 19 +module.exports = exports = MeteorPromise; // 20 + // 21 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"promise.js":["promise",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/promise.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var hasOwn = Object.prototype.hasOwnProperty; // 1 + // 2 +var g = // 3 + typeof global === "object" ? global : // 4 + typeof window === "object" ? window : // 5 + typeof self === "object" ? self : this; // 6 + // 7 +var GlobalPromise = g.Promise; // 8 +var NpmPromise = require("promise"); // 9 + // 10 +function copyMethods(target, source) { // 11 + Object.keys(source).forEach(function (key) { // 12 + var value = source[key]; // 13 + if (typeof value === "function" && // 14 + ! hasOwn.call(target, key)) { // 15 + target[key] = value; // 16 + } // 17 + }); // 18 +} // 19 + // 20 +if (typeof GlobalPromise === "function") { // 21 + copyMethods(GlobalPromise, NpmPromise); // 22 + copyMethods(GlobalPromise.prototype, NpmPromise.prototype); // 23 + module.exports = GlobalPromise; // 24 +} else { // 25 + module.exports = NpmPromise; // 26 +} // 27 + // 28 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"node_modules":{"promise":{"package.json":function(require,exports){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// ../npm/node_modules/meteor-promise/node_modules/promise/package.json // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +exports.name = "promise"; // 1 +exports.version = "7.1.1"; // 2 +exports.main = "index.js"; // 3 + // 4 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"index.js":["./lib",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/index.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +module.exports = require('./lib') // 3 + // 4 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"lib":{"index.js":["./core.js","./done.js","./finally.js","./es6-extensions.js","./node-extensions.js","./synchronous.js",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/index.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +module.exports = require('./core.js'); // 3 +require('./done.js'); // 4 +require('./finally.js'); // 5 +require('./es6-extensions.js'); // 6 +require('./node-extensions.js'); // 7 +require('./synchronous.js'); // 8 + // 9 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"core.js":["asap/raw",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/core.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +var asap = require('asap/raw'); // 3 + // 4 +function noop() {} // 5 + // 6 +// States: // 7 +// // 8 +// 0 - pending // 9 +// 1 - fulfilled with _value // 10 +// 2 - rejected with _value // 11 +// 3 - adopted the state of another promise, _value // 12 +// // 13 +// once the state is no longer pending (0) it is immutable // 14 + // 15 +// All `_` prefixed properties will be reduced to `_{random number}` // 16 +// at build time to obfuscate them and discourage their use. // 17 +// We don't use symbols or Object.defineProperty to fully hide them // 18 +// because the performance isn't good enough. // 19 + // 20 + // 21 +// to avoid using try/catch inside critical functions, we // 22 +// extract them to here. // 23 +var LAST_ERROR = null; // 24 +var IS_ERROR = {}; // 25 +function getThen(obj) { // 26 + try { // 27 + return obj.then; // 28 + } catch (ex) { // 29 + LAST_ERROR = ex; // 30 + return IS_ERROR; // 31 + } // 32 +} // 33 + // 34 +function tryCallOne(fn, a) { // 35 + try { // 36 + return fn(a); // 37 + } catch (ex) { // 38 + LAST_ERROR = ex; // 39 + return IS_ERROR; // 40 + } // 41 +} // 42 +function tryCallTwo(fn, a, b) { // 43 + try { // 44 + fn(a, b); // 45 + } catch (ex) { // 46 + LAST_ERROR = ex; // 47 + return IS_ERROR; // 48 + } // 49 +} // 50 + // 51 +module.exports = Promise; // 52 + // 53 +function Promise(fn) { // 54 + if (typeof this !== 'object') { // 55 + throw new TypeError('Promises must be constructed via new'); // 56 + } // 57 + if (typeof fn !== 'function') { // 58 + throw new TypeError('not a function'); // 59 + } // 60 + this._45 = 0; // 61 + this._81 = 0; // 62 + this._65 = null; // 63 + this._54 = null; // 64 + if (fn === noop) return; // 65 + doResolve(fn, this); // 66 +} // 67 +Promise._10 = null; // 68 +Promise._97 = null; // 69 +Promise._61 = noop; // 70 + // 71 +Promise.prototype.then = function(onFulfilled, onRejected) { // 72 + if (this.constructor !== Promise) { // 73 + return safeThen(this, onFulfilled, onRejected); // 74 + } // 75 + var res = new Promise(noop); // 76 + handle(this, new Handler(onFulfilled, onRejected, res)); // 77 + return res; // 78 +}; // 79 + // 80 +function safeThen(self, onFulfilled, onRejected) { // 81 + return new self.constructor(function (resolve, reject) { // 82 + var res = new Promise(noop); // 83 + res.then(resolve, reject); // 84 + handle(self, new Handler(onFulfilled, onRejected, res)); // 85 + }); // 86 +}; // 87 +function handle(self, deferred) { // 88 + while (self._81 === 3) { // 89 + self = self._65; // 90 + } // 91 + if (Promise._10) { // 92 + Promise._10(self); // 93 + } // 94 + if (self._81 === 0) { // 95 + if (self._45 === 0) { // 96 + self._45 = 1; // 97 + self._54 = deferred; // 98 + return; // 99 + } // 100 + if (self._45 === 1) { // 101 + self._45 = 2; // 102 + self._54 = [self._54, deferred]; // 103 + return; // 104 + } // 105 + self._54.push(deferred); // 106 + return; // 107 + } // 108 + handleResolved(self, deferred); // 109 +} // 110 + // 111 +function handleResolved(self, deferred) { // 112 + asap(function() { // 113 + var cb = self._81 === 1 ? deferred.onFulfilled : deferred.onRejected; // 114 + if (cb === null) { // 115 + if (self._81 === 1) { // 116 + resolve(deferred.promise, self._65); // 117 + } else { // 118 + reject(deferred.promise, self._65); // 119 + } // 120 + return; // 121 + } // 122 + var ret = tryCallOne(cb, self._65); // 123 + if (ret === IS_ERROR) { // 124 + reject(deferred.promise, LAST_ERROR); // 125 + } else { // 126 + resolve(deferred.promise, ret); // 127 + } // 128 + }); // 129 +} // 130 +function resolve(self, newValue) { // 131 + // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure + if (newValue === self) { // 133 + return reject( // 134 + self, // 135 + new TypeError('A promise cannot be resolved with itself.') // 136 + ); // 137 + } // 138 + if ( // 139 + newValue && // 140 + (typeof newValue === 'object' || typeof newValue === 'function') // 141 + ) { // 142 + var then = getThen(newValue); // 143 + if (then === IS_ERROR) { // 144 + return reject(self, LAST_ERROR); // 145 + } // 146 + if ( // 147 + then === self.then && // 148 + newValue instanceof Promise // 149 + ) { // 150 + self._81 = 3; // 151 + self._65 = newValue; // 152 + finale(self); // 153 + return; // 154 + } else if (typeof then === 'function') { // 155 + doResolve(then.bind(newValue), self); // 156 + return; // 157 + } // 158 + } // 159 + self._81 = 1; // 160 + self._65 = newValue; // 161 + finale(self); // 162 +} // 163 + // 164 +function reject(self, newValue) { // 165 + self._81 = 2; // 166 + self._65 = newValue; // 167 + if (Promise._97) { // 168 + Promise._97(self, newValue); // 169 + } // 170 + finale(self); // 171 +} // 172 +function finale(self) { // 173 + if (self._45 === 1) { // 174 + handle(self, self._54); // 175 + self._54 = null; // 176 + } // 177 + if (self._45 === 2) { // 178 + for (var i = 0; i < self._54.length; i++) { // 179 + handle(self, self._54[i]); // 180 + } // 181 + self._54 = null; // 182 + } // 183 +} // 184 + // 185 +function Handler(onFulfilled, onRejected, promise){ // 186 + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; // 187 + this.onRejected = typeof onRejected === 'function' ? onRejected : null; // 188 + this.promise = promise; // 189 +} // 190 + // 191 +/** // 192 + * Take a potentially misbehaving resolver function and make sure // 193 + * onFulfilled and onRejected are only called once. // 194 + * // 195 + * Makes no guarantees about asynchrony. // 196 + */ // 197 +function doResolve(fn, promise) { // 198 + var done = false; // 199 + var res = tryCallTwo(fn, function (value) { // 200 + if (done) return; // 201 + done = true; // 202 + resolve(promise, value); // 203 + }, function (reason) { // 204 + if (done) return; // 205 + done = true; // 206 + reject(promise, reason); // 207 + }) // 208 + if (!done && res === IS_ERROR) { // 209 + done = true; // 210 + reject(promise, LAST_ERROR); // 211 + } // 212 +} // 213 + // 214 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"done.js":["./core.js",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/done.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +var Promise = require('./core.js'); // 3 + // 4 +module.exports = Promise; // 5 +Promise.prototype.done = function (onFulfilled, onRejected) { // 6 + var self = arguments.length ? this.then.apply(this, arguments) : this; // 7 + self.then(null, function (err) { // 8 + setTimeout(function () { // 9 + throw err; // 10 + }, 0); // 11 + }); // 12 +}; // 13 + // 14 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"finally.js":["./core.js",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/finally.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +var Promise = require('./core.js'); // 3 + // 4 +module.exports = Promise; // 5 +Promise.prototype['finally'] = function (f) { // 6 + return this.then(function (value) { // 7 + return Promise.resolve(f()).then(function () { // 8 + return value; // 9 + }); // 10 + }, function (err) { // 11 + return Promise.resolve(f()).then(function () { // 12 + throw err; // 13 + }); // 14 + }); // 15 +}; // 16 + // 17 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"es6-extensions.js":["./core.js",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/es6-extensions.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +//This file contains the ES6 extensions to the core Promises/A+ API // 3 + // 4 +var Promise = require('./core.js'); // 5 + // 6 +module.exports = Promise; // 7 + // 8 +/* Static Functions */ // 9 + // 10 +var TRUE = valuePromise(true); // 11 +var FALSE = valuePromise(false); // 12 +var NULL = valuePromise(null); // 13 +var UNDEFINED = valuePromise(undefined); // 14 +var ZERO = valuePromise(0); // 15 +var EMPTYSTRING = valuePromise(''); // 16 + // 17 +function valuePromise(value) { // 18 + var p = new Promise(Promise._61); // 19 + p._81 = 1; // 20 + p._65 = value; // 21 + return p; // 22 +} // 23 +Promise.resolve = function (value) { // 24 + if (value instanceof Promise) return value; // 25 + // 26 + if (value === null) return NULL; // 27 + if (value === undefined) return UNDEFINED; // 28 + if (value === true) return TRUE; // 29 + if (value === false) return FALSE; // 30 + if (value === 0) return ZERO; // 31 + if (value === '') return EMPTYSTRING; // 32 + // 33 + if (typeof value === 'object' || typeof value === 'function') { // 34 + try { // 35 + var then = value.then; // 36 + if (typeof then === 'function') { // 37 + return new Promise(then.bind(value)); // 38 + } // 39 + } catch (ex) { // 40 + return new Promise(function (resolve, reject) { // 41 + reject(ex); // 42 + }); // 43 + } // 44 + } // 45 + return valuePromise(value); // 46 +}; // 47 + // 48 +Promise.all = function (arr) { // 49 + var args = Array.prototype.slice.call(arr); // 50 + // 51 + return new Promise(function (resolve, reject) { // 52 + if (args.length === 0) return resolve([]); // 53 + var remaining = args.length; // 54 + function res(i, val) { // 55 + if (val && (typeof val === 'object' || typeof val === 'function')) { // 56 + if (val instanceof Promise && val.then === Promise.prototype.then) { // 57 + while (val._81 === 3) { // 58 + val = val._65; // 59 + } // 60 + if (val._81 === 1) return res(i, val._65); // 61 + if (val._81 === 2) reject(val._65); // 62 + val.then(function (val) { // 63 + res(i, val); // 64 + }, reject); // 65 + return; // 66 + } else { // 67 + var then = val.then; // 68 + if (typeof then === 'function') { // 69 + var p = new Promise(then.bind(val)); // 70 + p.then(function (val) { // 71 + res(i, val); // 72 + }, reject); // 73 + return; // 74 + } // 75 + } // 76 + } // 77 + args[i] = val; // 78 + if (--remaining === 0) { // 79 + resolve(args); // 80 + } // 81 + } // 82 + for (var i = 0; i < args.length; i++) { // 83 + res(i, args[i]); // 84 + } // 85 + }); // 86 +}; // 87 + // 88 +Promise.reject = function (value) { // 89 + return new Promise(function (resolve, reject) { // 90 + reject(value); // 91 + }); // 92 +}; // 93 + // 94 +Promise.race = function (values) { // 95 + return new Promise(function (resolve, reject) { // 96 + values.forEach(function(value){ // 97 + Promise.resolve(value).then(resolve, reject); // 98 + }); // 99 + }); // 100 +}; // 101 + // 102 +/* Prototype Methods */ // 103 + // 104 +Promise.prototype['catch'] = function (onRejected) { // 105 + return this.then(null, onRejected); // 106 +}; // 107 + // 108 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"node-extensions.js":["./core.js","asap",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/node-extensions.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +// This file contains then/promise specific extensions that are only useful // 3 +// for node.js interop // 4 + // 5 +var Promise = require('./core.js'); // 6 +var asap = require('asap'); // 7 + // 8 +module.exports = Promise; // 9 + // 10 +/* Static Functions */ // 11 + // 12 +Promise.denodeify = function (fn, argumentCount) { // 13 + if ( // 14 + typeof argumentCount === 'number' && argumentCount !== Infinity // 15 + ) { // 16 + return denodeifyWithCount(fn, argumentCount); // 17 + } else { // 18 + return denodeifyWithoutCount(fn); // 19 + } // 20 +} // 21 + // 22 +var callbackFn = ( // 23 + 'function (err, res) {' + // 24 + 'if (err) { rj(err); } else { rs(res); }' + // 25 + '}' // 26 +); // 27 +function denodeifyWithCount(fn, argumentCount) { // 28 + var args = []; // 29 + for (var i = 0; i < argumentCount; i++) { // 30 + args.push('a' + i); // 31 + } // 32 + var body = [ // 33 + 'return function (' + args.join(',') + ') {', // 34 + 'var self = this;', // 35 + 'return new Promise(function (rs, rj) {', // 36 + 'var res = fn.call(', // 37 + ['self'].concat(args).concat([callbackFn]).join(','), // 38 + ');', // 39 + 'if (res &&', // 40 + '(typeof res === "object" || typeof res === "function") &&', // 41 + 'typeof res.then === "function"', // 42 + ') {rs(res);}', // 43 + '});', // 44 + '};' // 45 + ].join(''); // 46 + return Function(['Promise', 'fn'], body)(Promise, fn); // 47 +} // 48 +function denodeifyWithoutCount(fn) { // 49 + var fnLength = Math.max(fn.length - 1, 3); // 50 + var args = []; // 51 + for (var i = 0; i < fnLength; i++) { // 52 + args.push('a' + i); // 53 + } // 54 + var body = [ // 55 + 'return function (' + args.join(',') + ') {', // 56 + 'var self = this;', // 57 + 'var args;', // 58 + 'var argLength = arguments.length;', // 59 + 'if (arguments.length > ' + fnLength + ') {', // 60 + 'args = new Array(arguments.length + 1);', // 61 + 'for (var i = 0; i < arguments.length; i++) {', // 62 + 'args[i] = arguments[i];', // 63 + '}', // 64 + '}', // 65 + 'return new Promise(function (rs, rj) {', // 66 + 'var cb = ' + callbackFn + ';', // 67 + 'var res;', // 68 + 'switch (argLength) {', // 69 + args.concat(['extra']).map(function (_, index) { // 70 + return ( // 71 + 'case ' + (index) + ':' + // 72 + 'res = fn.call(' + ['self'].concat(args.slice(0, index)).concat('cb').join(',') + ');' + // 73 + 'break;' // 74 + ); // 75 + }).join(''), // 76 + 'default:', // 77 + 'args[argLength] = cb;', // 78 + 'res = fn.apply(self, args);', // 79 + '}', // 80 + // 81 + 'if (res &&', // 82 + '(typeof res === "object" || typeof res === "function") &&', // 83 + 'typeof res.then === "function"', // 84 + ') {rs(res);}', // 85 + '});', // 86 + '};' // 87 + ].join(''); // 88 + // 89 + return Function( // 90 + ['Promise', 'fn'], // 91 + body // 92 + )(Promise, fn); // 93 +} // 94 + // 95 +Promise.nodeify = function (fn) { // 96 + return function () { // 97 + var args = Array.prototype.slice.call(arguments); // 98 + var callback = // 99 + typeof args[args.length - 1] === 'function' ? args.pop() : null; // 100 + var ctx = this; // 101 + try { // 102 + return fn.apply(this, arguments).nodeify(callback, ctx); // 103 + } catch (ex) { // 104 + if (callback === null || typeof callback == 'undefined') { // 105 + return new Promise(function (resolve, reject) { // 106 + reject(ex); // 107 + }); // 108 + } else { // 109 + asap(function () { // 110 + callback.call(ctx, ex); // 111 + }) // 112 + } // 113 + } // 114 + } // 115 +} // 116 + // 117 +Promise.prototype.nodeify = function (callback, ctx) { // 118 + if (typeof callback != 'function') return this; // 119 + // 120 + this.then(function (value) { // 121 + asap(function () { // 122 + callback.call(ctx, null, value); // 123 + }); // 124 + }, function (err) { // 125 + asap(function () { // 126 + callback.call(ctx, err); // 127 + }); // 128 + }); // 129 +} // 130 + // 131 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}],"synchronous.js":["./core.js",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/lib/synchronous.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +'use strict'; // 1 + // 2 +var Promise = require('./core.js'); // 3 + // 4 +module.exports = Promise; // 5 +Promise.enableSynchronous = function () { // 6 + Promise.prototype.isPending = function() { // 7 + return this.getState() == 0; // 8 + }; // 9 + // 10 + Promise.prototype.isFulfilled = function() { // 11 + return this.getState() == 1; // 12 + }; // 13 + // 14 + Promise.prototype.isRejected = function() { // 15 + return this.getState() == 2; // 16 + }; // 17 + // 18 + Promise.prototype.getValue = function () { // 19 + if (this._81 === 3) { // 20 + return this._65.getValue(); // 21 + } // 22 + // 23 + if (!this.isFulfilled()) { // 24 + throw new Error('Cannot get a value of an unfulfilled promise.'); // 25 + } // 26 + // 27 + return this._65; // 28 + }; // 29 + // 30 + Promise.prototype.getReason = function () { // 31 + if (this._81 === 3) { // 32 + return this._65.getReason(); // 33 + } // 34 + // 35 + if (!this.isRejected()) { // 36 + throw new Error('Cannot get a rejection reason of a non-rejected promise.'); // 37 + } // 38 + // 39 + return this._65; // 40 + }; // 41 + // 42 + Promise.prototype.getState = function () { // 43 + if (this._81 === 3) { // 44 + return this._65.getState(); // 45 + } // 46 + if (this._81 === -1 || this._81 === -2) { // 47 + return 0; // 48 + } // 49 + // 50 + return this._81; // 51 + }; // 52 +}; // 53 + // 54 +Promise.disableSynchronous = function() { // 55 + Promise.prototype.isPending = undefined; // 56 + Promise.prototype.isFulfilled = undefined; // 57 + Promise.prototype.isRejected = undefined; // 58 + Promise.prototype.getValue = undefined; // 59 + Promise.prototype.getReason = undefined; // 60 + Promise.prototype.getState = undefined; // 61 +}; // 62 + // 63 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}]},"node_modules":{"asap":{"raw.js":["domain",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/node_modules/asap/raw.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +"use strict"; // 1 + // 2 +var domain; // The domain module is executed on demand // 3 +var hasSetImmediate = typeof setImmediate === "function"; // 4 + // 5 +// Use the fastest means possible to execute a task in its own turn, with // 6 +// priority over other events including network IO events in Node.js. // 7 +// // 8 +// An exception thrown by a task will permanently interrupt the processing of // 9 +// subsequent tasks. The higher level `asap` function ensures that if an // 10 +// exception is thrown by a task, that the task queue will continue flushing as // 11 +// soon as possible, but if you use `rawAsap` directly, you are responsible to // 12 +// either ensure that no exceptions are thrown from your task, or to manually // 13 +// call `rawAsap.requestFlush` if an exception is thrown. // 14 +module.exports = rawAsap; // 15 +function rawAsap(task) { // 16 + if (!queue.length) { // 17 + requestFlush(); // 18 + flushing = true; // 19 + } // 20 + // Avoids a function call // 21 + queue[queue.length] = task; // 22 +} // 23 + // 24 +var queue = []; // 25 +// Once a flush has been requested, no further calls to `requestFlush` are // 26 +// necessary until the next `flush` completes. // 27 +var flushing = false; // 28 +// The position of the next task to execute in the task queue. This is // 29 +// preserved between calls to `flush` so that it can be resumed if // 30 +// a task throws an exception. // 31 +var index = 0; // 32 +// If a task schedules additional tasks recursively, the task queue can grow // 33 +// unbounded. To prevent memory excaustion, the task queue will periodically // 34 +// truncate already-completed tasks. // 35 +var capacity = 1024; // 36 + // 37 +// The flush function processes all tasks that have been scheduled with // 38 +// `rawAsap` unless and until one of those tasks throws an exception. // 39 +// If a task throws an exception, `flush` ensures that its state will remain // 40 +// consistent and will resume where it left off when called again. // 41 +// However, `flush` does not make any arrangements to be called again if an // 42 +// exception is thrown. // 43 +function flush() { // 44 + while (index < queue.length) { // 45 + var currentIndex = index; // 46 + // Advance the index before calling the task. This ensures that we will // 47 + // begin flushing on the next task the task throws an error. // 48 + index = index + 1; // 49 + queue[currentIndex].call(); // 50 + // Prevent leaking memory for long chains of recursive calls to `asap`. // 51 + // If we call `asap` within tasks scheduled by `asap`, the queue will // 52 + // grow, but to avoid an O(n) walk for every task we execute, we don't // 53 + // shift tasks off the queue after they have been executed. // 54 + // Instead, we periodically shift 1024 tasks off the queue. // 55 + if (index > capacity) { // 56 + // Manually shift all values starting at the index back to the // 57 + // beginning of the queue. // 58 + for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { // 59 + queue[scan] = queue[scan + index]; // 60 + } // 61 + queue.length -= index; // 62 + index = 0; // 63 + } // 64 + } // 65 + queue.length = 0; // 66 + index = 0; // 67 + flushing = false; // 68 +} // 69 + // 70 +rawAsap.requestFlush = requestFlush; // 71 +function requestFlush() { // 72 + // Ensure flushing is not bound to any domain. // 73 + // It is not sufficient to exit the domain, because domains exist on a stack. // 74 + // To execute code outside of any domain, the following dance is necessary. // 75 + var parentDomain = process.domain; // 76 + if (parentDomain) { // 77 + if (!domain) { // 78 + // Lazy execute the domain module. // 79 + // Only employed if the user elects to use domains. // 80 + domain = require("domain"); // 81 + } // 82 + domain.active = process.domain = null; // 83 + } // 84 + // 85 + // `setImmediate` is slower that `process.nextTick`, but `process.nextTick` // 86 + // cannot handle recursion. // 87 + // `requestFlush` will only be called recursively from `asap.js`, to resume // 88 + // flushing after an error is thrown into a domain. // 89 + // Conveniently, `setImmediate` was introduced in the same version // 90 + // `process.nextTick` started throwing recursion errors. // 91 + if (flushing && hasSetImmediate) { // 92 + setImmediate(flush); // 93 + } else { // 94 + process.nextTick(flush); // 95 + } // 96 + // 97 + if (parentDomain) { // 98 + domain.active = process.domain = parentDomain; // 99 + } // 100 +} // 101 + // 102 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +}],"package.json":function(require,exports){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// ../npm/node_modules/meteor-promise/node_modules/promise/node_modules/asap/package.json // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +exports.name = "asap"; // 1 +exports.version = "2.0.3"; // 2 +exports.main = "./asap.js"; // 3 + // 4 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +},"asap.js":["./raw",function(require,exports,module){ + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// node_modules/meteor/promise/node_modules/meteor-promise/node_modules/promise/node_modules/asap/asap.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +"use strict"; // 1 + // 2 +var rawAsap = require("./raw"); // 3 +var freeTasks = []; // 4 + // 5 +/** // 6 + * Calls a task as soon as possible after returning, in its own event, with // 7 + * priority over IO events. An exception thrown in a task can be handled by // 8 + * `process.on("uncaughtException") or `domain.on("error")`, but will otherwise // 9 + * crash the process. If the error is handled, all subsequent tasks will // 10 + * resume. // 11 + * // 12 + * @param {{call}} task A callable object, typically a function that takes no // 13 + * arguments. // 14 + */ // 15 +module.exports = asap; // 16 +function asap(task) { // 17 + var rawTask; // 18 + if (freeTasks.length) { // 19 + rawTask = freeTasks.pop(); // 20 + } else { // 21 + rawTask = new RawTask(); // 22 + } // 23 + rawTask.task = task; // 24 + rawTask.domain = process.domain; // 25 + rawAsap(rawTask); // 26 +} // 27 + // 28 +function RawTask() { // 29 + this.task = null; // 30 + this.domain = null; // 31 +} // 32 + // 33 +RawTask.prototype.call = function () { // 34 + if (this.domain) { // 35 + this.domain.enter(); // 36 + } // 37 + var threw = true; // 38 + try { // 39 + this.task.call(); // 40 + threw = false; // 41 + // If the task throws an exception (presumably) Node.js restores the // 42 + // domain stack for the next event. // 43 + if (this.domain) { // 44 + this.domain.exit(); // 45 + } // 46 + } finally { // 47 + // We use try/finally and a threw flag to avoid messing up stack traces // 48 + // when we catch and release errors. // 49 + if (threw) { // 50 + // In Node.js, uncaught exceptions are considered fatal errors. // 51 + // Re-throw them to interrupt flushing! // 52 + // Ensure that flushing continues if an uncaught exception is // 53 + // suppressed listening process.on("uncaughtException") or // 54 + // domain.on("error"). // 55 + rawAsap.requestFlush(); // 56 + } // 57 + // If the task threw an error, we do not want to exit the domain here. // 58 + // Exiting the domain would prevent the domain from catching the error. // 59 + this.task = null; // 60 + this.domain = null; // 61 + freeTasks.push(this); // 62 + } // 63 +}; // 64 + // 65 + // 66 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +}]}}}}}}}}}},{"extensions":[".js",".json"]}); +var exports = require("./node_modules/meteor/promise/client.js"); /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package.promise = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package.promise = exports, { Promise: Promise -}; +}); })(); ////////////////////////////////////////////////////////////////////////// @@ -5050,305 +6524,356 @@ Package.promise = { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var _ = Package.underscore._; var Tracker = Package.tracker.Tracker; var Deps = Package.tracker.Deps; var EJSON = Package.ejson.EJSON; -var ECMAScript = Package.ecmascript.ECMAScript; -var babelHelpers = Package['babel-runtime'].babelHelpers; +var meteorInstall = Package.modules.meteorInstall; +var Buffer = Package.modules.Buffer; +var process = Package.modules.process; var Symbol = Package['ecmascript-runtime'].Symbol; var Map = Package['ecmascript-runtime'].Map; var Set = Package['ecmascript-runtime'].Set; +var meteorBabelHelpers = Package['babel-runtime'].meteorBabelHelpers; var Promise = Package.promise.Promise; /* Package-scope variables */ var ReactiveDict; -(function(){ - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// packages/reactive-dict/reactive-dict.js // -// // -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // -// XXX come up with a serialization method which canonicalizes object key // -// order, which would allow us to use objects as values for equals. // -var stringify = function (value) { // 3 - if (value === undefined) return 'undefined'; // 4 - return EJSON.stringify(value); // 6 -}; // -var parse = function (serialized) { // 8 - if (serialized === undefined || serialized === 'undefined') return undefined; // 9 - return EJSON.parse(serialized); // 11 -}; // - // -var changed = function (v) { // 14 - v && v.changed(); // 15 -}; // - // -// XXX COMPAT WITH 0.9.1 : accept migrationData instead of dictName // -ReactiveDict = function (dictName) { // 19 - // this.keys: key -> value // - if (dictName) { // 21 - if (typeof dictName === 'string') { // 22 - // the normal case, argument is a string name. // - // _registerDictForMigrate will throw an error on duplicate name. // - ReactiveDict._registerDictForMigrate(dictName, this); // 25 - this.keys = ReactiveDict._loadMigratedDict(dictName) || {}; // 26 - this.name = dictName; // 27 - } else if (typeof dictName === 'object') { // - // back-compat case: dictName is actually migrationData // - this.keys = dictName; // 30 - } else { // - throw new Error("Invalid ReactiveDict argument: " + dictName); // 32 - } // - } else { // - // no name given; no migration will be performed // - this.keys = {}; // 36 - } // - // - this.allDeps = new Tracker.Dependency(); // 39 - this.keyDeps = {}; // key -> Dependency // 40 - this.keyValueDeps = {}; // key -> Dependency // 41 -}; // - // -_.extend(ReactiveDict.prototype, { // 44 - // set() began as a key/value method, but we are now overloading it // - // to take an object of key/value pairs, similar to backbone // - // http://backbonejs.org/#Model-set // - // - set: function (keyOrObject, value) { // 49 - var self = this; // 50 - // - if (typeof keyOrObject === 'object' && value === undefined) { // 52 - // Called as `dict.set({...})` // - self._setObject(keyOrObject); // 54 - return; // 55 - } // - // the input isn't an object, so it must be a key // - // and we resume with the rest of the function // - var key = keyOrObject; // 59 - // - value = stringify(value); // 61 - // - var keyExisted = _.has(self.keys, key); // 63 - var oldSerializedValue = keyExisted ? self.keys[key] : 'undefined'; // 64 - var isNewValue = value !== oldSerializedValue; // 65 - // - self.keys[key] = value; // 67 - // - if (isNewValue || !keyExisted) { // 69 - self.allDeps.changed(); // 70 - } // - // - if (isNewValue) { // 73 - changed(self.keyDeps[key]); // 74 - if (self.keyValueDeps[key]) { // 75 - changed(self.keyValueDeps[key][oldSerializedValue]); // 76 - changed(self.keyValueDeps[key][value]); // 77 - } // - } // - }, // - // - setDefault: function (key, value) { // 82 - var self = this; // 83 - if (!_.has(self.keys, key)) { // 84 - self.set(key, value); // 85 - } // - }, // - // - get: function (key) { // 89 - var self = this; // 90 - self._ensureKey(key); // 91 - self.keyDeps[key].depend(); // 92 - return parse(self.keys[key]); // 93 - }, // - // - equals: function (key, value) { // 96 - var self = this; // 97 - // - // Mongo.ObjectID is in the 'mongo' package // - var ObjectID = null; // 100 - if (Package.mongo) { // 101 - ObjectID = Package.mongo.Mongo.ObjectID; // 102 - } // - // - // We don't allow objects (or arrays that might include objects) for // - // .equals, because JSON.stringify doesn't canonicalize object key // - // order. (We can make equals have the right return value by parsing the // - // current value and using EJSON.equals, but we won't have a canonical // - // element of keyValueDeps[key] to store the dependency.) You can still use // - // "EJSON.equals(reactiveDict.get(key), value)". // - // // - // XXX we could allow arrays as long as we recursively check that there // - // are no objects // - if (typeof value !== 'string' && typeof value !== 'number' && typeof value !== 'boolean' && typeof value !== 'undefined' && !(value instanceof Date) && !(ObjectID && value instanceof ObjectID) && value !== null) { - throw new Error("ReactiveDict.equals: value must be scalar"); // 121 - } // - var serializedValue = stringify(value); // 123 - // - if (Tracker.active) { // 125 - self._ensureKey(key); // 126 - // - if (!_.has(self.keyValueDeps[key], serializedValue)) self.keyValueDeps[key][serializedValue] = new Tracker.Dependency(); - // - var isNew = self.keyValueDeps[key][serializedValue].depend(); // 131 - if (isNew) { // 132 - Tracker.onInvalidate(function () { // 133 - // clean up [key][serializedValue] if it's now empty, so we don't // - // use O(n) memory for n = values seen ever // - if (!self.keyValueDeps[key][serializedValue].hasDependents()) delete self.keyValueDeps[key][serializedValue]; - }); // - } // - } // - // - var oldValue = undefined; // 142 - if (_.has(self.keys, key)) oldValue = parse(self.keys[key]); // 143 - return EJSON.equals(oldValue, value); // 144 - }, // - // - all: function () { // 147 - this.allDeps.depend(); // 148 - var ret = {}; // 149 - _.each(this.keys, function (value, key) { // 150 - ret[key] = parse(value); // 151 - }); // - return ret; // 153 - }, // - // - clear: function () { // 156 - var self = this; // 157 - // - var oldKeys = self.keys; // 159 - self.keys = {}; // 160 - // - self.allDeps.changed(); // 162 - // - _.each(oldKeys, function (value, key) { // 164 - changed(self.keyDeps[key]); // 165 - changed(self.keyValueDeps[key][value]); // 166 - changed(self.keyValueDeps[key]['undefined']); // 167 - }); // - }, // - // - 'delete': function (key) { // 172 - var self = this; // 173 - var didRemove = false; // 174 - // - if (_.has(self.keys, key)) { // 176 - var oldValue = self.keys[key]; // 177 - delete self.keys[key]; // 178 - changed(self.keyDeps[key]); // 179 - if (self.keyValueDeps[key]) { // 180 - changed(self.keyValueDeps[key][oldValue]); // 181 - changed(self.keyValueDeps[key]['undefined']); // 182 - } // - self.allDeps.changed(); // 184 - didRemove = true; // 185 - } // - // - return didRemove; // 188 - }, // - // - _setObject: function (object) { // 191 - var self = this; // 192 - // - _.each(object, function (value, key) { // 194 - self.set(key, value); // 195 - }); // - }, // - // - _ensureKey: function (key) { // 199 - var self = this; // 200 - if (!(key in self.keyDeps)) { // 201 - self.keyDeps[key] = new Tracker.Dependency(); // 202 - self.keyValueDeps[key] = {}; // 203 - } // - }, // - // - // Get a JSON value that can be passed to the constructor to // - // create a new ReactiveDict with the same contents as this one // - _getMigrationData: function () { // 209 - // XXX sanitize and make sure it's JSONible? // - return this.keys; // 211 - } // -}); // -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -}).call(this); - - - +var require = meteorInstall({"node_modules":{"meteor":{"reactive-dict":{"reactive-dict.js":["babel-runtime/helpers/typeof",function(require){ +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// packages/reactive-dict/reactive-dict.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +var _typeof2 = require('babel-runtime/helpers/typeof'); // + // +var _typeof3 = _interopRequireDefault(_typeof2); // + // +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } // + // +// XXX come up with a serialization method which canonicalizes object key // +// order, which would allow us to use objects as values for equals. // +var stringify = function stringify(value) { // 3 + if (value === undefined) return 'undefined'; // 4 + return EJSON.stringify(value); // 6 +}; // +var parse = function parse(serialized) { // 8 + if (serialized === undefined || serialized === 'undefined') return undefined; // 9 + return EJSON.parse(serialized); // 11 +}; // + // +var changed = function changed(v) { // 14 + v && v.changed(); // 15 +}; // + // +// XXX COMPAT WITH 0.9.1 : accept migrationData instead of dictName // +ReactiveDict = function (_ReactiveDict) { // 19 + function ReactiveDict(_x) { // + return _ReactiveDict.apply(this, arguments); // + } // + // + ReactiveDict.toString = function () { // + return _ReactiveDict.toString(); // + }; // + // + return ReactiveDict; // +}(function (dictName) { // + // this.keys: key -> value // + if (dictName) { // 21 + if (typeof dictName === 'string') { // 22 + // the normal case, argument is a string name. // + // _registerDictForMigrate will throw an error on duplicate name. // + ReactiveDict._registerDictForMigrate(dictName, this); // 25 + this.keys = ReactiveDict._loadMigratedDict(dictName) || {}; // 26 + this.name = dictName; // 27 + } else if ((typeof dictName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(dictName)) === 'object') { + // back-compat case: dictName is actually migrationData // + this.keys = dictName; // 30 + } else { // + throw new Error("Invalid ReactiveDict argument: " + dictName); // 32 + } // + } else { // + // no name given; no migration will be performed // + this.keys = {}; // 36 + } // + // + this.allDeps = new Tracker.Dependency(); // 39 + this.keyDeps = {}; // key -> Dependency // 40 + this.keyValueDeps = {}; // key -> Dependency // 19 +}); // 19 + // +_.extend(ReactiveDict.prototype, { // 44 + // set() began as a key/value method, but we are now overloading it // + // to take an object of key/value pairs, similar to backbone // + // http://backbonejs.org/#Model-set // + // + set: function () { // 49 + function set(keyOrObject, value) { // 49 + var self = this; // 50 + // + if ((typeof keyOrObject === 'undefined' ? 'undefined' : (0, _typeof3['default'])(keyOrObject)) === 'object' && value === undefined) { + // Called as `dict.set({...})` // + self._setObject(keyOrObject); // 54 + return; // 55 + } // + // the input isn't an object, so it must be a key // + // and we resume with the rest of the function // + var key = keyOrObject; // 49 + // + value = stringify(value); // 61 + // + var keyExisted = _.has(self.keys, key); // 63 + var oldSerializedValue = keyExisted ? self.keys[key] : 'undefined'; // 64 + var isNewValue = value !== oldSerializedValue; // 65 + // + self.keys[key] = value; // 67 + // + if (isNewValue || !keyExisted) { // 69 + self.allDeps.changed(); // 70 + } // + // + if (isNewValue) { // 73 + changed(self.keyDeps[key]); // 74 + if (self.keyValueDeps[key]) { // 75 + changed(self.keyValueDeps[key][oldSerializedValue]); // 76 + changed(self.keyValueDeps[key][value]); // 77 + } // + } // + } // + // + return set; // + }(), // + // + setDefault: function () { // 82 + function setDefault(key, value) { // 82 + var self = this; // 83 + if (!_.has(self.keys, key)) { // 84 + self.set(key, value); // 85 + } // + } // + // + return setDefault; // + }(), // + // + get: function () { // 89 + function get(key) { // 89 + var self = this; // 90 + self._ensureKey(key); // 91 + self.keyDeps[key].depend(); // 92 + return parse(self.keys[key]); // 93 + } // + // + return get; // + }(), // + // + equals: function () { // 96 + function equals(key, value) { // 96 + var self = this; // 97 + // + // Mongo.ObjectID is in the 'mongo' package // + var ObjectID = null; // 96 + if (Package.mongo) { // 101 + ObjectID = Package.mongo.Mongo.ObjectID; // 102 + } // + // + // We don't allow objects (or arrays that might include objects) for // + // .equals, because JSON.stringify doesn't canonicalize object key // + // order. (We can make equals have the right return value by parsing the // + // current value and using EJSON.equals, but we won't have a canonical // + // element of keyValueDeps[key] to store the dependency.) You can still use // + // "EJSON.equals(reactiveDict.get(key), value)". // + // // + // XXX we could allow arrays as long as we recursively check that there // + // are no objects // + if (typeof value !== 'string' && typeof value !== 'number' && typeof value !== 'boolean' && typeof value !== 'undefined' && !(value instanceof Date) && !(ObjectID && value instanceof ObjectID) && value !== null) { + throw new Error("ReactiveDict.equals: value must be scalar"); // 121 + } // + var serializedValue = stringify(value); // 123 + // + if (Tracker.active) { // 125 + self._ensureKey(key); // 126 + // + if (!_.has(self.keyValueDeps[key], serializedValue)) self.keyValueDeps[key][serializedValue] = new Tracker.Dependency(); + // + var isNew = self.keyValueDeps[key][serializedValue].depend(); // 131 + if (isNew) { // 132 + Tracker.onInvalidate(function () { // 133 + // clean up [key][serializedValue] if it's now empty, so we don't // + // use O(n) memory for n = values seen ever // + if (!self.keyValueDeps[key][serializedValue].hasDependents()) delete self.keyValueDeps[key][serializedValue]; + }); // + } // + } // + // + var oldValue = undefined; // 142 + if (_.has(self.keys, key)) oldValue = parse(self.keys[key]); // 143 + return EJSON.equals(oldValue, value); // 144 + } // + // + return equals; // + }(), // + // + all: function () { // 147 + function all() { // 147 + this.allDeps.depend(); // 148 + var ret = {}; // 149 + _.each(this.keys, function (value, key) { // 150 + ret[key] = parse(value); // 151 + }); // + return ret; // 153 + } // + // + return all; // + }(), // + // + clear: function () { // 156 + function clear() { // 156 + var self = this; // 157 + // + var oldKeys = self.keys; // 159 + self.keys = {}; // 160 + // + self.allDeps.changed(); // 162 + // + _.each(oldKeys, function (value, key) { // 164 + changed(self.keyDeps[key]); // 165 + if (self.keyValueDeps[key]) { // 166 + changed(self.keyValueDeps[key][value]); // 167 + changed(self.keyValueDeps[key]['undefined']); // 168 + } // + }); // + } // + // + return clear; // + }(), // + // + 'delete': function () { // 174 + function _delete(key) { // 174 + var self = this; // 175 + var didRemove = false; // 176 + // + if (_.has(self.keys, key)) { // 178 + var oldValue = self.keys[key]; // 179 + delete self.keys[key]; // 180 + changed(self.keyDeps[key]); // 181 + if (self.keyValueDeps[key]) { // 182 + changed(self.keyValueDeps[key][oldValue]); // 183 + changed(self.keyValueDeps[key]['undefined']); // 184 + } // + self.allDeps.changed(); // 186 + didRemove = true; // 187 + } // + // + return didRemove; // 190 + } // + // + return _delete; // + }(), // + // + _setObject: function () { // 193 + function _setObject(object) { // 193 + var self = this; // 194 + // + _.each(object, function (value, key) { // 196 + self.set(key, value); // 197 + }); // + } // + // + return _setObject; // + }(), // + // + _ensureKey: function () { // 201 + function _ensureKey(key) { // 201 + var self = this; // 202 + if (!(key in self.keyDeps)) { // 203 + self.keyDeps[key] = new Tracker.Dependency(); // 204 + self.keyValueDeps[key] = {}; // 205 + } // + } // + // + return _ensureKey; // + }(), // + // + // Get a JSON value that can be passed to the constructor to // + // create a new ReactiveDict with the same contents as this one // + _getMigrationData: function () { // 211 + function _getMigrationData() { // 211 + // XXX sanitize and make sure it's JSONible? // + return this.keys; // 213 + } // + // + return _getMigrationData; // + }() // +}); // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +}],"migration.js":function(){ -(function(){ - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// packages/reactive-dict/migration.js // -// // -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // -ReactiveDict._migratedDictData = {}; // name -> data // 1 -ReactiveDict._dictsToMigrate = {}; // name -> ReactiveDict // 2 - // -ReactiveDict._loadMigratedDict = function (dictName) { // 4 - if (_.has(ReactiveDict._migratedDictData, dictName)) return ReactiveDict._migratedDictData[dictName]; // 5 - // - return null; // 8 -}; // - // -ReactiveDict._registerDictForMigrate = function (dictName, dict) { // 11 - if (_.has(ReactiveDict._dictsToMigrate, dictName)) throw new Error("Duplicate ReactiveDict name: " + dictName); - // - ReactiveDict._dictsToMigrate[dictName] = dict; // 15 -}; // - // -if (Meteor.isClient && Package.reload) { // 18 - // Put old migrated data into ReactiveDict._migratedDictData, // - // where it can be accessed by ReactiveDict._loadMigratedDict. // - var migrationData = Package.reload.Reload._migrationData('reactive-dict'); // 21 - if (migrationData && migrationData.dicts) ReactiveDict._migratedDictData = migrationData.dicts; // 22 - // - // On migration, assemble the data from all the dicts that have been // - // registered. // - Package.reload.Reload._onMigrate('reactive-dict', function () { // 27 - var dictsToMigrate = ReactiveDict._dictsToMigrate; // 28 - var dataToMigrate = {}; // 29 - // - for (var dictName in babelHelpers.sanitizeForInObject(dictsToMigrate)) dataToMigrate[dictName] = dictsToMigrate[dictName]._getMigrationData(); - // - return [true, { dicts: dataToMigrate }]; // 34 - }); // -} // -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -}).call(this); +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// // +// packages/reactive-dict/migration.js // +// // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // +ReactiveDict._migratedDictData = {}; // name -> data // 1 +ReactiveDict._dictsToMigrate = {}; // name -> ReactiveDict // 2 + // +ReactiveDict._loadMigratedDict = function (dictName) { // 4 + if (_.has(ReactiveDict._migratedDictData, dictName)) return ReactiveDict._migratedDictData[dictName]; // 5 + // + return null; // 8 +}; // + // +ReactiveDict._registerDictForMigrate = function (dictName, dict) { // 11 + if (_.has(ReactiveDict._dictsToMigrate, dictName)) throw new Error("Duplicate ReactiveDict name: " + dictName); // 12 + // + ReactiveDict._dictsToMigrate[dictName] = dict; // 15 +}; // + // +if (Meteor.isClient && Package.reload) { // 18 + // Put old migrated data into ReactiveDict._migratedDictData, // + // where it can be accessed by ReactiveDict._loadMigratedDict. // + var migrationData = Package.reload.Reload._migrationData('reactive-dict'); // 21 + if (migrationData && migrationData.dicts) ReactiveDict._migratedDictData = migrationData.dicts; // 22 + // + // On migration, assemble the data from all the dicts that have been // + // registered. // + Package.reload.Reload._onMigrate('reactive-dict', function () { // 18 + var dictsToMigrate = ReactiveDict._dictsToMigrate; // 28 + var dataToMigrate = {}; // 29 + // + for (var dictName in meteorBabelHelpers.sanitizeForInObject(dictsToMigrate)) { // 31 + dataToMigrate[dictName] = dictsToMigrate[dictName]._getMigrationData(); // 32 + }return [true, { dicts: dataToMigrate }]; // + }); // +} // +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +}}}}},{"extensions":[".js",".json"]}); +require("./node_modules/meteor/reactive-dict/reactive-dict.js"); +require("./node_modules/meteor/reactive-dict/migration.js"); /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['reactive-dict'] = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['reactive-dict'] = {}, { ReactiveDict: ReactiveDict -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var _ = Package.underscore._; var ReactiveDict = Package['reactive-dict'].ReactiveDict; var EJSON = Package.ejson.EJSON; @@ -5423,25 +6948,20 @@ Session = new ReactiveDict('session'); / /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package.session = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package.session = {}, { Session: Session -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var Tracker = Package.tracker.Tracker; var Deps = Package.tracker.Deps; @@ -5560,25 +7080,20 @@ ReactiveVar.prototype._numListeners = function() { /* Exports */ if (typeof Package === 'undefined') Package = {}; -Package['reactive-var'] = { +(function (pkg, symbols) { + for (var s in symbols) + (s in pkg) || (pkg[s] = symbols[s]); +})(Package['reactive-var'] = {}, { ReactiveVar: ReactiveVar -}; +}); })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var Mongo = Package.mongo.Mongo; var Tracker = Package.tracker.Tracker; var Deps = Package.tracker.Deps; @@ -5725,20 +7240,12 @@ if (typeof Package === 'undefined') Package = {}; Package['lai:collection-extensions'] = {}; })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var Mongo = Package.mongo.Mongo; var _ = Package.underscore._; @@ -5800,20 +7307,12 @@ if (typeof Package === 'undefined') Package = {}; Package['dburles:mongo-collection-instances'] = {}; })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; (function(){ @@ -9326,20 +10825,12 @@ if (typeof Package === 'undefined') Package = {}; Package['benjamine:jsondiffpatch'] = {}; })(); -////////////////////////////////////////////////////////////////////////// -// // -// This is a generated file. You can view the original // -// source in your browser if your browser supports source maps. // -// Source maps are supported by all recent versions of Chrome, Safari, // -// and Firefox, and by Internet Explorer 11. // -// // -////////////////////////////////////////////////////////////////////////// - - (function () { /* Imports */ var Meteor = Package.meteor.Meteor; +var global = Package.meteor.global; +var meteorEnv = Package.meteor.meteorEnv; var Session = Package.session.Session; var EJSON = Package.ejson.EJSON; var check = Package.check.check; @@ -9353,13 +10844,7 @@ var Mongo = Package.mongo.Mongo; var LocalCollection = Package.minimongo.LocalCollection; var Minimongo = Package.minimongo.Minimongo; var ObserveSequence = Package['observe-sequence'].ObserveSequence; -var ECMAScript = Package.ecmascript.ECMAScript; var ReactiveVar = Package['reactive-var'].ReactiveVar; -var babelHelpers = Package['babel-runtime'].babelHelpers; -var Symbol = Package['ecmascript-runtime'].Symbol; -var Map = Package['ecmascript-runtime'].Map; -var Set = Package['ecmascript-runtime'].Set; -var Promise = Package.promise.Promise; (function(){ @@ -9369,7 +10854,7 @@ var Promise = Package.promise.Promise; // // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // -/*! angular-meteor v1.3.9 */ // 1 +/*! angular-meteor v1.3.10 */ // 1 (function webpackUniversalModuleDefinition(root, factory) { // 2 if(typeof exports === 'object' && typeof module === 'object') // 3 module.exports = factory(require("underscore"), require("jsondiffpatch")); // 4 @@ -11269,559 +12754,577 @@ return /******/ (function(modules) { // webpackBootstrap } // 1898 // 1899 var computation = Tracker.autorun(fn, options); // 1900 - this.$$autoStop(computation); // 1901 - return computation; // 1902 - }; // 1903 - // 1904 - // Calls Meteor.subscribe() which will be digested after each invokation // 1905 - // and automatically destroyed // 1906 - $$Core.subscribe = function (subName, fn, cb) { // 1907 - fn = this.$bindToContext($Mixer.caller, fn || angular.noop); // 1908 - cb = cb ? this.$bindToContext($Mixer.caller, cb) : angular.noop; // 1909 - // 1910 - if (!_underscore2.default.isString(subName)) { // 1911 - throw Error('argument 1 must be a string'); // 1912 - } // 1913 - if (!_underscore2.default.isFunction(fn)) { // 1914 - throw Error('argument 2 must be a function'); // 1915 - } // 1916 - if (!_underscore2.default.isFunction(cb) && !_underscore2.default.isObject(cb)) { // 1917 - throw Error('argument 3 must be a function or an object'); // 1918 - } // 1919 - // 1920 - var result = {}; // 1921 - // 1922 - var computation = this.autorun(function () { // 1923 - var _Meteor; // 1924 - // 1925 - var args = fn(); // 1926 - if (angular.isUndefined(args)) args = []; // 1927 - // 1928 - if (!_underscore2.default.isArray(args)) { // 1929 - throw Error('reactive function\'s return value must be an array'); // 1930 - } // 1931 - // 1932 + // Reset to a function that will also stop the listener we just added // 1901 + computation.stop = this.$$autoStop(computation); // 1902 + return computation; // 1903 + }; // 1904 + // 1905 + // Calls Meteor.subscribe() which will be digested after each invokation // 1906 + // and automatically destroyed // 1907 + $$Core.subscribe = function (subName, fn, cb) { // 1908 + fn = this.$bindToContext($Mixer.caller, fn || angular.noop); // 1909 + cb = cb ? this.$bindToContext($Mixer.caller, cb) : angular.noop; // 1910 + // 1911 + if (!_underscore2.default.isString(subName)) { // 1912 + throw Error('argument 1 must be a string'); // 1913 + } // 1914 + if (!_underscore2.default.isFunction(fn)) { // 1915 + throw Error('argument 2 must be a function'); // 1916 + } // 1917 + if (!_underscore2.default.isFunction(cb) && !_underscore2.default.isObject(cb)) { // 1918 + throw Error('argument 3 must be a function or an object'); // 1919 + } // 1920 + // 1921 + var result = {}; // 1922 + // 1923 + var computation = this.autorun(function () { // 1924 + var _Meteor; // 1925 + // 1926 + var args = fn(); // 1927 + if (angular.isUndefined(args)) args = []; // 1928 + // 1929 + if (!_underscore2.default.isArray(args)) { // 1930 + throw Error('reactive function\'s return value must be an array'); // 1931 + } // 1932 + // 1933 var subscription = (_Meteor = Meteor).subscribe.apply(_Meteor, [subName].concat(_toConsumableArray(args), [cb])); - result.ready = subscription.ready.bind(subscription); // 1934 - result.subscriptionId = subscription.subscriptionId; // 1935 - }); // 1936 - // 1937 - // Once the computation has been stopped, // 1938 - // any subscriptions made inside will be stopped as well // 1939 - result.stop = computation.stop.bind(computation); // 1940 - return result; // 1941 - }; // 1942 - // 1943 - // Calls Meteor.call() wrapped by a digestion cycle // 1944 - $$Core.callMethod = function () { // 1945 - var _Meteor2; // 1946 - // 1947 - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { // 1948 - args[_key] = arguments[_key]; // 1949 - } // 1950 - // 1951 - var fn = args.pop(); // 1952 - if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn); // 1953 - return (_Meteor2 = Meteor).call.apply(_Meteor2, args.concat([fn])); // 1954 - }; // 1955 - // 1956 - // Calls Meteor.apply() wrapped by a digestion cycle // 1957 - $$Core.applyMethod = function () { // 1958 - var _Meteor3; // 1959 - // 1960 - for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { // 1961 - args[_key2] = arguments[_key2]; // 1962 - } // 1963 - // 1964 - var fn = args.pop(); // 1965 - if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn); // 1966 - return (_Meteor3 = Meteor).apply.apply(_Meteor3, args.concat([fn])); // 1967 - }; // 1968 - // 1969 - $$Core.$$autoStop = function (stoppable) { // 1970 - this.$on('$destroy', stoppable.stop.bind(stoppable)); // 1971 - }; // 1972 - // 1973 - // Digests scope only if there is no phase at the moment // 1974 - $$Core.$$throttledDigest = function () { // 1975 - var isDigestable = !this.$$destroyed && !this.$$phase && !this.$root.$$phase; // 1976 - // 1977 - if (isDigestable) this.$digest(); // 1978 - }; // 1979 - // 1980 - // Creates a promise only that the digestion cycle will be called at its fulfillment // 1981 - $$Core.$$defer = function () { // 1982 - var deferred = $q.defer(); // 1983 - // Once promise has been fulfilled, digest // 1984 - deferred.promise = deferred.promise.finally(this.$$throttledDigest.bind(this)); // 1985 - return deferred; // 1986 - }; // 1987 - // 1988 - // Binds an object or a function to the provided context and digest it once it is invoked // 1989 - $$Core.$bindToContext = function (context, fn) { // 1990 - return $$utils.bind(fn, context, this.$$throttledDigest.bind(this)); // 1991 + result.ready = subscription.ready.bind(subscription); // 1935 + result.subscriptionId = subscription.subscriptionId; // 1936 + }); // 1937 + // 1938 + // Once the computation has been stopped, // 1939 + // any subscriptions made inside will be stopped as well // 1940 + result.stop = computation.stop.bind(computation); // 1941 + return result; // 1942 + }; // 1943 + // 1944 + // Calls Meteor.call() wrapped by a digestion cycle // 1945 + $$Core.callMethod = function () { // 1946 + var _Meteor2; // 1947 + // 1948 + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { // 1949 + args[_key] = arguments[_key]; // 1950 + } // 1951 + // 1952 + var fn = args.pop(); // 1953 + if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn); // 1954 + return (_Meteor2 = Meteor).call.apply(_Meteor2, args.concat([fn])); // 1955 + }; // 1956 + // 1957 + // Calls Meteor.apply() wrapped by a digestion cycle // 1958 + $$Core.applyMethod = function () { // 1959 + var _Meteor3; // 1960 + // 1961 + for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { // 1962 + args[_key2] = arguments[_key2]; // 1963 + } // 1964 + // 1965 + var fn = args.pop(); // 1966 + if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn); // 1967 + return (_Meteor3 = Meteor).apply.apply(_Meteor3, args.concat([fn])); // 1968 + }; // 1969 + // 1970 + // Stops a process once the scope has been destroyed // 1971 + $$Core.$$autoStop = function (stoppable) { // 1972 + var removeListener = undefined; // 1973 + var baseStop = stoppable.stop.bind(stoppable); // 1974 + // 1975 + // Once the process has been stopped the destroy event listener will be removed // 1976 + // to avoid memory leaks and unexpected behaviours // 1977 + var stop = function stop() { // 1978 + removeListener(); // 1979 + return baseStop.apply(undefined, arguments); // 1980 + }; // 1981 + // 1982 + removeListener = this.$on('$destroy', stop); // 1983 + return stop; // 1984 + }; // 1985 + // 1986 + // Digests scope only if there is no phase at the moment // 1987 + $$Core.$$throttledDigest = function () { // 1988 + var isDigestable = !this.$$destroyed && !this.$$phase && !this.$root.$$phase; // 1989 + // 1990 + if (isDigestable) this.$digest(); // 1991 }; // 1992 // 1993 - return $$Core; // 1994 - }]); // 1995 - // 1996 -/***/ }, // 1997 -/* 20 */ // 1998 -/***/ function(module, exports, __webpack_require__) { // 1999 - // 2000 - 'use strict'; // 2001 - // 2002 - Object.defineProperty(exports, "__esModule", { // 2003 - value: true // 2004 - }); // 2005 - exports.reactive = exports.ViewModel = exports.name = undefined; // 2006 - // 2007 - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - // 2009 - var _underscore = __webpack_require__(2); // 2010 + // Creates a promise only that the digestion cycle will be called at its fulfillment // 1994 + $$Core.$$defer = function () { // 1995 + var deferred = $q.defer(); // 1996 + // Once promise has been fulfilled, digest // 1997 + deferred.promise = deferred.promise.finally(this.$$throttledDigest.bind(this)); // 1998 + return deferred; // 1999 + }; // 2000 + // 2001 + // Binds an object or a function to the provided context and digest it once it is invoked // 2002 + $$Core.$bindToContext = function (context, fn) { // 2003 + if (_underscore2.default.isFunction(context)) { // 2004 + fn = context; // 2005 + context = this; // 2006 + } // 2007 + // 2008 + return $$utils.bind(fn, context, this.$$throttledDigest.bind(this)); // 2009 + }; // 2010 // 2011 - var _underscore2 = _interopRequireDefault(_underscore); // 2012 - // 2013 - var _utils = __webpack_require__(16); // 2014 - // 2015 - var _mixer = __webpack_require__(17); // 2016 - // 2017 - var _core = __webpack_require__(19); // 2018 - // 2019 - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 2020 - // 2021 - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // 2023 - var name = exports.name = 'angular-meteor.view-model'; // 2024 - var ViewModel = exports.ViewModel = '$$ViewModel'; // 2025 - var reactive = exports.reactive = '$reactive'; // 2026 + return $$Core; // 2012 + }]); // 2013 + // 2014 +/***/ }, // 2015 +/* 20 */ // 2016 +/***/ function(module, exports, __webpack_require__) { // 2017 + // 2018 + 'use strict'; // 2019 + // 2020 + Object.defineProperty(exports, "__esModule", { // 2021 + value: true // 2022 + }); // 2023 + exports.reactive = exports.ViewModel = exports.name = undefined; // 2024 + // 2025 + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); // 2027 - angular.module(name, [_utils.name, _mixer.name, _core.name]) // 2028 + var _underscore = __webpack_require__(2); // 2028 // 2029 - /* // 2030 - A mixin which lets us bind a view model into a scope. // 2031 - Note that only a single view model can be bound, // 2032 - otherwise the scope might behave unexpectedly. // 2033 - Mainly used to define the controller as the view model, // 2034 - and very useful when wanting to use Angular's `controllerAs` syntax. // 2035 - */ // 2036 - .factory(ViewModel, [_utils.utils, _mixer.Mixer, function ($$utils, $Mixer) { // 2037 - function $$ViewModel() {} // 2038 + var _underscore2 = _interopRequireDefault(_underscore); // 2030 + // 2031 + var _utils = __webpack_require__(16); // 2032 + // 2033 + var _mixer = __webpack_require__(17); // 2034 + // 2035 + var _core = __webpack_require__(19); // 2036 + // 2037 + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 2038 // 2039 - // Gets an object, wraps it with scope functions and returns it // 2040 - $$ViewModel.viewModel = function (vm) { // 2041 - if (!_underscore2.default.isObject(vm)) { // 2042 - throw Error('argument 1 must be an object'); // 2043 - } // 2044 + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + // 2041 + var name = exports.name = 'angular-meteor.view-model'; // 2042 + var ViewModel = exports.ViewModel = '$$ViewModel'; // 2043 + var reactive = exports.reactive = '$reactive'; // 2044 // 2045 - // Extend view model with mixin functions // 2046 - $Mixer._extend(vm, { // 2047 - pattern: /^(?!\$\$).*$/, // Omitting methods which start with a $$ notation // 2048 - context: this // Binding methods to scope // 2049 - }); // 2050 - // 2051 - // Apply mixin constructors on scope with view model // 2052 - $Mixer._construct(this, vm); // 2053 - return vm; // 2054 - }; // 2055 - // 2056 - return $$ViewModel; // 2057 - }]) // 2058 - // 2059 - /* // 2060 - Illustrates the old API where a view model is created using $reactive service // 2061 - */ // 2062 - .service(reactive, [_utils.utils, function ($$utils) { // 2063 - var Reactive = function () { // 2064 - function Reactive(vm) { // 2065 - var _this = this; // 2066 - // 2067 - _classCallCheck(this, Reactive); // 2068 + angular.module(name, [_utils.name, _mixer.name, _core.name]) // 2046 + // 2047 + /* // 2048 + A mixin which lets us bind a view model into a scope. // 2049 + Note that only a single view model can be bound, // 2050 + otherwise the scope might behave unexpectedly. // 2051 + Mainly used to define the controller as the view model, // 2052 + and very useful when wanting to use Angular's `controllerAs` syntax. // 2053 + */ // 2054 + .factory(ViewModel, [_utils.utils, _mixer.Mixer, function ($$utils, $Mixer) { // 2055 + function $$ViewModel() {} // 2056 + // 2057 + // Gets an object, wraps it with scope functions and returns it // 2058 + $$ViewModel.viewModel = function (vm) { // 2059 + if (!_underscore2.default.isObject(vm)) { // 2060 + throw Error('argument 1 must be an object'); // 2061 + } // 2062 + // 2063 + // Extend view model with mixin functions // 2064 + $Mixer._extend(vm, { // 2065 + pattern: /^(?!\$\$).*$/, // Omitting methods which start with a $$ notation // 2066 + context: this // Binding methods to scope // 2067 + }); // 2068 // 2069 - if (!_underscore2.default.isObject(vm)) { // 2070 - throw Error('argument 1 must be an object'); // 2071 - } // 2072 - // 2073 - _underscore2.default.defer(function () { // 2074 - if (!_this._attached) { // 2075 - console.warn('view model was not attached to any scope'); // 2076 - } // 2077 - }); // 2078 - // 2079 - this._vm = vm; // 2080 - } // 2081 - // 2082 - _createClass(Reactive, [{ // 2083 - key: 'attach', // 2084 - value: function attach(scope) { // 2085 - this._attached = true; // 2086 + // Apply mixin constructors on scope with view model // 2070 + $Mixer._construct(this, vm); // 2071 + return vm; // 2072 + }; // 2073 + // 2074 + return $$ViewModel; // 2075 + }]) // 2076 + // 2077 + /* // 2078 + Illustrates the old API where a view model is created using $reactive service // 2079 + */ // 2080 + .service(reactive, [_utils.utils, function ($$utils) { // 2081 + var Reactive = function () { // 2082 + function Reactive(vm) { // 2083 + var _this = this; // 2084 + // 2085 + _classCallCheck(this, Reactive); // 2086 // 2087 - if (!$$utils.isScope(scope)) { // 2088 - throw Error('argument 1 must be a scope'); // 2089 - } // 2090 + if (!_underscore2.default.isObject(vm)) { // 2088 + throw Error('argument 1 must be an object'); // 2089 + } // 2090 // 2091 - var viewModel = scope.viewModel(this._vm); // 2092 - // 2093 - // Similar to the old/Meteor API // 2094 - viewModel.call = viewModel.callMethod; // 2095 - viewModel.apply = viewModel.applyMethod; // 2096 + _underscore2.default.defer(function () { // 2092 + if (!_this._attached) { // 2093 + console.warn('view model was not attached to any scope'); // 2094 + } // 2095 + }); // 2096 // 2097 - return viewModel; // 2098 - } // 2099 - }]); // 2100 - // 2101 - return Reactive; // 2102 - }(); // 2103 - // 2104 - return function (vm) { // 2105 - return new Reactive(vm); // 2106 - }; // 2107 - }]); // 2108 + this._vm = vm; // 2098 + } // 2099 + // 2100 + _createClass(Reactive, [{ // 2101 + key: 'attach', // 2102 + value: function attach(scope) { // 2103 + this._attached = true; // 2104 + // 2105 + if (!$$utils.isScope(scope)) { // 2106 + throw Error('argument 1 must be a scope'); // 2107 + } // 2108 // 2109 -/***/ }, // 2110 -/* 21 */ // 2111 -/***/ function(module, exports, __webpack_require__) { // 2112 - // 2113 - 'use strict'; // 2114 + var viewModel = scope.viewModel(this._vm); // 2110 + // 2111 + // Similar to the old/Meteor API // 2112 + viewModel.call = viewModel.callMethod; // 2113 + viewModel.apply = viewModel.applyMethod; // 2114 // 2115 - Object.defineProperty(exports, "__esModule", { // 2116 - value: true // 2117 - }); // 2118 - exports.Reactive = exports.name = undefined; // 2119 - // 2120 - var _jsondiffpatch = __webpack_require__(22); // 2121 + return viewModel; // 2116 + } // 2117 + }]); // 2118 + // 2119 + return Reactive; // 2120 + }(); // 2121 // 2122 - var _jsondiffpatch2 = _interopRequireDefault(_jsondiffpatch); // 2123 - // 2124 - var _underscore = __webpack_require__(2); // 2125 - // 2126 - var _underscore2 = _interopRequireDefault(_underscore); // 2127 - // 2128 - var _utils = __webpack_require__(16); // 2129 - // 2130 - var _mixer = __webpack_require__(17); // 2131 - // 2132 - var _core = __webpack_require__(19); // 2133 - // 2134 - var _viewModel = __webpack_require__(20); // 2135 - // 2136 - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 2137 + return function (vm) { // 2123 + return new Reactive(vm); // 2124 + }; // 2125 + }]); // 2126 + // 2127 +/***/ }, // 2128 +/* 21 */ // 2129 +/***/ function(module, exports, __webpack_require__) { // 2130 + // 2131 + 'use strict'; // 2132 + // 2133 + Object.defineProperty(exports, "__esModule", { // 2134 + value: true // 2135 + }); // 2136 + exports.Reactive = exports.name = undefined; // 2137 // 2138 - var name = exports.name = 'angular-meteor.reactive'; // 2139 - var Reactive = exports.Reactive = '$$Reactive'; // 2140 - // 2141 - angular.module(name, [_utils.name, _mixer.name, _core.name, _viewModel.name]) // 2142 - // 2143 - /* // 2144 - A mixin which enhance our reactive abilities by providing methods // 2145 - that are capable of updating our scope reactively. // 2146 - */ // 2147 - .factory(Reactive, ['$parse', _utils.utils, _mixer.Mixer, function ($parse, $$utils, $Mixer) { // 2148 - function $$Reactive() { // 2149 - var vm = arguments.length <= 0 || arguments[0] === undefined ? this : arguments[0]; // 2150 - // 2151 - // Helps us track changes made in the view model // 2152 - vm.$$dependencies = {}; // 2153 - } // 2154 - // 2155 - // Gets an object containing functions and define their results as reactive properties. // 2156 - // Once a return value has been changed the property will be reset. // 2157 - $$Reactive.helpers = function (vm, props) { // 2158 - var _this = this; // 2159 - // 2160 - if ($$utils.isViewModel(vm)) { // 2161 - if (!_underscore2.default.isObject(props)) { // 2162 - throw Error('argument 2 must be an object'); // 2163 - } // 2164 - } else { // 2165 - props = vm; // 2166 - vm = $Mixer.caller; // 2167 - // 2168 - if (!_underscore2.default.isObject(props)) { // 2169 - throw Error('argument 1 must be an object'); // 2170 - } // 2171 - } // 2172 + var _jsondiffpatch = __webpack_require__(22); // 2139 + // 2140 + var _jsondiffpatch2 = _interopRequireDefault(_jsondiffpatch); // 2141 + // 2142 + var _underscore = __webpack_require__(2); // 2143 + // 2144 + var _underscore2 = _interopRequireDefault(_underscore); // 2145 + // 2146 + var _utils = __webpack_require__(16); // 2147 + // 2148 + var _mixer = __webpack_require__(17); // 2149 + // 2150 + var _core = __webpack_require__(19); // 2151 + // 2152 + var _viewModel = __webpack_require__(20); // 2153 + // 2154 + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 2155 + // 2156 + var name = exports.name = 'angular-meteor.reactive'; // 2157 + var Reactive = exports.Reactive = '$$Reactive'; // 2158 + // 2159 + angular.module(name, [_utils.name, _mixer.name, _core.name, _viewModel.name]) // 2160 + // 2161 + /* // 2162 + A mixin which enhance our reactive abilities by providing methods // 2163 + that are capable of updating our scope reactively. // 2164 + */ // 2165 + .factory(Reactive, ['$parse', _utils.utils, _mixer.Mixer, function ($parse, $$utils, $Mixer) { // 2166 + function $$Reactive() { // 2167 + var vm = arguments.length <= 0 || arguments[0] === undefined ? this : arguments[0]; // 2168 + // 2169 + // Helps us track changes made in the view model // 2170 + vm.$$dependencies = {}; // 2171 + } // 2172 // 2173 - _underscore2.default.each(props, function (v, k) { // 2174 - if (!_underscore2.default.isFunction(v)) { // 2175 - throw Error('helper \'' + k + '\' must be a function'); // 2176 - } // 2177 - }); // 2178 - // 2179 - _underscore2.default.each(props, function (v, k) { // 2180 - if (!vm.$$dependencies[k]) { // 2181 - // Registers a new dependency to the specified helper // 2182 - vm.$$dependencies[k] = new Tracker.Dependency(); // 2183 - } // 2184 - // 2185 - _this.$$setFnHelper(vm, k, v); // 2186 - }); // 2187 - }; // 2188 - // 2189 - // Gets a model reactively // 2190 - $$Reactive.getReactively = function (vm, k, isDeep) { // 2191 - if ($$utils.isViewModel(vm)) { // 2192 - if (angular.isUndefined(isDeep)) isDeep = false; // 2193 - // 2194 - if (!_underscore2.default.isString(k)) { // 2195 - throw Error('argument 2 must be a string'); // 2196 - } // 2197 - if (!_underscore2.default.isBoolean(isDeep)) { // 2198 - throw Error('argument 3 must be a boolean'); // 2199 - } // 2200 - } else { // 2201 - isDeep = angular.isDefined(k) ? k : false; // 2202 - k = vm; // 2203 - vm = $Mixer.caller; // 2204 - // 2205 - if (!_underscore2.default.isString(k)) { // 2206 - throw Error('argument 1 must be a string'); // 2207 - } // 2208 - if (!_underscore2.default.isBoolean(isDeep)) { // 2209 - throw Error('argument 2 must be a boolean'); // 2210 - } // 2211 - } // 2212 - // 2213 - return this.$$reactivateEntity(vm, k, this.$watch, isDeep); // 2214 - }; // 2215 - // 2216 - // Gets a collection reactively // 2217 - $$Reactive.getCollectionReactively = function (vm, k) { // 2218 - if ($$utils.isViewModel(vm)) { // 2219 - if (!_underscore2.default.isString(k)) { // 2220 - throw Error('argument 2 must be a string'); // 2221 - } // 2222 - } else { // 2223 - k = vm; // 2224 - vm = $Mixer.caller; // 2225 - // 2226 - if (!_underscore2.default.isString(k)) { // 2227 - throw Error('argument 1 must be a string'); // 2228 + // Gets an object containing functions and define their results as reactive properties. // 2174 + // Once a return value has been changed the property will be reset. // 2175 + $$Reactive.helpers = function (vm, props) { // 2176 + var _this = this; // 2177 + // 2178 + if ($$utils.isViewModel(vm)) { // 2179 + if (!_underscore2.default.isObject(props)) { // 2180 + throw Error('argument 2 must be an object'); // 2181 + } // 2182 + } else { // 2183 + props = vm; // 2184 + vm = $Mixer.caller; // 2185 + // 2186 + if (!_underscore2.default.isObject(props)) { // 2187 + throw Error('argument 1 must be an object'); // 2188 + } // 2189 + } // 2190 + // 2191 + _underscore2.default.each(props, function (v, k) { // 2192 + if (!_underscore2.default.isFunction(v)) { // 2193 + throw Error('helper \'' + k + '\' must be a function'); // 2194 + } // 2195 + }); // 2196 + // 2197 + _underscore2.default.each(props, function (v, k) { // 2198 + if (!vm.$$dependencies[k]) { // 2199 + // Registers a new dependency to the specified helper // 2200 + vm.$$dependencies[k] = new Tracker.Dependency(); // 2201 + } // 2202 + // 2203 + _this.$$setFnHelper(vm, k, v); // 2204 + }); // 2205 + }; // 2206 + // 2207 + // Gets a model reactively // 2208 + $$Reactive.getReactively = function (vm, k, isDeep) { // 2209 + if ($$utils.isViewModel(vm)) { // 2210 + if (angular.isUndefined(isDeep)) isDeep = false; // 2211 + // 2212 + if (!_underscore2.default.isString(k)) { // 2213 + throw Error('argument 2 must be a string'); // 2214 + } // 2215 + if (!_underscore2.default.isBoolean(isDeep)) { // 2216 + throw Error('argument 3 must be a boolean'); // 2217 + } // 2218 + } else { // 2219 + isDeep = angular.isDefined(k) ? k : false; // 2220 + k = vm; // 2221 + vm = $Mixer.caller; // 2222 + // 2223 + if (!_underscore2.default.isString(k)) { // 2224 + throw Error('argument 1 must be a string'); // 2225 + } // 2226 + if (!_underscore2.default.isBoolean(isDeep)) { // 2227 + throw Error('argument 2 must be a boolean'); // 2228 } // 2229 } // 2230 // 2231 - return this.$$reactivateEntity(vm, k, this.$watchCollection); // 2232 + return this.$$reactivateEntity(vm, k, this.$watch, isDeep); // 2232 }; // 2233 // 2234 - // Gets an entity reactively, and once it has been changed the computation will be recomputed // 2235 - $$Reactive.$$reactivateEntity = function (vm, k, watcher) { // 2236 - if (!vm.$$dependencies[k]) { // 2237 - vm.$$dependencies[k] = new Tracker.Dependency(); // 2238 - // 2239 + // Gets a collection reactively // 2235 + $$Reactive.getCollectionReactively = function (vm, k) { // 2236 + if ($$utils.isViewModel(vm)) { // 2237 + if (!_underscore2.default.isString(k)) { // 2238 + throw Error('argument 2 must be a string'); // 2239 + } // 2240 + } else { // 2241 + k = vm; // 2242 + vm = $Mixer.caller; // 2243 + // 2244 + if (!_underscore2.default.isString(k)) { // 2245 + throw Error('argument 1 must be a string'); // 2246 + } // 2247 + } // 2248 + // 2249 + return this.$$reactivateEntity(vm, k, this.$watchCollection); // 2250 + }; // 2251 + // 2252 + // Gets an entity reactively, and once it has been changed the computation will be recomputed // 2253 + $$Reactive.$$reactivateEntity = function (vm, k, watcher) { // 2254 + if (!vm.$$dependencies[k]) { // 2255 + vm.$$dependencies[k] = new Tracker.Dependency(); // 2256 + // 2257 for (var _len = arguments.length, watcherArgs = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - watcherArgs[_key - 3] = arguments[_key]; // 2241 - } // 2242 - // 2243 - this.$$watchEntity.apply(this, [vm, k, watcher].concat(watcherArgs)); // 2244 - } // 2245 - // 2246 - vm.$$dependencies[k].depend(); // 2247 - return $parse(k)(vm); // 2248 - }; // 2249 - // 2250 - // Watches for changes in the view model, and if so will notify a change // 2251 - $$Reactive.$$watchEntity = function (vm, k, watcher) { // 2252 - var _this2 = this; // 2253 - // 2254 - // Gets a deep property from the caller // 2255 - var getVal = _underscore2.default.partial($parse(k), vm); // 2256 - var initialVal = getVal(); // 2257 - // 2258 - // Watches for changes in the view model // 2259 - // 2260 - for (var _len2 = arguments.length, watcherArgs = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - watcherArgs[_key2 - 3] = arguments[_key2]; // 2262 + watcherArgs[_key - 3] = arguments[_key]; // 2259 + } // 2260 + // 2261 + this.$$watchEntity.apply(this, [vm, k, watcher].concat(watcherArgs)); // 2262 } // 2263 // 2264 - watcher.call.apply(watcher, [this, getVal, function (val, oldVal) { // 2265 - var hasChanged = val !== initialVal || val !== oldVal; // 2266 - // 2267 - // Notify if a change has been detected // 2268 - if (hasChanged) _this2.$$changed(vm, k); // 2269 - }].concat(watcherArgs)); // 2270 - }; // 2271 + vm.$$dependencies[k].depend(); // 2265 + return $parse(k)(vm); // 2266 + }; // 2267 + // 2268 + // Watches for changes in the view model, and if so will notify a change // 2269 + $$Reactive.$$watchEntity = function (vm, k, watcher) { // 2270 + var _this2 = this; // 2271 // 2272 - // Invokes a function and sets the return value as a property // 2273 - $$Reactive.$$setFnHelper = function (vm, k, fn) { // 2274 - var _this3 = this; // 2275 + // Gets a deep property from the caller // 2273 + var getVal = _underscore2.default.partial($parse(k), vm); // 2274 + var initialVal = getVal(); // 2275 // 2276 - var activeObservation = null; // 2277 - var lastModel = null; // 2278 - var lastModelData = []; // 2279 - // 2280 - this.autorun(function () /* computation */{ // 2281 - // Invokes the reactive functon // 2282 - var model = fn.apply(vm); // 2283 - // 2284 - // Ignore notifications made by the following handler // 2285 - Tracker.nonreactive(function () { // 2286 - // If a cursor, observe its changes and update acoordingly // 2287 - if ($$utils.isCursor(model)) { // 2288 - var modelData = undefined; // 2289 + // Watches for changes in the view model // 2277 + // 2278 + for (var _len2 = arguments.length, watcherArgs = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { + watcherArgs[_key2 - 3] = arguments[_key2]; // 2280 + } // 2281 + // 2282 + watcher.call.apply(watcher, [this, getVal, function (val, oldVal) { // 2283 + var hasChanged = val !== initialVal || val !== oldVal; // 2284 + // 2285 + // Notify if a change has been detected // 2286 + if (hasChanged) _this2.$$changed(vm, k); // 2287 + }].concat(watcherArgs)); // 2288 + }; // 2289 // 2290 - if (angular.isUndefined(vm[k])) { // 2291 - _this3.$$setValHelper(vm, k, [], false); // 2292 - } // 2293 + // Invokes a function and sets the return value as a property // 2291 + $$Reactive.$$setFnHelper = function (vm, k, fn) { // 2292 + var _this3 = this; // 2293 // 2294 - if (activeObservation) { // 2295 - lastModelData = lastModel.fetch(); // 2296 - activeObservation.stop(); // 2297 - activeObservation = null; // 2298 - } // 2299 - // 2300 - var handle = _this3.$$handleCursor(vm, k, model); // 2301 + var activeObservation = null; // 2295 + var lastModel = null; // 2296 + var lastModelData = []; // 2297 + // 2298 + this.autorun(function () /* computation */{ // 2299 + // Invokes the reactive functon // 2300 + var model = fn.apply(vm); // 2301 // 2302 - activeObservation = handle.observation; // 2303 - modelData = handle.data; // 2304 - // 2305 - if (lastModelData.length !== 0) { // 2306 - var diff = _jsondiffpatch2.default.diff(lastModelData, modelData); // 2307 - vm[k] = _jsondiffpatch2.default.patch(lastModelData, diff); // 2308 - } else { // 2309 - vm[k] = modelData; // 2310 + // Ignore notifications made by the following handler // 2303 + Tracker.nonreactive(function () { // 2304 + // If a cursor, observe its changes and update acoordingly // 2305 + if ($$utils.isCursor(model)) { // 2306 + var modelData = undefined; // 2307 + // 2308 + if (angular.isUndefined(vm[k])) { // 2309 + _this3.$$setValHelper(vm, k, [], false); // 2310 } // 2311 // 2312 - lastModel = model; // 2313 - lastModelData = modelData; // 2314 - // 2315 - /* computation.onInvalidate(() => { // 2316 - activeObservation.stop(); // 2317 - });*/ // 2318 - } else { // 2319 - _this3.$$handleNonCursor(vm, k, model); // 2320 - } // 2321 - // 2322 - // Notify change and update the view model // 2323 - _this3.$$changed(vm, k); // 2324 - }); // 2325 - }); // 2326 - }; // 2327 - // 2328 - // Sets a value helper as a setter and a getter which will notify computations once used // 2329 - $$Reactive.$$setValHelper = function (vm, k, v) { // 2330 - var _this4 = this; // 2331 - // 2332 - var watch = arguments.length <= 3 || arguments[3] === undefined ? true : arguments[3]; // 2333 - // 2334 - // If set, reactives property // 2335 - if (watch) { // 2336 - var isDeep = _underscore2.default.isObject(v); // 2337 - this.getReactively(vm, k, isDeep); // 2338 - } // 2339 + if (activeObservation) { // 2313 + lastModelData = lastModel.fetch(); // 2314 + activeObservation.stop(); // 2315 + activeObservation = null; // 2316 + } // 2317 + // 2318 + var handle = _this3.$$handleCursor(vm, k, model); // 2319 + // 2320 + activeObservation = handle.observation; // 2321 + modelData = handle.data; // 2322 + // 2323 + if (lastModelData.length !== 0) { // 2324 + var diff = _jsondiffpatch2.default.diff(lastModelData, modelData); // 2325 + vm[k] = _jsondiffpatch2.default.patch(lastModelData, diff); // 2326 + } else { // 2327 + vm[k] = modelData; // 2328 + } // 2329 + // 2330 + lastModel = model; // 2331 + lastModelData = modelData; // 2332 + // 2333 + /* computation.onInvalidate(() => { // 2334 + activeObservation.stop(); // 2335 + });*/ // 2336 + } else { // 2337 + _this3.$$handleNonCursor(vm, k, model); // 2338 + } // 2339 // 2340 - Object.defineProperty(vm, k, { // 2341 - configurable: true, // 2342 - enumerable: true, // 2343 - // 2344 - get: function get() { // 2345 - return v; // 2346 - }, // 2347 - set: function set(newVal) { // 2348 - v = newVal; // 2349 - _this4.$$changed(vm, k); // 2350 - } // 2351 - }); // 2352 - }; // 2353 - // 2354 - // Fetching a cursor and updates properties once the result set has been changed // 2355 - $$Reactive.$$handleCursor = function (vm, k, cursor) { // 2356 - var _this5 = this; // 2357 + // Notify change and update the view model // 2341 + _this3.$$changed(vm, k); // 2342 + }); // 2343 + }); // 2344 + }; // 2345 + // 2346 + // Sets a value helper as a setter and a getter which will notify computations once used // 2347 + $$Reactive.$$setValHelper = function (vm, k, v) { // 2348 + var _this4 = this; // 2349 + // 2350 + var watch = arguments.length <= 3 || arguments[3] === undefined ? true : arguments[3]; // 2351 + // 2352 + // If set, reactives property // 2353 + if (watch) { // 2354 + var isDeep = _underscore2.default.isObject(v); // 2355 + this.getReactively(vm, k, isDeep); // 2356 + } // 2357 // 2358 - var data = []; // 2359 - // Observe changes made in the result set // 2360 - var observation = cursor.observe({ // 2361 - addedAt: function addedAt(doc, atIndex) { // 2362 - if (!observation) { // 2363 - data.push(doc); // 2364 - return; // 2365 - } // 2366 - vm[k].splice(atIndex, 0, doc); // 2367 - _this5.$$changed(vm, k); // 2368 - }, // 2369 - changedAt: function changedAt(doc, oldDoc, atIndex) { // 2370 - var diff = _jsondiffpatch2.default.diff(vm[k][atIndex], doc); // 2371 - _jsondiffpatch2.default.patch(vm[k][atIndex], diff); // 2372 - _this5.$$changed(vm, k); // 2373 - }, // 2374 - movedTo: function movedTo(doc, fromIndex, toIndex) { // 2375 - vm[k].splice(fromIndex, 1); // 2376 - vm[k].splice(toIndex, 0, doc); // 2377 - _this5.$$changed(vm, k); // 2378 - }, // 2379 - removedAt: function removedAt(oldDoc, atIndex) { // 2380 - vm[k].splice(atIndex, 1); // 2381 - _this5.$$changed(vm, k); // 2382 - } // 2383 - }); // 2384 - // 2385 - return { // 2386 - observation: observation, // 2387 - data: data // 2388 - }; // 2389 - }; // 2390 - // 2391 - $$Reactive.$$handleNonCursor = function (vm, k, data) { // 2392 - var v = vm[k]; // 2393 - // 2394 - if (angular.isDefined(v)) { // 2395 - delete vm[k]; // 2396 - v = null; // 2397 - } // 2398 - // 2399 - if (angular.isUndefined(v)) { // 2400 - this.$$setValHelper(vm, k, data); // 2401 - } // 2402 - // Update property if the new value is from the same type // 2403 - else if ($$utils.areSiblings(v, data)) { // 2404 - var diff = _jsondiffpatch2.default.diff(v, data); // 2405 - _jsondiffpatch2.default.patch(v, diff); // 2406 - this.$$changed(vm, k); // 2407 - } else { // 2408 - vm[k] = data; // 2409 - } // 2410 - }; // 2411 + Object.defineProperty(vm, k, { // 2359 + configurable: true, // 2360 + enumerable: true, // 2361 + // 2362 + get: function get() { // 2363 + return v; // 2364 + }, // 2365 + set: function set(newVal) { // 2366 + v = newVal; // 2367 + _this4.$$changed(vm, k); // 2368 + } // 2369 + }); // 2370 + }; // 2371 + // 2372 + // Fetching a cursor and updates properties once the result set has been changed // 2373 + $$Reactive.$$handleCursor = function (vm, k, cursor) { // 2374 + var _this5 = this; // 2375 + // 2376 + var data = []; // 2377 + // Observe changes made in the result set // 2378 + var observation = cursor.observe({ // 2379 + addedAt: function addedAt(doc, atIndex) { // 2380 + if (!observation) { // 2381 + data.push(doc); // 2382 + return; // 2383 + } // 2384 + vm[k].splice(atIndex, 0, doc); // 2385 + _this5.$$changed(vm, k); // 2386 + }, // 2387 + changedAt: function changedAt(doc, oldDoc, atIndex) { // 2388 + var diff = _jsondiffpatch2.default.diff(vm[k][atIndex], doc); // 2389 + _jsondiffpatch2.default.patch(vm[k][atIndex], diff); // 2390 + _this5.$$changed(vm, k); // 2391 + }, // 2392 + movedTo: function movedTo(doc, fromIndex, toIndex) { // 2393 + vm[k].splice(fromIndex, 1); // 2394 + vm[k].splice(toIndex, 0, doc); // 2395 + _this5.$$changed(vm, k); // 2396 + }, // 2397 + removedAt: function removedAt(oldDoc, atIndex) { // 2398 + vm[k].splice(atIndex, 1); // 2399 + _this5.$$changed(vm, k); // 2400 + } // 2401 + }); // 2402 + // 2403 + return { // 2404 + observation: observation, // 2405 + data: data // 2406 + }; // 2407 + }; // 2408 + // 2409 + $$Reactive.$$handleNonCursor = function (vm, k, data) { // 2410 + var v = vm[k]; // 2411 // 2412 - // Notifies dependency in view model // 2413 - $$Reactive.$$depend = function (vm, k) { // 2414 - vm.$$dependencies[k].depend(); // 2415 - }; // 2416 + if (angular.isDefined(v)) { // 2413 + delete vm[k]; // 2414 + v = null; // 2415 + } // 2416 // 2417 - // Notifies change in view model // 2418 - $$Reactive.$$changed = function (vm, k) { // 2419 - this.$$throttledDigest(); // 2420 - vm.$$dependencies[k].changed(); // 2421 - }; // 2422 - // 2423 - return $$Reactive; // 2424 - }]); // 2425 - // 2426 -/***/ }, // 2427 -/* 22 */ // 2428 -/***/ function(module, exports) { // 2429 + if (angular.isUndefined(v)) { // 2418 + this.$$setValHelper(vm, k, data); // 2419 + } // 2420 + // Update property if the new value is from the same type // 2421 + else if ($$utils.areSiblings(v, data)) { // 2422 + var diff = _jsondiffpatch2.default.diff(v, data); // 2423 + _jsondiffpatch2.default.patch(v, diff); // 2424 + this.$$changed(vm, k); // 2425 + } else { // 2426 + vm[k] = data; // 2427 + } // 2428 + }; // 2429 // 2430 - module.exports = __WEBPACK_EXTERNAL_MODULE_22__; // 2431 - // 2432 -/***/ }, // 2433 -/* 23 */ // 2434 -/***/ function(module, exports) { // 2435 - // 2436 - 'use strict'; // 2437 - // 2438 - Object.defineProperty(exports, "__esModule", { // 2439 - value: true // 2440 - }); // 2441 - var name = exports.name = 'angular-templates'; // 2442 - // 2443 - try { // 2444 - angular.module(name); // 2445 - } catch (e) { // 2446 - angular.module(name, []); // 2447 - } // 2448 - // 2449 -/***/ } // 2450 -/******/ ]) // 2451 -}); // 2452 -; // 2453 + // Notifies dependency in view model // 2431 + $$Reactive.$$depend = function (vm, k) { // 2432 + vm.$$dependencies[k].depend(); // 2433 + }; // 2434 + // 2435 + // Notifies change in view model // 2436 + $$Reactive.$$changed = function (vm, k) { // 2437 + this.$$throttledDigest(); // 2438 + vm.$$dependencies[k].changed(); // 2439 + }; // 2440 + // 2441 + return $$Reactive; // 2442 + }]); // 2443 + // 2444 +/***/ }, // 2445 +/* 22 */ // 2446 +/***/ function(module, exports) { // 2447 + // 2448 + module.exports = __WEBPACK_EXTERNAL_MODULE_22__; // 2449 + // 2450 +/***/ }, // 2451 +/* 23 */ // 2452 +/***/ function(module, exports) { // 2453 + // 2454 + 'use strict'; // 2455 + // 2456 + Object.defineProperty(exports, "__esModule", { // 2457 + value: true // 2458 + }); // 2459 + var name = exports.name = 'angular-templates'; // 2460 + // 2461 + try { // 2462 + angular.module(name); // 2463 + } catch (e) { // 2464 + angular.module(name, []); // 2465 + } // 2466 + // 2467 +/***/ } // 2468 +/******/ ]) // 2469 +}); // 2470 +; // 2471 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }).call(this); diff --git a/dist/angular-meteor.bundle.min.js b/dist/angular-meteor.bundle.min.js index 32ccb6314..a5b3078a2 100644 --- a/dist/angular-meteor.bundle.min.js +++ b/dist/angular-meteor.bundle.min.js @@ -1,7 +1,8 @@ -(function(){var Meteor=Package.meteor.Meteor;var _=Package.underscore._;var Base64=Package.base64.Base64;var EJSON,EJSONTest;(function(){EJSON={};EJSONTest={};var customTypes={};EJSON.addType=function(name,factory){if(_.has(customTypes,name))throw new Error("Type "+name+" already present");customTypes[name]=factory};var isInfOrNan=function(obj){return _.isNaN(obj)||obj===Infinity||obj===-Infinity};var builtinConverters=[{matchJSONValue:function(obj){return _.has(obj,"$date")&&_.size(obj)===1},matchObject:function(obj){return obj instanceof Date},toJSONValue:function(obj){return{$date:obj.getTime()}},fromJSONValue:function(obj){return new Date(obj.$date)}},{matchJSONValue:function(obj){return _.has(obj,"$InfNaN")&&_.size(obj)===1},matchObject:isInfOrNan,toJSONValue:function(obj){var sign;if(_.isNaN(obj))sign=0;else if(obj===Infinity)sign=1;else sign=-1;return{$InfNaN:sign}},fromJSONValue:function(obj){return obj.$InfNaN/0}},{matchJSONValue:function(obj){return _.has(obj,"$binary")&&_.size(obj)===1},matchObject:function(obj){return typeof Uint8Array!=="undefined"&&obj instanceof Uint8Array||obj&&_.has(obj,"$Uint8ArrayPolyfill")},toJSONValue:function(obj){return{$binary:Base64.encode(obj)}},fromJSONValue:function(obj){return Base64.decode(obj.$binary)}},{matchJSONValue:function(obj){return _.has(obj,"$escape")&&_.size(obj)===1},matchObject:function(obj){if(_.isEmpty(obj)||_.size(obj)>2){return false}return _.any(builtinConverters,function(converter){return converter.matchJSONValue(obj)})},toJSONValue:function(obj){var newObj={};_.each(obj,function(value,key){newObj[key]=EJSON.toJSONValue(value)});return{$escape:newObj}},fromJSONValue:function(obj){var newObj={};_.each(obj.$escape,function(value,key){newObj[key]=EJSON.fromJSONValue(value)});return newObj}},{matchJSONValue:function(obj){return _.has(obj,"$type")&&_.has(obj,"$value")&&_.size(obj)===2},matchObject:function(obj){return EJSON._isCustomType(obj)},toJSONValue:function(obj){var jsonValue=Meteor._noYieldsAllowed(function(){return obj.toJSONValue()});return{$type:obj.typeName(),$value:jsonValue}},fromJSONValue:function(obj){var typeName=obj.$type;if(!_.has(customTypes,typeName))throw new Error("Custom EJSON type "+typeName+" is not defined");var converter=customTypes[typeName];return Meteor._noYieldsAllowed(function(){return converter(obj.$value)})}}];EJSON._isCustomType=function(obj){return obj&&typeof obj.toJSONValue==="function"&&typeof obj.typeName==="function"&&_.has(customTypes,obj.typeName())};EJSON._getTypes=function(){return customTypes};EJSON._getConverters=function(){return builtinConverters};var adjustTypesToJSONValue=EJSON._adjustTypesToJSONValue=function(obj){if(obj===null)return null;var maybeChanged=toJSONValueHelper(obj);if(maybeChanged!==undefined)return maybeChanged;if(typeof obj!=="object")return obj;_.each(obj,function(value,key){if(typeof value!=="object"&&value!==undefined&&!isInfOrNan(value))return;var changed=toJSONValueHelper(value);if(changed){obj[key]=changed;return}adjustTypesToJSONValue(value)});return obj};var toJSONValueHelper=function(item){for(var i=0;i=bKeys.length){return false}if(x!==bKeys[i]){return false}if(!EJSON.equals(val,b[bKeys[i]],options)){return false}i++;return true});return ret&&i===bKeys.length}else{i=0;ret=_.all(a,function(val,key){if(!_.has(b,key)){return false}if(!EJSON.equals(val,b[key],options)){return false}i++;return true});return ret&&_.size(b)===i}};EJSON.clone=function(v){var ret;if(typeof v!=="object")return v;if(v===null)return null;if(v instanceof Date)return new Date(v.getTime());if(v instanceof RegExp)return v;if(EJSON.isBinary(v)){ret=EJSON.newBinary(v.length);for(var i=0;i0){if(old_idx_seq(seq_ends[j-1])max_seq_len)max_seq_len=j+1}}var idx=max_seq_len===0?-1:seq_ends[max_seq_len-1];while(idx>=0){unmoved.push(idx);idx=ptrs[idx]}unmoved.reverse();unmoved.push(new_results.length);_.each(old_results,function(doc){if(!new_presence_of_id[doc._id])observer.removed&&observer.removed(doc._id)});var startOfGroup=0;_.each(unmoved,function(endOfGroup){var groupId=new_results[endOfGroup]?new_results[endOfGroup]._id:null;var oldDoc,newDoc,fields,projectedNew,projectedOld;for(var i=startOfGroup;i=position)posCur[id]++})}lengthCur++;posCur[idStringify(id)]=position;callbacks.addedAt(id,seqArray[posNew[idStringify(id)]].item,position,before)},movedBefore:function(id,before){if(id===before)return;var oldPosition=posCur[idStringify(id)];var newPosition=before?posCur[idStringify(before)]:lengthCur;if(newPosition>oldPosition){newPosition--}_.each(posCur,function(elCurPosition,id){if(oldPosition=prevPosition)posCur[id]--});delete posCur[idStringify(id)];lengthCur--;callbacks.removedAt(id,lastSeqArray[posOld[idStringify(id)]].item,prevPosition)}});_.each(posNew,function(pos,idString){var id=idParse(idString);if(_.has(posOld,idString)){var newItem=seqArray[pos].item;var oldItem=lastSeqArray[posOld[idString]].item;if(typeof newItem==="object"||newItem!==oldItem)callbacks.changedAt(id,newItem,oldItem,pos)}})};seqChangedToEmpty=function(lastSeqArray,callbacks){return[]};seqChangedToArray=function(lastSeqArray,array,callbacks){var idsUsed={};var seqArray=_.map(array,function(item,index){var id;if(typeof item==="string"){id="-"+item}else if(typeof item==="number"||typeof item==="boolean"||item===undefined){id=item}else if(typeof item==="object"){id=item&&_.has(item,"_id")?item._id:index}else{throw new Error("{{#each}} doesn't support arrays with "+"elements of type "+typeof item)}var idString=idStringify(id);if(idsUsed[idString]){if(typeof item==="object"&&"_id"in item)warn("duplicate id "+id+" in",array);id=Random.id()}else{idsUsed[idString]=true}return{_id:id,item:item}});return seqArray};seqChangedToCursor=function(lastSeqArray,cursor,callbacks){var initial=true;var seqArray=[];var observeHandle=cursor.observe({addedAt:function(document,atIndex,before){if(initial){if(before!==null)throw new Error("Expected initial data from observe in order");seqArray.push({_id:document._id,item:document})}else{callbacks.addedAt(document._id,document,atIndex,before)}},changedAt:function(newDocument,oldDocument,atIndex){callbacks.changedAt(newDocument._id,newDocument,oldDocument,atIndex)},removedAt:function(oldDocument,atIndex){callbacks.removedAt(oldDocument._id,oldDocument,atIndex)},movedTo:function(document,fromIndex,toIndex,before){callbacks.movedTo(document._id,document,fromIndex,toIndex,before)}});initial=false;return[seqArray,observeHandle]}}).call(this);if(typeof Package==="undefined")Package={};Package["observe-sequence"]={ObserveSequence:ObserveSequence}})();(function(){var Meteor=Package.meteor.Meteor;var ECMAScript;if(typeof Package==="undefined")Package={};Package.ecmascript={ECMAScript:ECMAScript}})();(function(){var Meteor=Package.meteor.Meteor;var babelHelpers;(function(){var hasOwn=Object.prototype.hasOwnProperty;function canDefineNonEnumerableProperties(){var testObj={};var testPropName="t";try{Object.defineProperty(testObj,testPropName,{enumerable:false,value:testObj});for(var k in testObj){if(k===testPropName){return false}}}catch(e){return false}return testObj[testPropName]===testObj}babelHelpers={sanitizeForInObject:canDefineNonEnumerableProperties()?function(value){return value}:function(obj){if(Array.isArray(obj)){var newObj={};var keys=Object.keys(obj);var keyCount=keys.length;for(var i=0;ii)$defineProperty(it,key=keys[i++],P[key]);return it};var $create=function create(it,P){return P===undefined?_create(it):$defineProperties(_create(it),P)};var $propertyIsEnumerable=function propertyIsEnumerable(key){var E=isEnum.call(this,key);return E||!has(this,key)||!has(AllSymbols,key)||has(this,HIDDEN)&&this[HIDDEN][key]?E:true};var $getOwnPropertyDescriptor=function getOwnPropertyDescriptor(it,key){var D=getDesc(it=toIObject(it),key);if(D&&has(AllSymbols,key)&&!(has(it,HIDDEN)&&it[HIDDEN][key]))D.enumerable=true;return D};var $getOwnPropertyNames=function getOwnPropertyNames(it){var names=getNames(toIObject(it)),result=[],i=0,key;while(names.length>i)if(!has(AllSymbols,key=names[i++])&&key!=HIDDEN)result.push(key);return result};var $getOwnPropertySymbols=function getOwnPropertySymbols(it){var names=getNames(toIObject(it)),result=[],i=0,key;while(names.length>i)if(has(AllSymbols,key=names[i++]))result.push(AllSymbols[key]);return result};var $stringify=function stringify(it){var args=[it],i=1,replacer,$replacer;while(arguments.length>i)args.push(arguments[i++]);replacer=args[1];if(typeof replacer=="function")$replacer=replacer;if($replacer||!isArray(replacer))replacer=function(key,value){if($replacer)value=$replacer.call(this,key,value);if(!isSymbol(value))return value};args[1]=replacer;return _stringify.apply($JSON,args)};var buggyJSON=$fails(function(){var S=$Symbol();return _stringify([S])!="[null]"||_stringify({a:S})!="{}"||_stringify(Object(S))!="{}"});if(!useNative){$Symbol=function Symbol(){if(isSymbol(this))throw TypeError("Symbol is not a constructor");return wrap(uid(arguments[0]))};$redef($Symbol.prototype,"toString",function toString(){return this._k});isSymbol=function(it){return it instanceof $Symbol};$.create=$create;$.isEnum=$propertyIsEnumerable;$.getDesc=$getOwnPropertyDescriptor;$.setDesc=$defineProperty;$.setDescs=$defineProperties;$.getNames=$names.get=$getOwnPropertyNames;$.getSymbols=$getOwnPropertySymbols;if(SUPPORT_DESC&&!__webpack_require__(27)){$redef(ObjectProto,"propertyIsEnumerable",$propertyIsEnumerable,true)}}var symbolStatics={"for":function(key){return has(SymbolRegistry,key+="")?SymbolRegistry[key]:SymbolRegistry[key]=$Symbol(key)},keyFor:function keyFor(key){return keyOf(SymbolRegistry,key)},useSetter:function(){setter=true},useSimple:function(){setter=false}};$.each.call(("hasInstance,isConcatSpreadable,iterator,match,replace,search,"+"species,split,toPrimitive,toStringTag,unscopables").split(","),function(it){var sym=wks(it);symbolStatics[it]=useNative?sym:wrap(sym)});setter=true;$def($def.G+$def.W,{Symbol:$Symbol});$def($def.S,"Symbol",symbolStatics);$def($def.S+$def.F*!useNative,"Object",{create:$create,defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor,getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols});$JSON&&$def($def.S+$def.F*(!useNative||buggyJSON),"JSON",{stringify:$stringify});setTag($Symbol,"Symbol");setTag(Math,"Math",true);setTag(global.JSON,"JSON",true)},function(module,exports){var $Object=Object;module.exports={create:$Object.create,getProto:$Object.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:$Object.getOwnPropertyDescriptor,setDesc:$Object.defineProperty,setDescs:$Object.defineProperties,getKeys:$Object.keys,getNames:$Object.getOwnPropertyNames,getSymbols:$Object.getOwnPropertySymbols,each:[].forEach}},function(module,exports){var UNDEFINED="undefined";var global=module.exports=typeof window!=UNDEFINED&&window.Math==Math?window:typeof self!=UNDEFINED&&self.Math==Math?self:Function("return this")();if(typeof __g=="number")__g=global},function(module,exports){var hasOwnProperty={}.hasOwnProperty;module.exports=function(it,key){return hasOwnProperty.call(it,key)}},function(module,exports,__webpack_require__){module.exports=!__webpack_require__(7)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(module,exports){ -module.exports=function(exec){try{return!!exec()}catch(e){return true}}},function(module,exports,__webpack_require__){var global=__webpack_require__(4),core=__webpack_require__(9),hide=__webpack_require__(10),$redef=__webpack_require__(12),PROTOTYPE="prototype";var ctx=function(fn,that){return function(){return fn.apply(that,arguments)}};var $def=function(type,name,source){var key,own,out,exp,isGlobal=type&$def.G,isProto=type&$def.P,target=isGlobal?global:type&$def.S?global[name]||(global[name]={}):(global[name]||{})[PROTOTYPE],exports=isGlobal?core:core[name]||(core[name]={});if(isGlobal)source=name;for(key in source){own=!(type&$def.F)&&target&&key in target;out=(own?target:source)[key];if(type&$def.B&&own)exp=ctx(out,global);else exp=isProto&&typeof out=="function"?ctx(Function.call,out):out;if(target&&!own)$redef(target,key,out);if(exports[key]!=out)hide(exports,key,exp);if(isProto)(exports[PROTOTYPE]||(exports[PROTOTYPE]={}))[key]=out}};global.core=core;$def.F=1;$def.G=2;$def.S=4;$def.P=8;$def.B=16;$def.W=32;module.exports=$def},function(module,exports){var core=module.exports={version:"1.2.1"};if(typeof __e=="number")__e=core},function(module,exports,__webpack_require__){var $=__webpack_require__(3),createDesc=__webpack_require__(11);module.exports=__webpack_require__(6)?function(object,key,value){return $.setDesc(object,key,createDesc(1,value))}:function(object,key,value){object[key]=value;return object}},function(module,exports){module.exports=function(bitmap,value){return{enumerable:!(bitmap&1),configurable:!(bitmap&2),writable:!(bitmap&4),value:value}}},function(module,exports,__webpack_require__){var global=__webpack_require__(4),hide=__webpack_require__(10),SRC=__webpack_require__(13)("src"),TO_STRING="toString",$toString=Function[TO_STRING],TPL=(""+$toString).split(TO_STRING);__webpack_require__(9).inspectSource=function(it){return $toString.call(it)};(module.exports=function(O,key,val,safe){if(typeof val=="function"){hide(val,SRC,O[key]?""+O[key]:TPL.join(String(key)));if(!("name"in val))val.name=key}if(O===global){O[key]=val}else{if(!safe)delete O[key];hide(O,key,val)}})(Function.prototype,TO_STRING,function toString(){return typeof this=="function"&&this[SRC]||$toString.call(this)})},function(module,exports){var id=0,px=Math.random();module.exports=function(key){return"Symbol(".concat(key===undefined?"":key,")_",(++id+px).toString(36))}},function(module,exports,__webpack_require__){var global=__webpack_require__(4),SHARED="__core-js_shared__",store=global[SHARED]||(global[SHARED]={});module.exports=function(key){return store[key]||(store[key]={})}},function(module,exports,__webpack_require__){var has=__webpack_require__(5),hide=__webpack_require__(10),TAG=__webpack_require__(16)("toStringTag");module.exports=function(it,tag,stat){if(it&&!has(it=stat?it:it.prototype,TAG))hide(it,TAG,tag)}},function(module,exports,__webpack_require__){var store=__webpack_require__(14)("wks"),Symbol=__webpack_require__(4).Symbol;module.exports=function(name){return store[name]||(store[name]=Symbol&&Symbol[name]||(Symbol||__webpack_require__(13))("Symbol."+name))}},function(module,exports,__webpack_require__){var $=__webpack_require__(3),toIObject=__webpack_require__(18);module.exports=function(object,el){var O=toIObject(object),keys=$.getKeys(O),length=keys.length,index=0,key;while(length>index)if(O[key=keys[index++]]===el)return key}},function(module,exports,__webpack_require__){var IObject=__webpack_require__(19),defined=__webpack_require__(21);module.exports=function(it){return IObject(defined(it))}},function(module,exports,__webpack_require__){var cof=__webpack_require__(20);module.exports=0 in Object("z")?Object:function(it){return cof(it)=="String"?it.split(""):Object(it)}},function(module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},function(module,exports){module.exports=function(it){if(it==undefined)throw TypeError("Can't call method on "+it);return it}},function(module,exports,__webpack_require__){var toString={}.toString,toIObject=__webpack_require__(18),getNames=__webpack_require__(3).getNames;var windowNames=typeof window=="object"&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];var getWindowNames=function(it){try{return getNames(it)}catch(e){return windowNames.slice()}};module.exports.get=function getOwnPropertyNames(it){if(windowNames&&toString.call(it)=="[object Window]")return getWindowNames(it);return getNames(toIObject(it))}},function(module,exports,__webpack_require__){var $=__webpack_require__(3);module.exports=function(it){var keys=$.getKeys(it),getSymbols=$.getSymbols;if(getSymbols){var symbols=getSymbols(it),isEnum=$.isEnum,i=0,key;while(symbols.length>i)if(isEnum.call(it,key=symbols[i++]))keys.push(key)}return keys}},function(module,exports,__webpack_require__){var cof=__webpack_require__(20);module.exports=Array.isArray||function(arg){return cof(arg)=="Array"}},function(module,exports){module.exports=function(it){return typeof it==="object"?it!==null:typeof it==="function"}},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);module.exports=function(it){if(!isObject(it))throw TypeError(it+" is not an object!");return it}},function(module,exports){module.exports=false},function(module,exports,__webpack_require__){var $def=__webpack_require__(8);$def($def.S+$def.F,"Object",{assign:__webpack_require__(29)})},function(module,exports,__webpack_require__){var toObject=__webpack_require__(30),IObject=__webpack_require__(19),enumKeys=__webpack_require__(23),has=__webpack_require__(5);module.exports=__webpack_require__(7)(function(){var a=Object.assign,A={},B={},S=Symbol(),K="abcdefghijklmnopqrst";A[S]=7;K.split("").forEach(function(k){B[k]=k});return a({},A)[S]!=7||Object.keys(a({},B)).join("")!=K})?function assign(target,source){var T=toObject(target),l=arguments.length,i=1;while(l>i){var S=IObject(arguments[i++]),keys=enumKeys(S),length=keys.length,j=0,key;while(length>j)if(has(S,key=keys[j++]))T[key]=S[key]}return T}:Object.assign},function(module,exports,__webpack_require__){var defined=__webpack_require__(21);module.exports=function(it){return Object(defined(it))}},function(module,exports,__webpack_require__){var $def=__webpack_require__(8);$def($def.S,"Object",{is:__webpack_require__(32)})},function(module,exports){module.exports=Object.is||function is(x,y){return x===y?x!==0||1/x===1/y:x!=x&&y!=y}},function(module,exports,__webpack_require__){var $def=__webpack_require__(8);$def($def.S,"Object",{setPrototypeOf:__webpack_require__(34).set})},function(module,exports,__webpack_require__){var getDesc=__webpack_require__(3).getDesc,isObject=__webpack_require__(25),anObject=__webpack_require__(26);var check=function(O,proto){anObject(O);if(!isObject(proto)&&proto!==null)throw TypeError(proto+": can't set as prototype!")};module.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(test,buggy,set){try{set=__webpack_require__(35)(Function.call,getDesc(Object.prototype,"__proto__").set,2);set(test,[]);buggy=!(test instanceof Array)}catch(e){buggy=true}return function setPrototypeOf(O,proto){check(O,proto);if(buggy)O.__proto__=proto;else set(O,proto);return O}}({},false):undefined),check:check}},function(module,exports,__webpack_require__){var aFunction=__webpack_require__(36);module.exports=function(fn,that,length){aFunction(fn);if(that===undefined)return fn;switch(length){case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}},function(module,exports){module.exports=function(it){if(typeof it!="function")throw TypeError(it+" is not a function!");return it}},function(module,exports,__webpack_require__){"use strict";var classof=__webpack_require__(38),test={};test[__webpack_require__(16)("toStringTag")]="z";if(test+""!="[object z]"){__webpack_require__(12)(Object.prototype,"toString",function toString(){return"[object "+classof(this)+"]"},true)}},function(module,exports,__webpack_require__){var cof=__webpack_require__(20),TAG=__webpack_require__(16)("toStringTag"),ARG=cof(function(){return arguments}())=="Arguments";module.exports=function(it){var O,T,B;return it===undefined?"Undefined":it===null?"Null":typeof(T=(O=Object(it))[TAG])=="string"?T:ARG?cof(O):(B=cof(O))=="Object"&&typeof O.callee=="function"?"Arguments":B}},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);__webpack_require__(40)("freeze",function($freeze){return function freeze(it){return $freeze&&isObject(it)?$freeze(it):it}})},function(module,exports,__webpack_require__){module.exports=function(KEY,exec){var $def=__webpack_require__(8),fn=(__webpack_require__(9).Object||{})[KEY]||Object[KEY],exp={};exp[KEY]=exec(fn);$def($def.S+$def.F*__webpack_require__(7)(function(){fn(1)}),"Object",exp)}},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);__webpack_require__(40)("seal",function($seal){return function seal(it){return $seal&&isObject(it)?$seal(it):it}})},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);__webpack_require__(40)("preventExtensions",function($preventExtensions){return function preventExtensions(it){return $preventExtensions&&isObject(it)?$preventExtensions(it):it}})},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);__webpack_require__(40)("isFrozen",function($isFrozen){return function isFrozen(it){return isObject(it)?$isFrozen?$isFrozen(it):false:true}})},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);__webpack_require__(40)("isSealed",function($isSealed){return function isSealed(it){return isObject(it)?$isSealed?$isSealed(it):false:true}})},function(module,exports,__webpack_require__){var isObject=__webpack_require__(25);__webpack_require__(40)("isExtensible",function($isExtensible){return function isExtensible(it){return isObject(it)?$isExtensible?$isExtensible(it):true:false}})},function(module,exports,__webpack_require__){var toIObject=__webpack_require__(18);__webpack_require__(40)("getOwnPropertyDescriptor",function($getOwnPropertyDescriptor){return function getOwnPropertyDescriptor(it,key){return $getOwnPropertyDescriptor(toIObject(it),key)}})},function(module,exports,__webpack_require__){var toObject=__webpack_require__(30);__webpack_require__(40)("getPrototypeOf",function($getPrototypeOf){return function getPrototypeOf(it){return $getPrototypeOf(toObject(it))}})},function(module,exports,__webpack_require__){var toObject=__webpack_require__(30);__webpack_require__(40)("keys",function($keys){return function keys(it){return $keys(toObject(it))}})},function(module,exports,__webpack_require__){__webpack_require__(40)("getOwnPropertyNames",function(){return __webpack_require__(22).get})},function(module,exports,__webpack_require__){__webpack_require__(51);__webpack_require__(57);__webpack_require__(63);__webpack_require__(64);__webpack_require__(66);__webpack_require__(69);__webpack_require__(72);__webpack_require__(74);__webpack_require__(76);module.exports=__webpack_require__(9).Array},function(module,exports,__webpack_require__){"use strict";var $at=__webpack_require__(52)(true);__webpack_require__(54)(String,"String",function(iterated){this._t=String(iterated);this._i=0},function(){var O=this._t,index=this._i,point;if(index>=O.length)return{value:undefined,done:true};point=$at(O,index);this._i+=point.length;return{value:point,done:false}})},function(module,exports,__webpack_require__){var toInteger=__webpack_require__(53),defined=__webpack_require__(21);module.exports=function(TO_STRING){return function(that,pos){var s=String(defined(that)),i=toInteger(pos),l=s.length,a,b;if(i<0||i>=l)return TO_STRING?"":undefined;a=s.charCodeAt(i);return a<55296||a>56319||i+1===l||(b=s.charCodeAt(i+1))<56320||b>57343?TO_STRING?s.charAt(i):a:TO_STRING?s.slice(i,i+2):(a-55296<<10)+(b-56320)+65536}}},function(module,exports){var ceil=Math.ceil,floor=Math.floor;module.exports=function(it){return isNaN(it=+it)?0:(it>0?floor:ceil)(it)}},function(module,exports,__webpack_require__){"use strict";var LIBRARY=__webpack_require__(27),$def=__webpack_require__(8),$redef=__webpack_require__(12),hide=__webpack_require__(10),has=__webpack_require__(5),SYMBOL_ITERATOR=__webpack_require__(16)("iterator"),Iterators=__webpack_require__(55),BUGGY=!([].keys&&"next"in[].keys()),FF_ITERATOR="@@iterator",KEYS="keys",VALUES="values";var returnThis=function(){return this};module.exports=function(Base,NAME,Constructor,next,DEFAULT,IS_SET,FORCE){__webpack_require__(56)(Constructor,NAME,next);var createMethod=function(kind){switch(kind){case KEYS:return function keys(){return new Constructor(this,kind)};case VALUES:return function values(){return new Constructor(this,kind)}}return function entries(){return new Constructor(this,kind)}};var TAG=NAME+" Iterator",proto=Base.prototype,_native=proto[SYMBOL_ITERATOR]||proto[FF_ITERATOR]||DEFAULT&&proto[DEFAULT],_default=_native||createMethod(DEFAULT),methods,key;if(_native){var IteratorPrototype=__webpack_require__(3).getProto(_default.call(new Base));__webpack_require__(15)(IteratorPrototype,TAG,true);if(!LIBRARY&&has(proto,FF_ITERATOR))hide(IteratorPrototype,SYMBOL_ITERATOR,returnThis)}if(!LIBRARY||FORCE)hide(proto,SYMBOL_ITERATOR,_default);Iterators[NAME]=_default;Iterators[TAG]=returnThis;if(DEFAULT){methods={keys:IS_SET?_default:createMethod(KEYS),values:DEFAULT==VALUES?_default:createMethod(VALUES),entries:DEFAULT!=VALUES?_default:createMethod("entries")};if(FORCE)for(key in methods){if(!(key in proto))$redef(proto,key,methods[key])}else $def($def.P+$def.F*BUGGY,NAME,methods)}}},function(module,exports){module.exports={}},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(3),IteratorPrototype={};__webpack_require__(10)(IteratorPrototype,__webpack_require__(16)("iterator"),function(){return this});module.exports=function(Constructor,NAME,next){Constructor.prototype=$.create(IteratorPrototype,{next:__webpack_require__(11)(1,next)});__webpack_require__(15)(Constructor,NAME+" Iterator")}},function(module,exports,__webpack_require__){"use strict";var ctx=__webpack_require__(35),$def=__webpack_require__(8),toObject=__webpack_require__(30),call=__webpack_require__(58),isArrayIter=__webpack_require__(59),toLength=__webpack_require__(60),getIterFn=__webpack_require__(61);$def($def.S+$def.F*!__webpack_require__(62)(function(iter){Array.from(iter)}),"Array",{from:function from(arrayLike){var O=toObject(arrayLike),C=typeof this=="function"?this:Array,mapfn=arguments[1],mapping=mapfn!==undefined,index=0,iterFn=getIterFn(O),length,result,step,iterator;if(mapping)mapfn=ctx(mapfn,arguments[2],2);if(iterFn!=undefined&&!(C==Array&&isArrayIter(iterFn))){for(iterator=iterFn.call(O),result=new C;!(step=iterator.next()).done;index++){result[index]=mapping?call(iterator,mapfn,[step.value,index],true):step.value}}else{length=toLength(O.length);for(result=new C(length);length>index;index++){result[index]=mapping?mapfn(O[index],index):O[index]}}result.length=index;return result}})},function(module,exports,__webpack_require__){var anObject=__webpack_require__(26);module.exports=function(iterator,fn,value,entries){try{return entries?fn(anObject(value)[0],value[1]):fn(value)}catch(e){var ret=iterator["return"];if(ret!==undefined)anObject(ret.call(iterator));throw e}}},function(module,exports,__webpack_require__){var Iterators=__webpack_require__(55),ITERATOR=__webpack_require__(16)("iterator");module.exports=function(it){return(Iterators.Array||Array.prototype[ITERATOR])===it}},function(module,exports,__webpack_require__){var toInteger=__webpack_require__(53),min=Math.min;module.exports=function(it){return it>0?min(toInteger(it),9007199254740991):0}},function(module,exports,__webpack_require__){var classof=__webpack_require__(38),ITERATOR=__webpack_require__(16)("iterator"),Iterators=__webpack_require__(55);module.exports=__webpack_require__(9).getIteratorMethod=function(it){if(it!=undefined)return it[ITERATOR]||it["@@iterator"]||Iterators[classof(it)]}},function(module,exports,__webpack_require__){var SYMBOL_ITERATOR=__webpack_require__(16)("iterator"),SAFE_CLOSING=false;try{var riter=[7][SYMBOL_ITERATOR]();riter["return"]=function(){SAFE_CLOSING=true};Array.from(riter,function(){throw 2})}catch(e){}module.exports=function(exec){if(!SAFE_CLOSING)return false;var safe=false;try{var arr=[7],iter=arr[SYMBOL_ITERATOR]();iter.next=function(){safe=true};arr[SYMBOL_ITERATOR]=function(){return iter};exec(arr)}catch(e){}return safe}},function(module,exports,__webpack_require__){"use strict";var $def=__webpack_require__(8);$def($def.S+$def.F*__webpack_require__(7)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){var index=0,length=arguments.length,result=new(typeof this=="function"?this:Array)(length);while(length>index)result[index]=arguments[index++];result.length=length;return result}})},function(module,exports,__webpack_require__){__webpack_require__(65)(Array)},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(3),SPECIES=__webpack_require__(16)("species");module.exports=function(C){if(__webpack_require__(6)&&!(SPECIES in C))$.setDesc(C,SPECIES,{configurable:true,get:function(){return this}})}},function(module,exports,__webpack_require__){"use strict";var setUnscope=__webpack_require__(67),step=__webpack_require__(68),Iterators=__webpack_require__(55),toIObject=__webpack_require__(18);__webpack_require__(54)(Array,"Array",function(iterated,kind){this._t=toIObject(iterated);this._i=0;this._k=kind},function(){var O=this._t,kind=this._k,index=this._i++;if(!O||index>=O.length){this._t=undefined;return step(1)}if(kind=="keys")return step(0,index);if(kind=="values")return step(0,O[index]);return step(0,[index,O[index]])},"values");Iterators.Arguments=Iterators.Array;setUnscope("keys");setUnscope("values");setUnscope("entries")},function(module,exports,__webpack_require__){var UNSCOPABLES=__webpack_require__(16)("unscopables");if([][UNSCOPABLES]==undefined)__webpack_require__(10)(Array.prototype,UNSCOPABLES,{});module.exports=function(key){[][UNSCOPABLES][key]=true}},function(module,exports){module.exports=function(done,value){return{value:value,done:!!done}}},function(module,exports,__webpack_require__){"use strict";var $def=__webpack_require__(8);$def($def.P,"Array",{copyWithin:__webpack_require__(70)});__webpack_require__(67)("copyWithin")},function(module,exports,__webpack_require__){"use strict";var toObject=__webpack_require__(30),toIndex=__webpack_require__(71),toLength=__webpack_require__(60);module.exports=[].copyWithin||function copyWithin(target,start){var O=toObject(this),len=toLength(O.length),to=toIndex(target,len),from=toIndex(start,len),end=arguments[2],count=Math.min((end===undefined?len:toIndex(end,len))-from,len-to),inc=1;if(from0){if(from in O)O[to]=O[from];else delete O[to];to+=inc;from+=inc}return O}},function(module,exports,__webpack_require__){var toInteger=__webpack_require__(53),max=Math.max,min=Math.min;module.exports=function(index,length){index=toInteger(index);return index<0?max(index+length,0):min(index,length)}},function(module,exports,__webpack_require__){var $def=__webpack_require__(8);$def($def.P,"Array",{fill:__webpack_require__(73)});__webpack_require__(67)("fill")},function(module,exports,__webpack_require__){"use strict";var toObject=__webpack_require__(30),toIndex=__webpack_require__(71),toLength=__webpack_require__(60);module.exports=[].fill||function fill(value){var O=toObject(this,true),length=toLength(O.length),index=toIndex(arguments[1],length),end=arguments[2],endPos=end===undefined?length:toIndex(end,length);while(endPos>index)O[index++]=value;return O}},function(module,exports,__webpack_require__){"use strict";var KEY="find",$def=__webpack_require__(8),forced=true,$find=__webpack_require__(75)(5);if(KEY in[])Array(1)[KEY](function(){forced=false});$def($def.P+$def.F*forced,"Array",{find:function find(callbackfn){return $find(this,callbackfn,arguments[1])}});__webpack_require__(67)(KEY)},function(module,exports,__webpack_require__){var ctx=__webpack_require__(35),isObject=__webpack_require__(25),IObject=__webpack_require__(19),toObject=__webpack_require__(30),toLength=__webpack_require__(60),isArray=__webpack_require__(24),SPECIES=__webpack_require__(16)("species");var ASC=function(original,length){var C;if(isArray(original)&&isObject(C=original.constructor)){C=C[SPECIES];if(C===null)C=undefined}return new(C===undefined?Array:C)(length)};module.exports=function(TYPE){var IS_MAP=TYPE==1,IS_FILTER=TYPE==2,IS_SOME=TYPE==3,IS_EVERY=TYPE==4,IS_FIND_INDEX=TYPE==6,NO_HOLES=TYPE==5||IS_FIND_INDEX;return function($this,callbackfn,that){var O=toObject($this),self=IObject(O),f=ctx(callbackfn,that,3),length=toLength(self.length),index=0,result=IS_MAP?ASC($this,length):IS_FILTER?ASC($this,0):undefined,val,res;for(;length>index;index++)if(NO_HOLES||index in self){val=self[index];res=f(val,index,O);if(TYPE){if(IS_MAP)result[index]=res;else if(res)switch(TYPE){case 3:return true;case 5:return val;case 6:return index;case 2:result.push(val)}else if(IS_EVERY)return false}}return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:result}}},function(module,exports,__webpack_require__){"use strict";var KEY="findIndex",$def=__webpack_require__(8),forced=true,$find=__webpack_require__(75)(6);if(KEY in[])Array(1)[KEY](function(){forced=false});$def($def.P+$def.F*forced,"Array",{findIndex:function findIndex(callbackfn){return $find(this,callbackfn,arguments[1])}});__webpack_require__(67)(KEY)},function(module,exports,__webpack_require__){__webpack_require__(78);__webpack_require__(79);__webpack_require__(80);__webpack_require__(51);__webpack_require__(82);__webpack_require__(83);__webpack_require__(87);__webpack_require__(88);__webpack_require__(90);__webpack_require__(91);__webpack_require__(93);__webpack_require__(94);__webpack_require__(95);module.exports=__webpack_require__(9).String},function(module,exports,__webpack_require__){var $def=__webpack_require__(8),toIndex=__webpack_require__(71),fromCharCode=String.fromCharCode,$fromCodePoint=String.fromCodePoint;$def($def.S+$def.F*(!!$fromCodePoint&&$fromCodePoint.length!=1),"String",{fromCodePoint:function fromCodePoint(x){var res=[],len=arguments.length,i=0,code;while(len>i){code=+arguments[i++];if(toIndex(code,1114111)!==code)throw RangeError(code+" is not a valid code point");res.push(code<65536?fromCharCode(code):fromCharCode(((code-=65536)>>10)+55296,code%1024+56320))}return res.join("")}})},function(module,exports,__webpack_require__){var $def=__webpack_require__(8),toIObject=__webpack_require__(18),toLength=__webpack_require__(60);$def($def.S,"String",{raw:function raw(callSite){var tpl=toIObject(callSite.raw),len=toLength(tpl.length),sln=arguments.length,res=[],i=0;while(len>i){res.push(String(tpl[i++]));if(i0;(n>>>=1)&&(str+=str))if(n&1)res+=str;return res}},function(module,exports,__webpack_require__){"use strict";var $def=__webpack_require__(8),toLength=__webpack_require__(60),context=__webpack_require__(84),STARTS_WITH="startsWith",$startsWith=""[STARTS_WITH];$def($def.P+$def.F*__webpack_require__(86)(STARTS_WITH),"String",{startsWith:function startsWith(searchString){var that=context(this,searchString,STARTS_WITH),index=toLength(Math.min(arguments[1],that.length)),search=String(searchString);return $startsWith?$startsWith.call(that,search,index):that.slice(index,index+search.length)===search}})},function(module,exports,__webpack_require__){__webpack_require__(92)("match",1,function(defined,MATCH){return function match(regexp){"use strict";var O=defined(this),fn=regexp==undefined?undefined:regexp[MATCH];return fn!==undefined?fn.call(regexp,O):new RegExp(regexp)[MATCH](String(O))}})},function(module,exports,__webpack_require__){"use strict";module.exports=function(KEY,length,exec){var defined=__webpack_require__(21),SYMBOL=__webpack_require__(16)(KEY),original=""[KEY];if(__webpack_require__(7)(function(){var O={};O[SYMBOL]=function(){return 7};return""[KEY](O)!=7})){__webpack_require__(12)(String.prototype,KEY,exec(defined,SYMBOL,original));__webpack_require__(10)(RegExp.prototype,SYMBOL,length==2?function(string,arg){return original.call(string,this,arg)}:function(string){return original.call(string,this)})}}},function(module,exports,__webpack_require__){__webpack_require__(92)("replace",2,function(defined,REPLACE,$replace){return function replace(searchValue,replaceValue){"use strict";var O=defined(this),fn=searchValue==undefined?undefined:searchValue[REPLACE];return fn!==undefined?fn.call(searchValue,O,replaceValue):$replace.call(String(O),searchValue,replaceValue)}})},function(module,exports,__webpack_require__){__webpack_require__(92)("search",1,function(defined,SEARCH){return function search(regexp){"use strict";var O=defined(this),fn=regexp==undefined?undefined:regexp[SEARCH];return fn!==undefined?fn.call(regexp,O):new RegExp(regexp)[SEARCH](String(O))}})},function(module,exports,__webpack_require__){__webpack_require__(92)("split",2,function(defined,SPLIT,$split){return function split(separator,limit){"use strict";var O=defined(this),fn=separator==undefined?undefined:separator[SPLIT];return fn!==undefined?fn.call(separator,O,limit):$split.call(String(O),separator,limit)}})},function(module,exports,__webpack_require__){__webpack_require__(97);__webpack_require__(98);module.exports=__webpack_require__(9).Function},function(module,exports,__webpack_require__){var setDesc=__webpack_require__(3).setDesc,createDesc=__webpack_require__(11),has=__webpack_require__(5),FProto=Function.prototype,nameRE=/^\s*function ([^ (]*)/,NAME="name";NAME in FProto||__webpack_require__(6)&&setDesc(FProto,NAME,{configurable:true,get:function(){var match=(""+this).match(nameRE),name=match?match[1]:"";has(this,NAME)||setDesc(this,NAME,createDesc(5,name));return name}})},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(3),isObject=__webpack_require__(25),HAS_INSTANCE=__webpack_require__(16)("hasInstance"),FunctionProto=Function.prototype;if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto,HAS_INSTANCE,{value:function(O){if(typeof this!="function"||!isObject(O))return false;if(!isObject(this.prototype))return O instanceof this;while(O=$.getProto(O))if(this.prototype===O)return true;return false}})},function(module,exports,__webpack_require__){__webpack_require__(2);module.exports=__webpack_require__(9).Symbol},function(module,exports,__webpack_require__){__webpack_require__(37);__webpack_require__(51);__webpack_require__(101);__webpack_require__(102);module.exports=__webpack_require__(9).Map},function(module,exports,__webpack_require__){__webpack_require__(66);var global=__webpack_require__(4),hide=__webpack_require__(10),Iterators=__webpack_require__(55),ITERATOR=__webpack_require__(16)("iterator"),NL=global.NodeList,HTC=global.HTMLCollection,NLProto=NL&&NL.prototype,HTCProto=HTC&&HTC.prototype,ArrayValues=Iterators.NodeList=Iterators.HTMLCollection=Iterators.Array;if(NL&&!(ITERATOR in NLProto))hide(NLProto,ITERATOR,ArrayValues);if(HTC&&!(ITERATOR in HTCProto))hide(HTCProto,ITERATOR,ArrayValues)},function(module,exports,__webpack_require__){"use strict";var strong=__webpack_require__(103);__webpack_require__(107)("Map",function(get){return function Map(){return get(this,arguments[0])}},{get:function get(key){var entry=strong.getEntry(this,key);return entry&&entry.v},set:function set(key,value){return strong.def(this,key===0?0:key,value)}},strong,true)},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(3),hide=__webpack_require__(10),ctx=__webpack_require__(35),species=__webpack_require__(65),strictNew=__webpack_require__(104),defined=__webpack_require__(21),forOf=__webpack_require__(105),step=__webpack_require__(68),ID=__webpack_require__(13)("id"),$has=__webpack_require__(5),isObject=__webpack_require__(25),isExtensible=Object.isExtensible||isObject,SUPPORT_DESC=__webpack_require__(6),SIZE=SUPPORT_DESC?"_s":"size",id=0;var fastKey=function(it,create){if(!isObject(it))return typeof it=="symbol"?it:(typeof it=="string"?"S":"P")+it;if(!$has(it,ID)){if(!isExtensible(it))return"F";if(!create)return"E";hide(it,ID,++id)}return"O"+it[ID]};var getEntry=function(that,key){var index=fastKey(key),entry;if(index!=="F")return that._i[index];for(entry=that._f;entry;entry=entry.n){if(entry.k==key)return entry}};module.exports={getConstructor:function(wrapper,NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){strictNew(that,C,NAME);that._i=$.create(null);that._f=undefined;that._l=undefined;that[SIZE]=0;if(iterable!=undefined)forOf(iterable,IS_MAP,that[ADDER],that); -});__webpack_require__(106)(C.prototype,{clear:function clear(){for(var that=this,data=that._i,entry=that._f;entry;entry=entry.n){entry.r=true;if(entry.p)entry.p=entry.p.n=undefined;delete data[entry.i]}that._f=that._l=undefined;that[SIZE]=0},"delete":function(key){var that=this,entry=getEntry(that,key);if(entry){var next=entry.n,prev=entry.p;delete that._i[entry.i];entry.r=true;if(prev)prev.n=next;if(next)next.p=prev;if(that._f==entry)that._f=next;if(that._l==entry)that._l=prev;that[SIZE]--}return!!entry},forEach:function forEach(callbackfn){var f=ctx(callbackfn,arguments[1],3),entry;while(entry=entry?entry.n:this._f){f(entry.v,entry.k,this);while(entry&&entry.r)entry=entry.p}},has:function has(key){return!!getEntry(this,key)}});if(SUPPORT_DESC)$.setDesc(C.prototype,"size",{get:function(){return defined(this[SIZE])}});return C},def:function(that,key,value){var entry=getEntry(that,key),prev,index;if(entry){entry.v=value}else{that._l=entry={i:index=fastKey(key,true),k:key,v:value,p:prev=that._l,n:undefined,r:false};if(!that._f)that._f=entry;if(prev)prev.n=entry;that[SIZE]++;if(index!=="F")that._i[index]=entry}return that},getEntry:getEntry,setStrong:function(C,NAME,IS_MAP){__webpack_require__(54)(C,NAME,function(iterated,kind){this._t=iterated;this._k=kind;this._l=undefined},function(){var that=this,kind=that._k,entry=that._l;while(entry&&entry.r)entry=entry.p;if(!that._t||!(that._l=entry=entry?entry.n:that._t._f)){that._t=undefined;return step(1)}if(kind=="keys")return step(0,entry.k);if(kind=="values")return step(0,entry.v);return step(0,[entry.k,entry.v])},IS_MAP?"entries":"values",!IS_MAP,true);species(C);species(__webpack_require__(9)[NAME])}}},function(module,exports){module.exports=function(it,Constructor,name){if(!(it instanceof Constructor))throw TypeError(name+": use the 'new' operator!");return it}},function(module,exports,__webpack_require__){var ctx=__webpack_require__(35),call=__webpack_require__(58),isArrayIter=__webpack_require__(59),anObject=__webpack_require__(26),toLength=__webpack_require__(60),getIterFn=__webpack_require__(61);module.exports=function(iterable,entries,fn,that){var iterFn=getIterFn(iterable),f=ctx(fn,that,entries?2:1),index=0,length,step,iterator;if(typeof iterFn!="function")throw TypeError(iterable+" is not iterable!");if(isArrayIter(iterFn))for(length=toLength(iterable.length);length>index;index++){entries?f(anObject(step=iterable[index])[0],step[1]):f(iterable[index])}else for(iterator=iterFn.call(iterable);!(step=iterator.next()).done;){call(iterator,f,step.value,entries)}}},function(module,exports,__webpack_require__){var $redef=__webpack_require__(12);module.exports=function(target,src){for(var key in src)$redef(target,key,src[key]);return target}},function(module,exports,__webpack_require__){"use strict";var global=__webpack_require__(4),$def=__webpack_require__(8),forOf=__webpack_require__(105),strictNew=__webpack_require__(104);module.exports=function(NAME,wrapper,methods,common,IS_MAP,IS_WEAK){var Base=global[NAME],C=Base,ADDER=IS_MAP?"set":"add",proto=C&&C.prototype,O={};var fixMethod=function(KEY){var fn=proto[KEY];__webpack_require__(12)(proto,KEY,KEY=="delete"?function(a){return fn.call(this,a===0?0:a)}:KEY=="has"?function has(a){return fn.call(this,a===0?0:a)}:KEY=="get"?function get(a){return fn.call(this,a===0?0:a)}:KEY=="add"?function add(a){fn.call(this,a===0?0:a);return this}:function set(a,b){fn.call(this,a===0?0:a,b);return this})};if(typeof C!="function"||!(IS_WEAK||proto.forEach&&!__webpack_require__(7)(function(){(new C).entries().next()}))){C=common.getConstructor(wrapper,NAME,IS_MAP,ADDER);__webpack_require__(106)(C.prototype,methods)}else{var inst=new C,chain=inst[ADDER](IS_WEAK?{}:-0,1),buggyZero;if(!__webpack_require__(62)(function(iter){new C(iter)})){C=wrapper(function(target,iterable){strictNew(target,C,NAME);var that=new Base;if(iterable!=undefined)forOf(iterable,IS_MAP,that[ADDER],that);return that});C.prototype=proto;proto.constructor=C}IS_WEAK||inst.forEach(function(val,key){buggyZero=1/key===-Infinity});if(buggyZero){fixMethod("delete");fixMethod("has");IS_MAP&&fixMethod("get")}if(buggyZero||chain!==inst)fixMethod(ADDER);if(IS_WEAK&&proto.clear)delete proto.clear}__webpack_require__(15)(C,NAME);O[NAME]=C;$def($def.G+$def.W+$def.F*(C!=Base),O);if(!IS_WEAK)common.setStrong(C,NAME,IS_MAP);return C}},function(module,exports,__webpack_require__){__webpack_require__(37);__webpack_require__(51);__webpack_require__(101);__webpack_require__(109);module.exports=__webpack_require__(9).Set},function(module,exports,__webpack_require__){"use strict";var strong=__webpack_require__(103);__webpack_require__(107)("Set",function(get){return function Set(){return get(this,arguments[0])}},{add:function add(value){return strong.def(this,value=value===0?0:value,value)}},strong)}]);if(typeof Package==="undefined")Package={};Package["ecmascript-runtime"]={Symbol:Symbol,Map:Map,Set:Set}})();(function(){var Meteor=Package.meteor.Meteor;var Promise;(function(){(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)})([function(module,exports,__webpack_require__){var MeteorPromise=__webpack_require__(1);var es6PromiseThen=MeteorPromise.prototype.then;MeteorPromise.prototype.then=function(onResolved,onRejected){if(typeof Meteor==="object"&&typeof Meteor.bindEnvironment==="function"){return es6PromiseThen.call(this,onResolved&&Meteor.bindEnvironment(onResolved,raise),onRejected&&Meteor.bindEnvironment(onRejected,raise))}return es6PromiseThen.call(this,onResolved,onRejected)};function raise(exception){throw exception}Promise=MeteorPromise},function(module,exports,__webpack_require__){(function(global){var hasOwn=Object.prototype.hasOwnProperty;var g=typeof global==="object"?global:typeof window==="object"?window:typeof self==="object"?self:this;var GlobalPromise=g.Promise;var NpmPromise=__webpack_require__(2);function copyMethods(target,source){Object.keys(source).forEach(function(key){var value=source[key];if(typeof value==="function"&&!hasOwn.call(target,key)){target[key]=value}})}if(typeof GlobalPromise==="function"){copyMethods(GlobalPromise,NpmPromise);copyMethods(GlobalPromise.prototype,NpmPromise.prototype);module.exports=GlobalPromise}else{module.exports=NpmPromise}}).call(exports,function(){return this}())},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(3)},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(4);__webpack_require__(6);__webpack_require__(7);__webpack_require__(8);__webpack_require__(9)},function(module,exports,__webpack_require__){"use strict";var asap=__webpack_require__(5);function noop(){}var LAST_ERROR=null;var IS_ERROR={};function getThen(obj){try{return obj.then}catch(ex){LAST_ERROR=ex;return IS_ERROR}}function tryCallOne(fn,a){try{return fn(a)}catch(ex){LAST_ERROR=ex;return IS_ERROR}}function tryCallTwo(fn,a,b){try{fn(a,b)}catch(ex){LAST_ERROR=ex;return IS_ERROR}}module.exports=Promise;function Promise(fn){if(typeof this!=="object"){throw new TypeError("Promises must be constructed via new")}if(typeof fn!=="function"){throw new TypeError("not a function")}this._37=0;this._12=null;this._59=[];if(fn===noop)return;doResolve(fn,this)}Promise._99=noop;Promise.prototype.then=function(onFulfilled,onRejected){if(this.constructor!==Promise){return safeThen(this,onFulfilled,onRejected)}var res=new Promise(noop);handle(this,new Handler(onFulfilled,onRejected,res));return res};function safeThen(self,onFulfilled,onRejected){return new self.constructor(function(resolve,reject){var res=new Promise(noop);res.then(resolve,reject);handle(self,new Handler(onFulfilled,onRejected,res))})}function handle(self,deferred){while(self._37===3){self=self._12}if(self._37===0){self._59.push(deferred);return}asap(function(){var cb=self._37===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){if(self._37===1){resolve(deferred.promise,self._12)}else{reject(deferred.promise,self._12)}return}var ret=tryCallOne(cb,self._12);if(ret===IS_ERROR){reject(deferred.promise,LAST_ERROR)}else{resolve(deferred.promise,ret)}})}function resolve(self,newValue){if(newValue===self){return reject(self,new TypeError("A promise cannot be resolved with itself."))}if(newValue&&(typeof newValue==="object"||typeof newValue==="function")){var then=getThen(newValue);if(then===IS_ERROR){return reject(self,LAST_ERROR)}if(then===self.then&&newValue instanceof Promise){self._37=3;self._12=newValue;finale(self);return}else if(typeof then==="function"){doResolve(then.bind(newValue),self);return}}self._37=1;self._12=newValue;finale(self)}function reject(self,newValue){self._37=2;self._12=newValue;finale(self)}function finale(self){for(var i=0;icapacity){for(var scan=0,newLength=queue.length-index;scan0?argumentCount:0);return new Promise(function(resolve,reject){args.push(function(err,res){if(err)reject(err);else resolve(res)});var res=fn.apply(self,args);if(res&&(typeof res==="object"||typeof res==="function")&&typeof res.then==="function"){resolve(res)}})}};Promise.nodeify=function(fn){return function(){var args=Array.prototype.slice.call(arguments);var callback=typeof args[args.length-1]==="function"?args.pop():null;var ctx=this;try{return fn.apply(this,arguments).nodeify(callback,ctx)}catch(ex){if(callback===null||typeof callback=="undefined"){return new Promise(function(resolve,reject){reject(ex)})}else{asap(function(){callback.call(ctx,ex)})}}}};Promise.prototype.nodeify=function(callback,ctx){if(typeof callback!="function")return this;this.then(function(value){asap(function(){callback.call(ctx,null,value)})},function(err){asap(function(){callback.call(ctx,err)})})}},function(module,exports,__webpack_require__){"use strict";var rawAsap=__webpack_require__(5);var freeTasks=[];var pendingErrors=[];var requestErrorThrow=rawAsap.makeRequestCallFromTimer(throwFirstError);function throwFirstError(){if(pendingErrors.length){throw pendingErrors.shift()}}module.exports=asap;function asap(task){var rawTask;if(freeTasks.length){rawTask=freeTasks.pop()}else{rawTask=new RawTask}rawTask.task=task;rawAsap(rawTask)}function RawTask(){this.task=null}RawTask.prototype.call=function(){try{this.task.call()}catch(error){if(asap.onerror){asap.onerror(error)}else{pendingErrors.push(error);requestErrorThrow()}}finally{this.task=null;freeTasks[freeTasks.length]=this}}}])}).call(this);if(typeof Package==="undefined")Package={};Package.promise={Promise:Promise}})();(function(){var Meteor=Package.meteor.Meteor;var _=Package.underscore._;var Tracker=Package.tracker.Tracker;var Deps=Package.tracker.Deps;var EJSON=Package.ejson.EJSON;var ECMAScript=Package.ecmascript.ECMAScript;var babelHelpers=Package["babel-runtime"].babelHelpers;var Symbol=Package["ecmascript-runtime"].Symbol;var Map=Package["ecmascript-runtime"].Map;var Set=Package["ecmascript-runtime"].Set;var Promise=Package.promise.Promise;var ReactiveDict;(function(){var stringify=function(value){if(value===undefined)return"undefined";return EJSON.stringify(value)};var parse=function(serialized){if(serialized===undefined||serialized==="undefined")return undefined;return EJSON.parse(serialized)};var changed=function(v){v&&v.changed()};ReactiveDict=function(dictName){if(dictName){if(typeof dictName==="string"){ReactiveDict._registerDictForMigrate(dictName,this);this.keys=ReactiveDict._loadMigratedDict(dictName)||{};this.name=dictName}else if(typeof dictName==="object"){this.keys=dictName}else{throw new Error("Invalid ReactiveDict argument: "+dictName)}}else{this.keys={}}this.allDeps=new Tracker.Dependency;this.keyDeps={};this.keyValueDeps={}};_.extend(ReactiveDict.prototype,{set:function(keyOrObject,value){var self=this;if(typeof keyOrObject==="object"&&value===undefined){self._setObject(keyOrObject);return}var key=keyOrObject;value=stringify(value);var keyExisted=_.has(self.keys,key);var oldSerializedValue=keyExisted?self.keys[key]:"undefined";var isNewValue=value!==oldSerializedValue;self.keys[key]=value;if(isNewValue||!keyExisted){self.allDeps.changed()}if(isNewValue){changed(self.keyDeps[key]);if(self.keyValueDeps[key]){changed(self.keyValueDeps[key][oldSerializedValue]);changed(self.keyValueDeps[key][value])}}},setDefault:function(key,value){var self=this;if(!_.has(self.keys,key)){self.set(key,value)}},get:function(key){var self=this;self._ensureKey(key);self.keyDeps[key].depend();return parse(self.keys[key])},equals:function(key,value){var self=this;var ObjectID=null;if(Package.mongo){ObjectID=Package.mongo.Mongo.ObjectID}if(typeof value!=="string"&&typeof value!=="number"&&typeof value!=="boolean"&&typeof value!=="undefined"&&!(value instanceof Date)&&!(ObjectID&&value instanceof ObjectID)&&value!==null){throw new Error("ReactiveDict.equals: value must be scalar")}var serializedValue=stringify(value);if(Tracker.active){self._ensureKey(key);if(!_.has(self.keyValueDeps[key],serializedValue))self.keyValueDeps[key][serializedValue]=new Tracker.Dependency;var isNew=self.keyValueDeps[key][serializedValue].depend();if(isNew){Tracker.onInvalidate(function(){if(!self.keyValueDeps[key][serializedValue].hasDependents())delete self.keyValueDeps[key][serializedValue]})}}var oldValue=undefined;if(_.has(self.keys,key))oldValue=parse(self.keys[key]);return EJSON.equals(oldValue,value)},all:function(){this.allDeps.depend();var ret={};_.each(this.keys,function(value,key){ret[key]=parse(value)});return ret},clear:function(){var self=this;var oldKeys=self.keys;self.keys={};self.allDeps.changed();_.each(oldKeys,function(value,key){changed(self.keyDeps[key]);changed(self.keyValueDeps[key][value]);changed(self.keyValueDeps[key]["undefined"])})},"delete":function(key){var self=this;var didRemove=false;if(_.has(self.keys,key)){var oldValue=self.keys[key];delete self.keys[key];changed(self.keyDeps[key]);if(self.keyValueDeps[key]){changed(self.keyValueDeps[key][oldValue]);changed(self.keyValueDeps[key]["undefined"])}self.allDeps.changed();didRemove=true}return didRemove},_setObject:function(object){var self=this;_.each(object,function(value,key){self.set(key,value)})},_ensureKey:function(key){var self=this;if(!(key in self.keyDeps)){self.keyDeps[key]=new Tracker.Dependency;self.keyValueDeps[key]={}}},_getMigrationData:function(){return this.keys}})}).call(this);(function(){ReactiveDict._migratedDictData={};ReactiveDict._dictsToMigrate={};ReactiveDict._loadMigratedDict=function(dictName){if(_.has(ReactiveDict._migratedDictData,dictName))return ReactiveDict._migratedDictData[dictName];return null};ReactiveDict._registerDictForMigrate=function(dictName,dict){if(_.has(ReactiveDict._dictsToMigrate,dictName))throw new Error("Duplicate ReactiveDict name: "+dictName);ReactiveDict._dictsToMigrate[dictName]=dict};if(Meteor.isClient&&Package.reload){var migrationData=Package.reload.Reload._migrationData("reactive-dict");if(migrationData&&migrationData.dicts)ReactiveDict._migratedDictData=migrationData.dicts;Package.reload.Reload._onMigrate("reactive-dict",function(){var dictsToMigrate=ReactiveDict._dictsToMigrate;var dataToMigrate={};for(var dictName in babelHelpers.sanitizeForInObject(dictsToMigrate))dataToMigrate[dictName]=dictsToMigrate[dictName]._getMigrationData();return[true,{dicts:dataToMigrate}]})}}).call(this);if(typeof Package==="undefined")Package={};Package["reactive-dict"]={ReactiveDict:ReactiveDict}})();(function(){var Meteor=Package.meteor.Meteor;var _=Package.underscore._;var ReactiveDict=Package["reactive-dict"].ReactiveDict;var EJSON=Package.ejson.EJSON;var Session;(function(){Session=new ReactiveDict("session")}).call(this);if(typeof Package==="undefined")Package={};Package.session={Session:Session}})();(function(){var Meteor=Package.meteor.Meteor;var Tracker=Package.tracker.Tracker;var Deps=Package.tracker.Deps;var ReactiveVar;(function(){ReactiveVar=function(initialValue,equalsFunc){if(!(this instanceof ReactiveVar))return new ReactiveVar(initialValue,equalsFunc);this.curValue=initialValue;this.equalsFunc=equalsFunc;this.dep=new Tracker.Dependency};ReactiveVar._isEqual=function(oldValue,newValue){var a=oldValue,b=newValue;if(a!==b)return false;else return!a||typeof a==="number"||typeof a==="boolean"||typeof a==="string"};ReactiveVar.prototype.get=function(){if(Tracker.active)this.dep.depend();return this.curValue};ReactiveVar.prototype.set=function(newValue){var oldValue=this.curValue;if((this.equalsFunc||ReactiveVar._isEqual)(oldValue,newValue))return;this.curValue=newValue;this.dep.changed()};ReactiveVar.prototype.toString=function(){return"ReactiveVar{"+this.get()+"}"};ReactiveVar.prototype._numListeners=function(){var count=0;for(var id in this.dep._dependentsById)count++;return count}}).call(this);if(typeof Package==="undefined")Package={};Package["reactive-var"]={ReactiveVar:ReactiveVar}})();(function(){var Meteor=Package.meteor.Meteor;var Mongo=Package.mongo.Mongo;var Tracker=Package.tracker.Tracker;var Deps=Package.tracker.Deps;var LocalCollection=Package.minimongo.LocalCollection;var Minimongo=Package.minimongo.Minimongo;var CollectionExtensions;(function(){(function(){CollectionExtensions={};CollectionExtensions._extensions=[];Meteor.addCollectionExtension=function(customFunction){if(typeof customFunction!=="function"){throw new Meteor.Error("collection-extension-wrong-argument","You must pass a function into Meteor.addCollectionExtension().")}CollectionExtensions._extensions.push(customFunction);if(typeof Meteor.users!=="undefined"){customFunction.apply(Meteor.users,["users"])}};Meteor.addCollectionPrototype=function(name,customFunction){if(typeof name!=="string"){throw new Meteor.Error("collection-extension-wrong-argument","You must pass a string as the first argument into Meteor.addCollectionPrototype().")}if(typeof customFunction!=="function"){throw new Meteor.Error("collection-extension-wrong-argument","You must pass a function as the second argument into Meteor.addCollectionPrototype().")}(typeof Mongo!=="undefined"?Mongo.Collection:Meteor.Collection).prototype[name]=customFunction};CollectionExtensions._reassignCollectionPrototype=function(instance,constr){var hasSetPrototypeOf=typeof Object.setPrototypeOf==="function";if(!constr)constr=typeof Mongo!=="undefined"?Mongo.Collection:Meteor.Collection;if(hasSetPrototypeOf){Object.setPrototypeOf(instance,constr.prototype)}else if(instance.__proto__){instance.__proto__=constr.prototype}};CollectionExtensions._wrapCollection=function(ns,as){if(!as._CollectionPrototype)as._CollectionPrototype=new as.Collection(null);var constructor=as.Collection;var proto=as._CollectionPrototype;ns.Collection=function(){var ret=constructor.apply(this,arguments);CollectionExtensions._processCollectionExtensions(this,arguments);return ret};ns.Collection.prototype=proto;ns.Collection.prototype.constructor=ns.Collection;for(var prop in constructor){if(constructor.hasOwnProperty(prop)){ns.Collection[prop]=constructor[prop]}}};CollectionExtensions._processCollectionExtensions=function(self,args){var args=args?[].slice.call(args,0):undefined;var extensions=CollectionExtensions._extensions;for(var i=0,len=extensions.length;itext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}longtext=shorttext=null;var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a[0];text2=a[1];var linearray=a[2];var diffs=this.diff_bisect_(text1,text2,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer=1&&count_insert>=1){var a=this.diff_main(text_delete,text_insert,false,deadline);diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;xdeadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x); -var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEndtext2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_lengthtext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer=deletion.length/2||overlap_length>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length);diffs[pointer+1][1]=insertion.substring(overlap_length);pointer++}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){var punctuation=/[^a-zA-Z0-9]/;var whitespace=/\s/;var linebreak=/[\r\n]/;var blanklineEnd=/\n\r?\n$/;var blanklineStart=/^\r?\n\r?\n/;function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 5}var score=0;if(one.charAt(one.length-1).match(punctuation)||two.charAt(0).match(punctuation)){score++;if(one.charAt(one.length-1).match(whitespace)||two.charAt(0).match(whitespace)){score++;if(one.charAt(one.length-1).match(linebreak)||two.charAt(0).match(linebreak)){score++;if(one.match(blanklineEnd)||two.match(blanklineStart)){score++}}}}return score}var pointer=1;while(pointer=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality="";var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointerloc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var i=0;var pattern_amp=/&/g;var pattern_lt=//g;var pattern_para=/\n/g;for(var x=0;x");switch(op){case DIFF_INSERT:html[x]=''+text+"";break;case DIFF_DELETE:html[x]=''+text+"";break;case DIFF_EQUAL:html[x]=""+text+"";break}if(op!==DIFF_DELETE){i+=data.length}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;xthis.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&typeof a=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&typeof opt_b=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&typeof opt_c=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;xthis.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;ydiffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;xpatch_size){var bigpatch=patches[x];patches.splice(x--,1);var start1=bigpatch.start1;var start2=bigpatch.start2;var precontext="";while(bigpatch.diffs.length!==0){var patch=new diff_match_patch.patch_obj;var empty=true;patch.start1=start1-precontext.length;patch.start2=start2-precontext.length;if(precontext!==""){patch.length1=patch.length2=precontext.length;patch.diffs.push([DIFF_EQUAL,precontext])}while(bigpatch.diffs.length!==0&&patch.length12*patch_size){patch.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;x0&&len2>0&&!matchContext.objectHash&&typeof matchContext.matchByPosition!=="boolean"){matchContext.matchByPosition=!arraysHaveMatchByRef(array1,array2,len1,len2)}while(commonHead0){for(var removeItemIndex1=0;removeItemIndex1=0;index--){index1=toRemove[index];var indexDiff=delta["_"+index1];var removedValue=array.splice(index1,1)[0];if(indexDiff[2]===ARRAY_MOVE){toInsert.push({index:indexDiff[1],value:removedValue})}}toInsert=toInsert.sort(compare.numericallyBy("index"));var toInsertLength=toInsert.length;for(index=0;index0){for(index=0;indexreverseIndex){reverseIndex++}else if(moveFromIndex>=reverseIndex&&moveToIndexmatrix[index1-1][index2]){return backtrack(matrix,array1,array2,index1,index2-1,context)}else{return backtrack(matrix,array1,array2,index1-1,index2,context)}};var get=function(array1,array2,match,context){context=context||{};var matrix=lengthMatrix(array1,array2,match||defaultMatch,context);var result=backtrack(matrix,array1,array2,array1.length,array2.length,context);if(typeof array1==="string"&&typeof array2==="string"){result.sequence=result.sequence.join("")}return result};exports.get=get},{}],13:[function(require,module,exports){var DiffContext=require("../contexts/diff").DiffContext;var PatchContext=require("../contexts/patch").PatchContext;var ReverseContext=require("../contexts/reverse").ReverseContext;var collectChildrenDiffFilter=function collectChildrenDiffFilter(context){if(!context||!context.children){return}var length=context.children.length;var child;var result=context.result;for(var index=0;index1)level=isShallow;else if(isShallow)level=1;if(level){src=utils.rip(src,level);dst=utils.rip(dst,level)}return compare(src,dst)};var compare=function compare(src,dst){var srcKeys=_underscore2.default.keys(src);var dstKeys=_underscore2.default.keys(dst);var keys=_underscore2.default.chain([]).concat(srcKeys).concat(dstKeys).uniq().without("$$hashKey").value();return keys.reduce(function(diff,k){var srcValue=src[k];var dstValue=dst[k];if(_underscore2.default.isDate(srcValue)&&_underscore2.default.isDate(dstValue)){if(srcValue.getTime()!=dstValue.getTime())diff[k]=dstValue}if(_underscore2.default.isObject(srcValue)&&_underscore2.default.isObject(dstValue)){var valueDiff=getDifference(srcValue,dstValue); -utils.setFilled(diff,k,valueDiff)}else if(srcValue!==dstValue){diff[k]=dstValue}return diff},{})};return getDifference}();var getUpdates=function(){var getUpdates=function getUpdates(src,dst,isShallow){utils.assert(_underscore2.default.isObject(src),"first argument must be an object");utils.assert(_underscore2.default.isObject(dst),"second argument must be an object");var diff=getDifference(src,dst,isShallow);var paths=utils.toPaths(diff);var set=createSet(paths);var unset=createUnset(paths);var pull=createPull(unset);var updates={};utils.setFilled(updates,"$set",set);utils.setFilled(updates,"$unset",unset);utils.setFilled(updates,"$pull",pull);return updates};var createSet=function createSet(paths){var undefinedKeys=getUndefinedKeys(paths);return _underscore2.default.omit(paths,undefinedKeys)};var createUnset=function createUnset(paths){var undefinedKeys=getUndefinedKeys(paths);var unset=_underscore2.default.pick(paths,undefinedKeys);return _underscore2.default.reduce(unset,function(result,v,k){result[k]=true;return result},{})};var createPull=function createPull(unset){var arrKeyPaths=_underscore2.default.keys(unset).map(function(k){var split=k.match(/(.*)\.\d+$/);return split&&split[1]});return _underscore2.default.compact(arrKeyPaths).reduce(function(pull,k){pull[k]=null;return pull},{})};var getUndefinedKeys=function getUndefinedKeys(obj){return _underscore2.default.keys(obj).filter(function(k){var v=obj[k];return _underscore2.default.isUndefined(v)})};return getUpdates}();module.value("getUpdates",getUpdates)})()},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _underscore=__webpack_require__(3);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}if(typeof _underscore2.default==="undefined"){if(typeof Package.underscore==="undefined"){throw new Error("underscore is missing")}}exports.default=_underscore2.default||Package.underscore._;module.exports=exports["default"]},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_3__},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var _module=angular.module("diffArray",["getUpdates"]);_module.factory("diffArray",["getUpdates",function(getUpdates){var LocalCollection=Package.minimongo.LocalCollection;var idStringify=LocalCollection._idStringify||Package["mongo-id"].MongoID.idStringify;var idParse=LocalCollection._idParse||Package["mongo-id"].MongoID.idParse;function diffArray(lastSeqArray,seqArray,callbacks,preventNestedDiff){preventNestedDiff=!!preventNestedDiff;var diffFn=Package.minimongo.LocalCollection._diffQueryOrderedChanges||Package["diff-sequence"].DiffSequence.diffQueryOrderedChanges;var oldObjIds=[];var newObjIds=[];var posOld={};var posNew={};var posCur={};var lengthCur=lastSeqArray.length;_underscore2.default.each(seqArray,function(doc,i){newObjIds.push({_id:doc._id});posNew[idStringify(doc._id)]=i});_underscore2.default.each(lastSeqArray,function(doc,i){oldObjIds.push({_id:doc._id});posOld[idStringify(doc._id)]=i;posCur[idStringify(doc._id)]=i});diffFn(oldObjIds,newObjIds,{addedBefore:function addedBefore(id,doc,before){var position=before?posCur[idStringify(before)]:lengthCur;_underscore2.default.each(posCur,function(pos,id){if(pos>=position)posCur[id]++});lengthCur++;posCur[idStringify(id)]=position;callbacks.addedAt(id,seqArray[posNew[idStringify(id)]],position,before)},movedBefore:function movedBefore(id,before){var prevPosition=posCur[idStringify(id)];var position=before?posCur[idStringify(before)]:lengthCur-1;_underscore2.default.each(posCur,function(pos,id){if(pos>=prevPosition&&pos<=position)posCur[id]--;else if(pos<=prevPosition&&pos>=position)posCur[id]++});posCur[idStringify(id)]=position;callbacks.movedTo(id,seqArray[posNew[idStringify(id)]],prevPosition,position,before)},removed:function removed(id){var prevPosition=posCur[idStringify(id)];_underscore2.default.each(posCur,function(pos,id){if(pos>=prevPosition)posCur[id]--});delete posCur[idStringify(id)];lengthCur--;callbacks.removedAt(id,lastSeqArray[posOld[idStringify(id)]],prevPosition)}});_underscore2.default.each(posNew,function(pos,idString){if(!_underscore2.default.has(posOld,idString))return;var id=idParse(idString);var newItem=seqArray[pos]||{};var oldItem=lastSeqArray[posOld[idString]];var updates=getUpdates(oldItem,newItem,preventNestedDiff);if(!_underscore2.default.isEmpty(updates))callbacks.changedAt(id,updates,pos,oldItem)})}diffArray.shallow=function(lastSeqArray,seqArray,callbacks){return diffArray(lastSeqArray,seqArray,callbacks,true)};diffArray.deepCopyChanges=function(oldItem,newItem){var setDiff=getUpdates(oldItem,newItem).$set;_underscore2.default.each(setDiff,function(v,deepKey){setDeep(oldItem,deepKey,v)})};diffArray.deepCopyRemovals=function(oldItem,newItem){var unsetDiff=getUpdates(oldItem,newItem).$unset;_underscore2.default.each(unsetDiff,function(v,deepKey){unsetDeep(oldItem,deepKey)})};diffArray.getChanges=function(newCollection,oldCollection,diffMethod){var changes={added:[],removed:[],changed:[]};diffMethod(oldCollection,newCollection,{addedAt:function addedAt(id,item,index){changes.added.push({item:item,index:index})},removedAt:function removedAt(id,item,index){changes.removed.push({item:item,index:index})},changedAt:function changedAt(id,updates,index,oldItem){changes.changed.push({selector:id,modifier:updates})},movedTo:function movedTo(id,item,fromIndex,toIndex){}});return changes};var setDeep=function setDeep(obj,deepKey,v){var split=deepKey.split(".");var initialKeys=_underscore2.default.initial(split);var lastKey=_underscore2.default.last(split);initialKeys.reduce(function(subObj,k,i){var nextKey=split[i+1];if(isNumStr(nextKey)){if(subObj[k]===null)subObj[k]=[];if(subObj[k].length==parseInt(nextKey))subObj[k].push(null)}else if(subObj[k]===null||!isHash(subObj[k])){subObj[k]={}}return subObj[k]},obj);var deepObj=getDeep(obj,initialKeys);deepObj[lastKey]=v;return v};var unsetDeep=function unsetDeep(obj,deepKey){var split=deepKey.split(".");var initialKeys=_underscore2.default.initial(split);var lastKey=_underscore2.default.last(split);var deepObj=getDeep(obj,initialKeys);if(_underscore2.default.isArray(deepObj)&&isNumStr(lastKey))return!!deepObj.splice(lastKey,1);else return delete deepObj[lastKey]};var getDeep=function getDeep(obj,keys){return keys.reduce(function(subObj,k){return subObj[k]},obj)};var isHash=function isHash(obj){return _underscore2.default.isObject(obj)&&Object.getPrototypeOf(obj)===Object.prototype};var isNumStr=function isNumStr(str){return str.match(/^\d+$/)};return diffArray}])},function(module,exports){"use strict";angular.module("angular-meteor.settings",[]).constant("$angularMeteorSettings",{suppressWarnings:true})},function(module,exports){"use strict";angular.module("angular-meteor.ironrouter",[]).run(["$compile","$document","$rootScope",function($compile,$document,$rootScope){var Router=(Package["iron:router"]||{}).Router;if(!Router)return;var isLoaded=false;Router.onAfterAction(function(req,res,next){Tracker.afterFlush(function(){if(isLoaded)return;$compile($document)($rootScope);if(!$rootScope.$$phase)$rootScope.$apply();isLoaded=true})})}])},function(module,exports,__webpack_require__){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"symbol":typeof obj};var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorUtils=angular.module("angular-meteor.utils",["angular-meteor.settings"]);angularMeteorUtils.service("$meteorUtils",["$q","$timeout","$angularMeteorSettings",function($q,$timeout,$angularMeteorSettings){var self=this;this.autorun=function(scope,fn){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var comp=Tracker.autorun(function(c){fn(c);if(!c.firstRun)$timeout(angular.noop,0)});scope.$on("$destroy",function(){comp.stop()});return comp};this.stripDollarPrefixedKeys=function(data){if(!_underscore2.default.isObject(data)||data instanceof Date||data instanceof File||EJSON.toJSONValue(data).$type==="oid"||(typeof FS==="undefined"?"undefined":_typeof(FS))==="object"&&data instanceof FS.File)return data;var out=_underscore2.default.isArray(data)?[]:{};_underscore2.default.each(data,function(v,k){if(typeof k!=="string"||k.charAt(0)!=="$")out[k]=self.stripDollarPrefixedKeys(v)});return out};this.fulfill=function(deferred,boundError,boundResult){return function(err,result){if(err)deferred.reject(boundError==null?err:boundError);else if(typeof boundResult=="function")deferred.resolve(boundResult==null?result:boundResult(result));else deferred.resolve(boundResult==null?result:boundResult)}};this.promissor=function(obj,method){return function(){var deferred=$q.defer();var fulfill=self.fulfill(deferred);var args=_underscore2.default.toArray(arguments).concat(fulfill);obj[method].apply(obj,args);return deferred.promise}};this.promiseAll=function(promises){var allPromise=$q.all(promises);allPromise.finally(function(){$timeout(angular.noop)});return allPromise};this.getCollectionByName=function(string){return Mongo.Collection.get(string)};this.findIndexById=function(collection,doc){var foundDoc=_underscore2.default.find(collection,function(colDoc){return EJSON.equals(colDoc._id,doc._id)});return _underscore2.default.indexOf(collection,foundDoc)}}]);angularMeteorUtils.run(["$rootScope","$meteorUtils",function($rootScope,$meteorUtils){Object.getPrototypeOf($rootScope).$meteorAutorun=function(fn){return $meteorUtils.autorun(this,fn)}}])},function(module,exports){"use strict";var angularMeteorSubscribe=angular.module("angular-meteor.subscribe",["angular-meteor.settings"]);angularMeteorSubscribe.service("$meteorSubscribe",["$q","$angularMeteorSettings",function($q,$angularMeteorSettings){var self=this;this._subscribe=function(scope,deferred,args){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var subscription=null;var lastArg=args[args.length-1];if(angular.isObject(lastArg)&&angular.isFunction(lastArg.onStop)){var _onStop=lastArg.onStop;args.pop()}args.push({onReady:function onReady(){deferred.resolve(subscription)},onStop:function onStop(err){if(!deferred.promise.$$state.status){if(err)deferred.reject(err);else deferred.reject(new Meteor.Error("Subscription Stopped","Subscription stopped by a call to stop method. Either by the client or by the server."))}else if(_onStop)_onStop.apply(this,Array.prototype.slice.call(arguments))}});subscription=Meteor.subscribe.apply(scope,args);return subscription};this.subscribe=function(){var deferred=$q.defer();var args=Array.prototype.slice.call(arguments);var subscription=null;self._subscribe(this,deferred,args);return deferred.promise}}]);angularMeteorSubscribe.run(["$rootScope","$q","$meteorSubscribe",function($rootScope,$q,$meteorSubscribe){Object.getPrototypeOf($rootScope).$meteorSubscribe=function(){var deferred=$q.defer();var args=Array.prototype.slice.call(arguments);var subscription=$meteorSubscribe._subscribe(this,deferred,args);this.$on("$destroy",function(){subscription.stop()});return deferred.promise}}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorCollection=angular.module("angular-meteor.collection",["angular-meteor.stopper","angular-meteor.subscribe","angular-meteor.utils","diffArray","angular-meteor.settings"]);angularMeteorCollection.factory("AngularMeteorCollection",["$q","$meteorSubscribe","$meteorUtils","$rootScope","$timeout","diffArray","$angularMeteorSettings",function($q,$meteorSubscribe,$meteorUtils,$rootScope,$timeout,diffArray,$angularMeteorSettings){function AngularMeteorCollection(curDefFunc,collection,diffArrayFunc,autoClientSave){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var data=[];data._serverBackup=[];data._diffArrayFunc=diffArrayFunc;data._hObserve=null;data._hNewCurAutorun=null;data._hDataAutorun=null;if(angular.isDefined(collection)){data.$$collection=collection}else{var cursor=curDefFunc();data.$$collection=$meteorUtils.getCollectionByName(cursor.collection.name)}_underscore2.default.extend(data,AngularMeteorCollection);data._startCurAutorun(curDefFunc,autoClientSave);return data}AngularMeteorCollection._startCurAutorun=function(curDefFunc,autoClientSave){var self=this;self._hNewCurAutorun=Tracker.autorun(function(){Tracker.onInvalidate(function(){self._stopCursor()});if(autoClientSave)self._setAutoClientSave();self._updateCursor(curDefFunc(),autoClientSave)})};AngularMeteorCollection.subscribe=function(){$meteorSubscribe.subscribe.apply(this,arguments);return this};AngularMeteorCollection.save=function(docs,useUnsetModifier){if(!docs)docs=this;docs=[].concat(docs);var promises=docs.map(function(doc){return this._upsertDoc(doc,useUnsetModifier)},this);return $meteorUtils.promiseAll(promises)};AngularMeteorCollection._upsertDoc=function(doc,useUnsetModifier){var deferred=$q.defer();var collection=this.$$collection;var createFulfill=_underscore2.default.partial($meteorUtils.fulfill,deferred,null);doc=$meteorUtils.stripDollarPrefixedKeys(doc);var docId=doc._id;var isExist=collection.findOne(docId);if(isExist){delete doc._id;var modifier=useUnsetModifier?{$unset:doc}:{$set:doc};collection.update(docId,modifier,createFulfill(function(){return{_id:docId,action:"updated"}}))}else{collection.insert(doc,createFulfill(function(id){return{_id:id,action:"inserted"}}))}return deferred.promise};AngularMeteorCollection._updateDiff=function(selector,update,callback){callback=callback||angular.noop;var setters=_underscore2.default.omit(update,"$pull");var updates=[setters];_underscore2.default.each(update.$pull,function(pull,prop){var puller={};puller[prop]=pull;updates.push({$pull:puller})});this._updateParallel(selector,updates,callback)};AngularMeteorCollection._updateParallel=function(selector,updates,callback){var self=this;var done=_underscore2.default.after(updates.length,callback);var next=function next(err,affectedDocsNum){if(err)return callback(err);done(null,affectedDocsNum)};_underscore2.default.each(updates,function(update){self.$$collection.update(selector,update,next)})};AngularMeteorCollection.remove=function(keyOrDocs){var keys;if(!keyOrDocs){keys=_underscore2.default.pluck(this,"_id")}else{keyOrDocs=[].concat(keyOrDocs);keys=_underscore2.default.map(keyOrDocs,function(keyOrDoc){return keyOrDoc._id||keyOrDoc})}check(keys,[Match.OneOf(String,Mongo.ObjectID)]);var promises=keys.map(function(key){return this._removeDoc(key)},this);return $meteorUtils.promiseAll(promises)};AngularMeteorCollection._removeDoc=function(id){var deferred=$q.defer();var collection=this.$$collection;var fulfill=$meteorUtils.fulfill(deferred,null,{_id:id,action:"removed"});collection.remove(id,fulfill);return deferred.promise};AngularMeteorCollection._updateCursor=function(cursor,autoClientSave){var self=this;if(self._hObserve)self._stopObserving();self._hObserve=cursor.observe({addedAt:function addedAt(doc,atIndex){self.splice(atIndex,0,doc);self._serverBackup.splice(atIndex,0,doc);self._setServerUpdateMode()},changedAt:function changedAt(doc,oldDoc,atIndex){diffArray.deepCopyChanges(self[atIndex],doc);diffArray.deepCopyRemovals(self[atIndex],doc);self._serverBackup[atIndex]=self[atIndex];self._setServerUpdateMode()},movedTo:function movedTo(doc,fromIndex,toIndex){self.splice(fromIndex,1);self.splice(toIndex,0,doc);self._serverBackup.splice(fromIndex,1);self._serverBackup.splice(toIndex,0,doc);self._setServerUpdateMode()},removedAt:function removedAt(oldDoc){var removedIndex=$meteorUtils.findIndexById(self,oldDoc);if(removedIndex!=-1){self.splice(removedIndex,1);self._serverBackup.splice(removedIndex,1);self._setServerUpdateMode()}else{removedIndex=$meteorUtils.findIndexById(self._serverBackup,oldDoc);if(removedIndex!=-1){self._serverBackup.splice(removedIndex,1)}}}});self._hDataAutorun=Tracker.autorun(function(){cursor.fetch();if(self._serverMode)self._unsetServerUpdateMode(autoClientSave)})};AngularMeteorCollection._stopObserving=function(){this._hObserve.stop();this._hDataAutorun.stop();delete this._serverMode;delete this._hUnsetTimeout};AngularMeteorCollection._setServerUpdateMode=function(name){this._serverMode=true;this._unsetAutoClientSave()};AngularMeteorCollection._unsetServerUpdateMode=function(autoClientSave){var self=this;if(self._hUnsetTimeout){$timeout.cancel(self._hUnsetTimeout);self._hUnsetTimeout=null}self._hUnsetTimeout=$timeout(function(){self._serverMode=false;var changes=diffArray.getChanges(self,self._serverBackup,self._diffArrayFunc);self._saveChanges(changes);if(autoClientSave)self._setAutoClientSave()},0)};AngularMeteorCollection.stop=function(){this._stopCursor();this._hNewCurAutorun.stop()};AngularMeteorCollection._stopCursor=function(){this._unsetAutoClientSave();if(this._hObserve){this._hObserve.stop();this._hDataAutorun.stop()}this.splice(0);this._serverBackup.splice(0)};AngularMeteorCollection._unsetAutoClientSave=function(name){if(this._hRegAutoBind){this._hRegAutoBind();this._hRegAutoBind=null}};AngularMeteorCollection._setAutoClientSave=function(){var self=this;self._unsetAutoClientSave();self._hRegAutoBind=$rootScope.$watch(function(){return self},function(nItems,oItems){if(nItems===oItems)return;var changes=diffArray.getChanges(self,oItems,self._diffArrayFunc);self._unsetAutoClientSave();self._saveChanges(changes);self._setAutoClientSave()},true)};AngularMeteorCollection._saveChanges=function(changes){var self=this;var addedDocs=changes.added.reverse().map(function(descriptor){self.splice(descriptor.index,1);return descriptor.item});if(addedDocs.length)self.save(addedDocs);var removedDocs=changes.removed.map(function(descriptor){return descriptor.item});if(removedDocs.length)self.remove(removedDocs);changes.changed.forEach(function(descriptor){self._updateDiff(descriptor.selector,descriptor.modifier)})};return AngularMeteorCollection}]);angularMeteorCollection.factory("$meteorCollectionFS",["$meteorCollection","diffArray","$angularMeteorSettings",function($meteorCollection,diffArray,$angularMeteorSettings){function $meteorCollectionFS(reactiveFunc,autoClientSave,collection){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");return new $meteorCollection(reactiveFunc,autoClientSave,collection,diffArray.shallow)}return $meteorCollectionFS}]);angularMeteorCollection.factory("$meteorCollection",["AngularMeteorCollection","$rootScope","diffArray",function(AngularMeteorCollection,$rootScope,diffArray){function $meteorCollection(reactiveFunc,autoClientSave,collection,diffFn){if(!reactiveFunc){throw new TypeError("The first argument of $meteorCollection is undefined.")}if(!(angular.isFunction(reactiveFunc)||angular.isFunction(reactiveFunc.find))){throw new TypeError("The first argument of $meteorCollection must be a function or "+"a have a find function property.")}if(!angular.isFunction(reactiveFunc)){collection=angular.isDefined(collection)?collection:reactiveFunc;reactiveFunc=_underscore2.default.bind(reactiveFunc.find,reactiveFunc)}autoClientSave=angular.isDefined(autoClientSave)?autoClientSave:true;diffFn=diffFn||diffArray;return new AngularMeteorCollection(reactiveFunc,collection,diffFn,autoClientSave)}return $meteorCollection}]);angularMeteorCollection.run(["$rootScope","$meteorCollection","$meteorCollectionFS","$meteorStopper",function($rootScope,$meteorCollection,$meteorCollectionFS,$meteorStopper){var scopeProto=Object.getPrototypeOf($rootScope);scopeProto.$meteorCollection=$meteorStopper($meteorCollection);scopeProto.$meteorCollectionFS=$meteorStopper($meteorCollectionFS)}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorObject=angular.module("angular-meteor.object",["angular-meteor.utils","angular-meteor.subscribe","angular-meteor.collection","getUpdates","diffArray","angular-meteor.settings"]);angularMeteorObject.factory("AngularMeteorObject",["$q","$meteorSubscribe","$meteorUtils","diffArray","getUpdates","AngularMeteorCollection","$angularMeteorSettings",function($q,$meteorSubscribe,$meteorUtils,diffArray,getUpdates,AngularMeteorCollection,$angularMeteorSettings){AngularMeteorObject.$$internalProps=["$$collection","$$options","$$id","$$hashkey","$$internalProps","$$scope","bind","save","reset","subscribe","stop","autorunComputation","unregisterAutoBind","unregisterAutoDestroy","getRawObject","_auto","_setAutos","_eventEmitter","_serverBackup","_updateDiff","_updateParallel","_getId"];function AngularMeteorObject(collection,selector,options){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var helpers=collection._helpers;var data=_underscore2.default.isFunction(helpers)?Object.create(helpers.prototype):{};var doc=collection.findOne(selector,options);var collectionExtension=_underscore2.default.pick(AngularMeteorCollection,"_updateParallel");_underscore2.default.extend(data,doc);_underscore2.default.extend(data,AngularMeteorObject);_underscore2.default.extend(data,collectionExtension);data.$$options=_underscore2.default.omit(options,"skip","limit");data.$$collection=collection;data.$$id=data._getId(selector);data._serverBackup=doc||{};return data}AngularMeteorObject.getRawObject=function(){return angular.copy(_underscore2.default.omit(this,this.$$internalProps))};AngularMeteorObject.subscribe=function(){$meteorSubscribe.subscribe.apply(this,arguments);return this};AngularMeteorObject.save=function(custom){var deferred=$q.defer();var collection=this.$$collection;var createFulfill=_underscore2.default.partial($meteorUtils.fulfill,deferred,null);var oldDoc=collection.findOne(this.$$id);var mods;if(oldDoc){if(custom)mods={$set:custom};else{mods=getUpdates(oldDoc,this.getRawObject());if(_underscore2.default.isEmpty(mods)){return $q.when({action:"updated"})}}this._updateDiff(mods,createFulfill({action:"updated"}))}else{if(custom)mods=_underscore2.default.clone(custom);else mods=this.getRawObject();mods._id=mods._id||this.$$id;collection.insert(mods,createFulfill({action:"inserted"}))}return deferred.promise};AngularMeteorObject._updateDiff=function(update,callback){var selector=this.$$id;AngularMeteorCollection._updateDiff.call(this,selector,update,callback)};AngularMeteorObject.reset=function(keepClientProps){var self=this;var options=this.$$options;var id=this.$$id;var doc=this.$$collection.findOne(id,options);if(doc){var docKeys=_underscore2.default.keys(doc);var docExtension=_underscore2.default.pick(doc,docKeys);var clientProps;_underscore2.default.extend(self,docExtension);_underscore2.default.extend(self._serverBackup,docExtension);if(keepClientProps){clientProps=_underscore2.default.intersection(_underscore2.default.keys(self),_underscore2.default.keys(self._serverBackup))}else{clientProps=_underscore2.default.keys(self)}var serverProps=_underscore2.default.keys(doc);var removedKeys=_underscore2.default.difference(clientProps,serverProps,self.$$internalProps);removedKeys.forEach(function(prop){delete self[prop];delete self._serverBackup[prop]})}else{_underscore2.default.keys(this.getRawObject()).forEach(function(prop){delete self[prop]});self._serverBackup={}}};AngularMeteorObject.stop=function(){if(this.unregisterAutoDestroy)this.unregisterAutoDestroy();if(this.unregisterAutoBind)this.unregisterAutoBind();if(this.autorunComputation&&this.autorunComputation.stop)this.autorunComputation.stop()};AngularMeteorObject._getId=function(selector){var options=_underscore2.default.extend({},this.$$options,{fields:{_id:1},reactive:false,transform:null});var doc=this.$$collection.findOne(selector,options);if(doc)return doc._id;if(selector instanceof Mongo.ObjectID)return selector;if(_underscore2.default.isString(selector))return selector;return new Mongo.ObjectID};return AngularMeteorObject}]);angularMeteorObject.factory("$meteorObject",["$rootScope","$meteorUtils","getUpdates","AngularMeteorObject",function($rootScope,$meteorUtils,getUpdates,AngularMeteorObject){function $meteorObject(collection,id,auto,options){if(!collection){throw new TypeError("The first argument of $meteorObject is undefined.")}if(!angular.isFunction(collection.findOne)){throw new TypeError("The first argument of $meteorObject must be a function or a have a findOne function property.")}var data=new AngularMeteorObject(collection,id,options);data._auto=auto!==false;_underscore2.default.extend(data,$meteorObject);data._setAutos();return data}$meteorObject._setAutos=function(){var self=this;this.autorunComputation=$meteorUtils.autorun($rootScope,function(){self.reset(true)});this.unregisterAutoBind=this._auto&&$rootScope.$watch(function(){return self.getRawObject()},function(item,oldItem){if(item!==oldItem)self.save()},true);this.unregisterAutoDestroy=$rootScope.$on("$destroy",function(){if(self&&self.stop)self.pop()})};return $meteorObject}]);angularMeteorObject.run(["$rootScope","$meteorObject","$meteorStopper",function($rootScope,$meteorObject,$meteorStopper){var scopeProto=Object.getPrototypeOf($rootScope);scopeProto.$meteorObject=$meteorStopper($meteorObject)}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorUser=angular.module("angular-meteor.user",["angular-meteor.utils","angular-meteor.core","angular-meteor.settings"]);angularMeteorUser.service("$meteorUser",["$rootScope","$meteorUtils","$q","$angularMeteorSettings",function($rootScope,$meteorUtils,$q,$angularMeteorSettings){var pack=Package["accounts-base"];if(!pack)return;var self=this;var Accounts=pack.Accounts;this.waitForUser=function(){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var deferred=$q.defer();$meteorUtils.autorun($rootScope,function(){if(!Meteor.loggingIn())deferred.resolve(Meteor.user())},true);return deferred.promise};this.requireUser=function(){if(!$angularMeteorSettings.suppressWarnings){console.warn("[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings")}var deferred=$q.defer();$meteorUtils.autorun($rootScope,function(){if(!Meteor.loggingIn()){if(Meteor.user()===null)deferred.reject("AUTH_REQUIRED");else deferred.resolve(Meteor.user())}},true);return deferred.promise};this.requireValidUser=function(validatorFn){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");return self.requireUser(true).then(function(user){var valid=validatorFn(user);if(valid===true)return user;else if(typeof valid==="string")return $q.reject(valid);else return $q.reject("FORBIDDEN")})};this.loginWithPassword=$meteorUtils.promissor(Meteor,"loginWithPassword");this.createUser=$meteorUtils.promissor(Accounts,"createUser");this.changePassword=$meteorUtils.promissor(Accounts,"changePassword");this.forgotPassword=$meteorUtils.promissor(Accounts,"forgotPassword");this.resetPassword=$meteorUtils.promissor(Accounts,"resetPassword");this.verifyEmail=$meteorUtils.promissor(Accounts,"verifyEmail");this.logout=$meteorUtils.promissor(Meteor,"logout");this.logoutOtherClients=$meteorUtils.promissor(Meteor,"logoutOtherClients");this.loginWithFacebook=$meteorUtils.promissor(Meteor,"loginWithFacebook");this.loginWithTwitter=$meteorUtils.promissor(Meteor,"loginWithTwitter");this.loginWithGoogle=$meteorUtils.promissor(Meteor,"loginWithGoogle");this.loginWithGithub=$meteorUtils.promissor(Meteor,"loginWithGithub");this.loginWithMeteorDeveloperAccount=$meteorUtils.promissor(Meteor,"loginWithMeteorDeveloperAccount");this.loginWithMeetup=$meteorUtils.promissor(Meteor,"loginWithMeetup");this.loginWithWeibo=$meteorUtils.promissor(Meteor,"loginWithWeibo")}]);angularMeteorUser.run(["$rootScope","$angularMeteorSettings","$$Core",function($rootScope,$angularMeteorSettings,$$Core){var ScopeProto=Object.getPrototypeOf($rootScope);_underscore2.default.extend(ScopeProto,$$Core);$rootScope.autorun(function(){if(!Meteor.user)return;$rootScope.currentUser=Meteor.user();$rootScope.loggingIn=Meteor.loggingIn()})}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorMethods=angular.module("angular-meteor.methods",["angular-meteor.utils","angular-meteor.settings"]);angularMeteorMethods.service("$meteorMethods",["$q","$meteorUtils","$angularMeteorSettings",function($q,$meteorUtils,$angularMeteorSettings){this.call=function(){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var deferred=$q.defer();var fulfill=$meteorUtils.fulfill(deferred);var args=_underscore2.default.toArray(arguments).concat(fulfill);Meteor.call.apply(this,args);return deferred.promise}}])},function(module,exports){"use strict";var angularMeteorSession=angular.module("angular-meteor.session",["angular-meteor.utils","angular-meteor.settings"]); -angularMeteorSession.factory("$meteorSession",["$meteorUtils","$parse","$angularMeteorSettings",function($meteorUtils,$parse,$angularMeteorSettings){return function(session){return{bind:function bind(scope,model){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var getter=$parse(model);var setter=getter.assign;$meteorUtils.autorun(scope,function(){setter(scope,Session.get(session))});scope.$watch(model,function(newItem,oldItem){Session.set(session,getter(scope))},true)}}}}])},function(module,exports){"use strict";var angularMeteorCamera=angular.module("angular-meteor.camera",["angular-meteor.utils","angular-meteor.settings"]);angularMeteorCamera.service("$meteorCamera",["$q","$meteorUtils","$angularMeteorSettings",function($q,$meteorUtils,$angularMeteorSettings){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var pack=Package["mdg:camera"];if(!pack)return;var MeteorCamera=pack.MeteorCamera;this.getPicture=function(options){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");options=options||{};var deferred=$q.defer();MeteorCamera.getPicture(options,$meteorUtils.fulfill(deferred));return deferred.promise}}])},function(module,exports){"use strict";var angularMeteorStopper=angular.module("angular-meteor.stopper",["angular-meteor.subscribe"]);angularMeteorStopper.factory("$meteorStopper",["$q","$meteorSubscribe",function($q,$meteorSubscribe){function $meteorStopper($meteorEntity){return function(){var args=Array.prototype.slice.call(arguments);var meteorEntity=$meteorEntity.apply(this,args);angular.extend(meteorEntity,$meteorStopper);meteorEntity.$$scope=this;this.$on("$destroy",function(){meteorEntity.stop();if(meteorEntity.subscription)meteorEntity.subscription.stop()});return meteorEntity}}$meteorStopper.subscribe=function(){var args=Array.prototype.slice.call(arguments);this.subscription=$meteorSubscribe._subscribe(this.$$scope,$q.defer(),args);return this};return $meteorStopper}])},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.utils=exports.name=undefined;var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}var name=exports.name="angular-meteor.utilities";var utils=exports.utils="$$utils";angular.module(name,[]).service(utils,["$rootScope",function($rootScope){var self=this;this.isCursor=function(obj){return obj instanceof Meteor.Collection.Cursor};this.isScope=function(obj){return obj instanceof $rootScope.constructor};this.isViewModel=function(obj){return _underscore2.default.isObject(obj)&&obj.$$dependencies};this.areSiblings=function(obj1,obj2){return _underscore2.default.isObject(obj1)&&_underscore2.default.isObject(obj2)&&Object.getPrototypeOf(obj1)===Object.getPrototypeOf(obj2)};this.bind=function(fn,context,tap){tap=_underscore2.default.isFunction(tap)?tap:angular.noop;if(_underscore2.default.isFunction(fn))return bindFn(fn,context,tap);if(_underscore2.default.isObject(fn))return bindObj(fn,context,tap);return fn};function bindFn(fn,context,tap){return function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}var result=fn.apply(context,args);tap.call(context,{result:result,args:args});return result}}function bindObj(obj,context,tap){return _underscore2.default.keys(obj).reduce(function(bound,k){bound[k]=self.bind(obj[k],context,tap);return bound},{})}}])},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Mixer=exports.name=undefined;var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this._mixins.filter(_underscore2.default.isFunction).forEach(function(mixin){mixin.call.apply(mixin,[context].concat(args))});return context};this._extend=function(obj,options){var _$defaults=_underscore2.default.defaults({},options,{pattern:/.*/});var pattern=_$defaults.pattern;var context=_$defaults.context;var mixins=_this._mixins.map(function(mixin){var keys=_underscore2.default.keys(mixin).filter(function(k){return k.match(pattern)}).filter(function(k){return _underscore2.default.isFunction(mixin[k])});return keys.reduce(function(boundMixin,methodName){var methodHandler=mixin[methodName];boundMixin[methodName]=function(){var methodContext=context||this;var recentCaller=caller;caller=this;try{for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}return methodHandler.apply(methodContext,args)}finally{caller=recentCaller}};return boundMixin},{})});return _underscore2.default.extend.apply(_underscore2.default,[obj].concat(_toConsumableArray(mixins)))};Object.defineProperty(this,"caller",{configurable:true,enumerable:true,get:function get(){return caller}})})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.name=undefined;var _mixer=__webpack_require__(17);var name=exports.name="angular-meteor.scope";angular.module(name,[_mixer.name]).run(["$rootScope",_mixer.Mixer,function($rootScope,$Mixer){var Scope=$rootScope.constructor;var $new=$rootScope.$new;$Mixer._autoExtend.push(Scope.prototype);$Mixer._autoConstruct.push($rootScope);Scope.prototype.$new=function(){var scope=$new.apply(this,arguments);return $Mixer._construct(scope)}}])},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Core=exports.name=undefined;var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);var _utils=__webpack_require__(16);var _mixer=__webpack_require__(17);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i3?_len-3:0),_key=3;_key<_len;_key++){watcherArgs[_key-3]=arguments[_key]}this.$$watchEntity.apply(this,[vm,k,watcher].concat(watcherArgs))}vm.$$dependencies[k].depend();return $parse(k)(vm)};$$Reactive.$$watchEntity=function(vm,k,watcher){var _this2=this;var getVal=_underscore2.default.partial($parse(k),vm);var initialVal=getVal();for(var _len2=arguments.length,watcherArgs=Array(_len2>3?_len2-3:0),_key2=3;_key2<_len2;_key2++){watcherArgs[_key2-3]=arguments[_key2]}watcher.call.apply(watcher,[this,getVal,function(val,oldVal){var hasChanged=val!==initialVal||val!==oldVal;if(hasChanged)_this2.$$changed(vm,k)}].concat(watcherArgs))};$$Reactive.$$setFnHelper=function(vm,k,fn){var _this3=this;var activeObservation=null;var lastModel=null;var lastModelData=[];this.autorun(function(){var model=fn.apply(vm);Tracker.nonreactive(function(){if($$utils.isCursor(model)){var modelData=undefined;if(angular.isUndefined(vm[k])){_this3.$$setValHelper(vm,k,[],false)}if(activeObservation){lastModelData=lastModel.fetch();activeObservation.stop();activeObservation=null}var handle=_this3.$$handleCursor(vm,k,model);activeObservation=handle.observation;modelData=handle.data;if(lastModelData.length!==0){var diff=_jsondiffpatch2.default.diff(lastModelData,modelData);vm[k]=_jsondiffpatch2.default.patch(lastModelData,diff)}else{vm[k]=modelData}lastModel=model;lastModelData=modelData}else{_this3.$$handleNonCursor(vm,k,model)}_this3.$$changed(vm,k)})})};$$Reactive.$$setValHelper=function(vm,k,v){var _this4=this;var watch=arguments.length<=3||arguments[3]===undefined?true:arguments[3];if(watch){var isDeep=_underscore2.default.isObject(v);this.getReactively(vm,k,isDeep)}Object.defineProperty(vm,k,{configurable:true,enumerable:true,get:function get(){return v},set:function set(newVal){v=newVal;_this4.$$changed(vm,k)}})};$$Reactive.$$handleCursor=function(vm,k,cursor){var _this5=this;var data=[];var observation=cursor.observe({addedAt:function addedAt(doc,atIndex){if(!observation){data.push(doc);return}vm[k].splice(atIndex,0,doc);_this5.$$changed(vm,k)},changedAt:function changedAt(doc,oldDoc,atIndex){var diff=_jsondiffpatch2.default.diff(vm[k][atIndex],doc);_jsondiffpatch2.default.patch(vm[k][atIndex],diff);_this5.$$changed(vm,k)},movedTo:function movedTo(doc,fromIndex,toIndex){vm[k].splice(fromIndex,1);vm[k].splice(toIndex,0,doc);_this5.$$changed(vm,k)},removedAt:function removedAt(oldDoc,atIndex){vm[k].splice(atIndex,1);_this5.$$changed(vm,k)}});return{observation:observation,data:data}};$$Reactive.$$handleNonCursor=function(vm,k,data){var v=vm[k];if(angular.isDefined(v)){delete vm[k];v=null}if(angular.isUndefined(v)){this.$$setValHelper(vm,k,data)}else if($$utils.areSiblings(v,data)){var diff=_jsondiffpatch2.default.diff(v,data);_jsondiffpatch2.default.patch(v,diff);this.$$changed(vm,k)}else{vm[k]=data}};$$Reactive.$$depend=function(vm,k){vm.$$dependencies[k].depend()};$$Reactive.$$changed=function(vm,k){this.$$throttledDigest();vm.$$dependencies[k].changed()};return $$Reactive}])},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_22__},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var name=exports.name="angular-templates";try{angular.module(name)}catch(e){angular.module(name,[])}}])})}).call(this);if(typeof Package==="undefined")Package={};Package["angular-meteor-data"]={}})(); \ No newline at end of file +(function(){var Meteor=Package.meteor.Meteor;var global=Package.meteor.global;var meteorEnv=Package.meteor.meteorEnv;var _=Package.underscore._;var Base64=Package.base64.Base64;var EJSON,EJSONTest;(function(){EJSON={};EJSONTest={};var customTypes={};EJSON.addType=function(name,factory){if(_.has(customTypes,name))throw new Error("Type "+name+" already present");customTypes[name]=factory};var isInfOrNan=function(obj){return _.isNaN(obj)||obj===Infinity||obj===-Infinity};var builtinConverters=[{matchJSONValue:function(obj){return _.has(obj,"$date")&&_.size(obj)===1},matchObject:function(obj){return obj instanceof Date},toJSONValue:function(obj){return{$date:obj.getTime()}},fromJSONValue:function(obj){return new Date(obj.$date)}},{matchJSONValue:function(obj){return _.has(obj,"$InfNaN")&&_.size(obj)===1},matchObject:isInfOrNan,toJSONValue:function(obj){var sign;if(_.isNaN(obj))sign=0;else if(obj===Infinity)sign=1;else sign=-1;return{$InfNaN:sign}},fromJSONValue:function(obj){return obj.$InfNaN/0}},{matchJSONValue:function(obj){return _.has(obj,"$binary")&&_.size(obj)===1},matchObject:function(obj){return typeof Uint8Array!=="undefined"&&obj instanceof Uint8Array||obj&&_.has(obj,"$Uint8ArrayPolyfill")},toJSONValue:function(obj){return{$binary:Base64.encode(obj)}},fromJSONValue:function(obj){return Base64.decode(obj.$binary)}},{matchJSONValue:function(obj){return _.has(obj,"$escape")&&_.size(obj)===1},matchObject:function(obj){if(_.isEmpty(obj)||_.size(obj)>2){return false}return _.any(builtinConverters,function(converter){return converter.matchJSONValue(obj)})},toJSONValue:function(obj){var newObj={};_.each(obj,function(value,key){newObj[key]=EJSON.toJSONValue(value)});return{$escape:newObj}},fromJSONValue:function(obj){var newObj={};_.each(obj.$escape,function(value,key){newObj[key]=EJSON.fromJSONValue(value)});return newObj}},{matchJSONValue:function(obj){return _.has(obj,"$type")&&_.has(obj,"$value")&&_.size(obj)===2},matchObject:function(obj){return EJSON._isCustomType(obj)},toJSONValue:function(obj){var jsonValue=Meteor._noYieldsAllowed(function(){return obj.toJSONValue()});return{$type:obj.typeName(),$value:jsonValue}},fromJSONValue:function(obj){var typeName=obj.$type;if(!_.has(customTypes,typeName))throw new Error("Custom EJSON type "+typeName+" is not defined");var converter=customTypes[typeName];return Meteor._noYieldsAllowed(function(){return converter(obj.$value)})}}];EJSON._isCustomType=function(obj){return obj&&typeof obj.toJSONValue==="function"&&typeof obj.typeName==="function"&&_.has(customTypes,obj.typeName())};EJSON._getTypes=function(){return customTypes};EJSON._getConverters=function(){return builtinConverters};var adjustTypesToJSONValue=EJSON._adjustTypesToJSONValue=function(obj){if(obj===null)return null;var maybeChanged=toJSONValueHelper(obj);if(maybeChanged!==undefined)return maybeChanged;if(typeof obj!=="object")return obj;_.each(obj,function(value,key){if(typeof value!=="object"&&value!==undefined&&!isInfOrNan(value))return;var changed=toJSONValueHelper(value);if(changed){obj[key]=changed;return}adjustTypesToJSONValue(value)});return obj};var toJSONValueHelper=function(item){for(var i=0;i=bKeys.length){return false}if(x!==bKeys[i]){return false}if(!EJSON.equals(val,b[bKeys[i]],options)){return false}i++;return true});return ret&&i===bKeys.length}else{i=0;ret=_.all(a,function(val,key){if(!_.has(b,key)){return false}if(!EJSON.equals(val,b[key],options)){return false}i++;return true});return ret&&_.size(b)===i}};EJSON.clone=function(v){var ret;if(typeof v!=="object")return v;if(v===null)return null;if(v instanceof Date)return new Date(v.getTime());if(v instanceof RegExp)return v;if(EJSON.isBinary(v)){ret=EJSON.newBinary(v.length);for(var i=0;i0){if(old_idx_seq(seq_ends[j-1])max_seq_len)max_seq_len=j+1}}var idx=max_seq_len===0?-1:seq_ends[max_seq_len-1];while(idx>=0){unmoved.push(idx);idx=ptrs[idx]}unmoved.reverse();unmoved.push(new_results.length);_.each(old_results,function(doc){if(!new_presence_of_id[doc._id])observer.removed&&observer.removed(doc._id)});var startOfGroup=0;_.each(unmoved,function(endOfGroup){var groupId=new_results[endOfGroup]?new_results[endOfGroup]._id:null;var oldDoc,newDoc,fields,projectedNew,projectedOld;for(var i=startOfGroup;i=position)posCur[id]++})}lengthCur++;posCur[idStringify(id)]=position;callbacks.addedAt(id,seqArray[posNew[idStringify(id)]].item,position,before)},movedBefore:function(id,before){if(id===before)return;var oldPosition=posCur[idStringify(id)];var newPosition=before?posCur[idStringify(before)]:lengthCur;if(newPosition>oldPosition){newPosition--}_.each(posCur,function(elCurPosition,id){if(oldPosition=prevPosition)posCur[id]--});delete posCur[idStringify(id)];lengthCur--;callbacks.removedAt(id,lastSeqArray[posOld[idStringify(id)]].item,prevPosition)}});_.each(posNew,function(pos,idString){var id=idParse(idString);if(_.has(posOld,idString)){var newItem=seqArray[pos].item;var oldItem=lastSeqArray[posOld[idString]].item;if(typeof newItem==="object"||newItem!==oldItem)callbacks.changedAt(id,newItem,oldItem,pos)}})};seqChangedToEmpty=function(lastSeqArray,callbacks){return[]};seqChangedToArray=function(lastSeqArray,array,callbacks){var idsUsed={};var seqArray=_.map(array,function(item,index){var id;if(typeof item==="string"){id="-"+item}else if(typeof item==="number"||typeof item==="boolean"||item===undefined){id=item}else if(typeof item==="object"){id=item&&"_id"in item?item._id:index}else{throw new Error("{{#each}} doesn't support arrays with "+"elements of type "+typeof item)}var idString=idStringify(id);if(idsUsed[idString]){if(typeof item==="object"&&"_id"in item)warn("duplicate id "+id+" in",array);id=Random.id()}else{idsUsed[idString]=true}return{_id:id,item:item}});return seqArray};seqChangedToCursor=function(lastSeqArray,cursor,callbacks){var initial=true;var seqArray=[];var observeHandle=cursor.observe({addedAt:function(document,atIndex,before){if(initial){if(before!==null)throw new Error("Expected initial data from observe in order");seqArray.push({_id:document._id,item:document})}else{callbacks.addedAt(document._id,document,atIndex,before)}},changedAt:function(newDocument,oldDocument,atIndex){callbacks.changedAt(newDocument._id,newDocument,oldDocument,atIndex)},removedAt:function(oldDocument,atIndex){callbacks.removedAt(oldDocument._id,oldDocument,atIndex)},movedTo:function(document,fromIndex,toIndex,before){callbacks.movedTo(document._id,document,fromIndex,toIndex,before)}});initial=false;return[seqArray,observeHandle]}}).call(this);if(typeof Package==="undefined")Package={};(function(pkg,symbols){for(var s in symbols)s in pkg||(pkg[s]=symbols[s])})(Package["observe-sequence"]={},{ObserveSequence:ObserveSequence})})();(function(){var Meteor=Package.meteor.Meteor;var global=Package.meteor.global;var meteorEnv=Package.meteor.meteorEnv;if(typeof Package==="undefined")Package={};Package.ecmascript={}})();(function(){var Meteor=Package.meteor.Meteor;var global=Package.meteor.global;var meteorEnv=Package.meteor.meteorEnv;var meteorInstall=Package.modules.meteorInstall;var Buffer=Package.modules.Buffer;var process=Package.modules.process;var Promise=Package.promise.Promise;var meteorBabelHelpers;var require=meteorInstall({node_modules:{meteor:{"babel-runtime":{"babel-runtime.js":["regenerator/runtime-module",function(require,exports,module){var hasOwn=Object.prototype.hasOwnProperty;var S=typeof Symbol==="function"?Symbol:{};var iteratorSymbol=S.iterator||"@@iterator";function canDefineNonEnumerableProperties(){var testObj={};var testPropName="t";try{Object.defineProperty(testObj,testPropName,{enumerable:false,value:testObj});for(var k in testObj){if(k===testPropName){return false}}}catch(e){return false}return testObj[testPropName]===testObj}meteorBabelHelpers={sanitizeForInObject:canDefineNonEnumerableProperties()?function(value){return value}:function(obj){if(Array.isArray(obj)){var newObj={};var keys=Object.keys(obj);var keyCount=keys.length;for(var i=0;i=0;--i){arr2[i]=arr[i]}return arr2}return Array.from(arr)},toArray:function(arr){return Array.isArray(arr)?arr:Array.from(arr)},slicedToArray:function(iterable,limit){if(Array.isArray(iterable)){return iterable}if(iterable){var it=iterable[iteratorSymbol]();var result=[];var info;if(typeof limit!=="number"){limit=Infinity}while(result.length=0;var oldRuntime=hadRuntime&&g.regeneratorRuntime;g.regeneratorRuntime=undefined;module.exports=require("./runtime");if(hadRuntime){g.regeneratorRuntime=oldRuntime}else{try{delete g.regeneratorRuntime}catch(e){g.regeneratorRuntime=undefined}}}],"runtime.js":function(require,exports,module){!function(global){"use strict";var hasOwn=Object.prototype.hasOwnProperty;var undefined;var $Symbol=typeof Symbol==="function"?Symbol:{};var iteratorSymbol=$Symbol.iterator||"@@iterator";var toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";var inModule=typeof module==="object";var runtime=global.regeneratorRuntime;if(runtime){if(inModule){module.exports=runtime}return}runtime=global.regeneratorRuntime=inModule?module.exports:{};function wrap(innerFn,outerFn,self,tryLocsList){var generator=Object.create((outerFn||Generator).prototype);var context=new Context(tryLocsList||[]);generator._invoke=makeInvokeMethod(innerFn,self,context);return generator}runtime.wrap=wrap;function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}var GenStateSuspendedStart="suspendedStart";var GenStateSuspendedYield="suspendedYield";var GenStateExecuting="executing";var GenStateCompleted="completed";var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype;GeneratorFunction.prototype=Gp.constructor=GeneratorFunctionPrototype;GeneratorFunctionPrototype.constructor=GeneratorFunction;GeneratorFunctionPrototype[toStringTagSymbol]=GeneratorFunction.displayName="GeneratorFunction";function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){prototype[method]=function(arg){return this._invoke(method,arg)}})}runtime.isGeneratorFunction=function(genFun){var ctor=typeof genFun==="function"&&genFun.constructor;return ctor?ctor===GeneratorFunction||(ctor.displayName||ctor.name)==="GeneratorFunction":false};runtime.mark=function(genFun){if(Object.setPrototypeOf){Object.setPrototypeOf(genFun,GeneratorFunctionPrototype)}else{genFun.__proto__=GeneratorFunctionPrototype;if(!(toStringTagSymbol in genFun)){genFun[toStringTagSymbol]="GeneratorFunction"}}genFun.prototype=Object.create(Gp);return genFun};runtime.awrap=function(arg){return new AwaitArgument(arg)};function AwaitArgument(arg){this.arg=arg}function AsyncIterator(generator){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if(record.type==="throw"){reject(record.arg)}else{var result=record.arg;var value=result.value;if(value instanceof AwaitArgument){return Promise.resolve(value.arg).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)})}return Promise.resolve(value).then(function(unwrapped){result.value=unwrapped;resolve(result)},reject)}}if(typeof process==="object"&&process.domain){invoke=process.domain.bind(invoke)}var previousPromise;function enqueue(method,arg){function callInvokeWithMethodAndArg(){return new Promise(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}this._invoke=enqueue}defineIteratorMethods(AsyncIterator.prototype);runtime.async=function(innerFn,outerFn,self,tryLocsList){var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList));return runtime.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})};function makeInvokeMethod(innerFn,self,context){var state=GenStateSuspendedStart;return function invoke(method,arg){if(state===GenStateExecuting){ +throw new Error("Generator is already running")}if(state===GenStateCompleted){if(method==="throw"){throw arg}return doneResult()}while(true){var delegate=context.delegate;if(delegate){if(method==="return"||method==="throw"&&delegate.iterator[method]===undefined){context.delegate=null;var returnMethod=delegate.iterator["return"];if(returnMethod){var record=tryCatch(returnMethod,delegate.iterator,arg);if(record.type==="throw"){method="throw";arg=record.arg;continue}}if(method==="return"){continue}}var record=tryCatch(delegate.iterator[method],delegate.iterator,arg);if(record.type==="throw"){context.delegate=null;method="throw";arg=record.arg;continue}method="next";arg=undefined;var info=record.arg;if(info.done){context[delegate.resultName]=info.value;context.next=delegate.nextLoc}else{state=GenStateSuspendedYield;return info}context.delegate=null}if(method==="next"){if(state===GenStateSuspendedYield){context.sent=arg}else{context.sent=undefined}}else if(method==="throw"){if(state===GenStateSuspendedStart){state=GenStateCompleted;throw arg}if(context.dispatchException(arg)){method="next";arg=undefined}}else if(method==="return"){context.abrupt("return",arg)}state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if(record.type==="normal"){state=context.done?GenStateCompleted:GenStateSuspendedYield;var info={value:record.arg,done:context.done};if(record.arg===ContinueSentinel){if(context.delegate&&method==="next"){arg=undefined}}else{return info}}else if(record.type==="throw"){state=GenStateCompleted;method="throw";arg=record.arg}}}}defineIteratorMethods(Gp);Gp[iteratorSymbol]=function(){return this};Gp[toStringTagSymbol]="Generator";Gp.toString=function(){return"[object Generator]"};function pushTryEntry(locs){var entry={tryLoc:locs[0]};if(1 in locs){entry.catchLoc=locs[1]}if(2 in locs){entry.finallyLoc=locs[2];entry.afterLoc=locs[3]}this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal";delete record.arg;entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}];tryLocsList.forEach(pushTryEntry,this);this.reset(true)}runtime.keys=function(object){var keys=[];for(var key in object){keys.push(key)}keys.reverse();return function next(){while(keys.length){var key=keys.pop();if(key in object){next.value=key;next.done=false;return next}}next.done=true;return next}};function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod){return iteratorMethod.call(iterable)}if(typeof iterable.next==="function"){return iterable}if(!isNaN(iterable.length)){var i=-1,next=function next(){while(++i=0;--i){var entry=this.tryEntries[i];var record=entry.completion;if(entry.tryLoc==="root"){return handle("end")}if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc");var hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc){this.complete(entry.completion,entry.afterLoc);resetTryEntry(entry);return ContinueSentinel}}},"catch":function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if(record.type==="throw"){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc};return ContinueSentinel}}}(typeof global==="object"?global:typeof window==="object"?window:typeof self==="object"?self:this)}}}}}}},{extensions:[".js",".json"]});require("./node_modules/meteor/babel-runtime/babel-runtime.js");if(typeof Package==="undefined")Package={};(function(pkg,symbols){for(var s in symbols)s in pkg||(pkg[s]=symbols[s])})(Package["babel-runtime"]={},{meteorBabelHelpers:meteorBabelHelpers})})();(function(){var Meteor=Package.meteor.Meteor;var global=Package.meteor.global;var meteorEnv=Package.meteor.meteorEnv;var meteorInstall=Package.modules.meteorInstall;var Buffer=Package.modules.Buffer;var process=Package.modules.process;var Promise=Package.promise.Promise;var Symbol,Map,Set,__g,__e;var require=meteorInstall({node_modules:{meteor:{"ecmascript-runtime":{"runtime.js":["meteor-ecmascript-runtime",function(require,exports,module){module.exports=require("meteor-ecmascript-runtime")}],node_modules:{"meteor-ecmascript-runtime":{"package.json":function(require,exports){exports.name="meteor-ecmascript-runtime";exports.version="0.2.6";exports.main="server.js"},"server.js":["core-js/es6/object","core-js/es6/array","core-js/es6/string","core-js/es6/function","core-js/es6/symbol","core-js/es6/map","core-js/es6/set",function(require,exports){require("core-js/es6/object");require("core-js/es6/array");require("core-js/es6/string");require("core-js/es6/function");Symbol=exports.Symbol=require("core-js/es6/symbol");Map=exports.Map=require("core-js/es6/map");Set=exports.Set=require("core-js/es6/set")}],node_modules:{"core-js":{es6:{"object.js":["../modules/es6.symbol","../modules/es6.object.assign","../modules/es6.object.is","../modules/es6.object.set-prototype-of","../modules/es6.object.to-string","../modules/es6.object.freeze","../modules/es6.object.seal","../modules/es6.object.prevent-extensions","../modules/es6.object.is-frozen","../modules/es6.object.is-sealed","../modules/es6.object.is-extensible","../modules/es6.object.get-own-property-descriptor","../modules/es6.object.get-prototype-of","../modules/es6.object.keys","../modules/es6.object.get-own-property-names","../modules/$.core",function(require,exports,module){require("../modules/es6.symbol");require("../modules/es6.object.assign");require("../modules/es6.object.is");require("../modules/es6.object.set-prototype-of");require("../modules/es6.object.to-string");require("../modules/es6.object.freeze");require("../modules/es6.object.seal");require("../modules/es6.object.prevent-extensions");require("../modules/es6.object.is-frozen");require("../modules/es6.object.is-sealed");require("../modules/es6.object.is-extensible");require("../modules/es6.object.get-own-property-descriptor");require("../modules/es6.object.get-prototype-of");require("../modules/es6.object.keys");require("../modules/es6.object.get-own-property-names");module.exports=require("../modules/$.core").Object}],"array.js":["../modules/es6.string.iterator","../modules/es6.array.from","../modules/es6.array.of","../modules/es6.array.species","../modules/es6.array.iterator","../modules/es6.array.copy-within","../modules/es6.array.fill","../modules/es6.array.find","../modules/es6.array.find-index","../modules/$.core",function(require,exports,module){require("../modules/es6.string.iterator");require("../modules/es6.array.from");require("../modules/es6.array.of");require("../modules/es6.array.species");require("../modules/es6.array.iterator");require("../modules/es6.array.copy-within");require("../modules/es6.array.fill");require("../modules/es6.array.find");require("../modules/es6.array.find-index");module.exports=require("../modules/$.core").Array}],"string.js":["../modules/es6.string.from-code-point","../modules/es6.string.raw","../modules/es6.string.trim","../modules/es6.string.iterator","../modules/es6.string.code-point-at","../modules/es6.string.ends-with","../modules/es6.string.includes","../modules/es6.string.repeat","../modules/es6.string.starts-with","../modules/es6.regexp.match","../modules/es6.regexp.replace","../modules/es6.regexp.search","../modules/es6.regexp.split","../modules/$.core",function(require,exports,module){require("../modules/es6.string.from-code-point");require("../modules/es6.string.raw");require("../modules/es6.string.trim");require("../modules/es6.string.iterator");require("../modules/es6.string.code-point-at");require("../modules/es6.string.ends-with");require("../modules/es6.string.includes");require("../modules/es6.string.repeat");require("../modules/es6.string.starts-with");require("../modules/es6.regexp.match");require("../modules/es6.regexp.replace");require("../modules/es6.regexp.search");require("../modules/es6.regexp.split");module.exports=require("../modules/$.core").String}],"function.js":["../modules/es6.function.name","../modules/es6.function.has-instance","../modules/$.core",function(require,exports,module){require("../modules/es6.function.name");require("../modules/es6.function.has-instance");module.exports=require("../modules/$.core").Function}],"symbol.js":["../modules/es6.symbol","../modules/$.core",function(require,exports,module){require("../modules/es6.symbol");module.exports=require("../modules/$.core").Symbol}],"map.js":["../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/web.dom.iterable","../modules/es6.map","../modules/$.core",function(require,exports,module){require("../modules/es6.object.to-string");require("../modules/es6.string.iterator");require("../modules/web.dom.iterable");require("../modules/es6.map");module.exports=require("../modules/$.core").Map}],"set.js":["../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/web.dom.iterable","../modules/es6.set","../modules/$.core",function(require,exports,module){require("../modules/es6.object.to-string");require("../modules/es6.string.iterator");require("../modules/web.dom.iterable");require("../modules/es6.set");module.exports=require("../modules/$.core").Set}]},modules:{"es6.symbol.js":["./$","./$.global","./$.has","./$.support-desc","./$.def","./$.redef","./$.fails","./$.shared","./$.tag","./$.uid","./$.wks","./$.keyof","./$.get-names","./$.enum-keys","./$.is-array","./$.is-object","./$.an-object","./$.to-iobject","./$.property-desc","./$.library",function(require){"use strict";var $=require("./$"),global=require("./$.global"),has=require("./$.has"),SUPPORT_DESC=require("./$.support-desc"),$def=require("./$.def"),$redef=require("./$.redef"),$fails=require("./$.fails"),shared=require("./$.shared"),setTag=require("./$.tag"),uid=require("./$.uid"),wks=require("./$.wks"),keyOf=require("./$.keyof"),$names=require("./$.get-names"),enumKeys=require("./$.enum-keys"),isArray=require("./$.is-array"),isObject=require("./$.is-object"),anObject=require("./$.an-object"),toIObject=require("./$.to-iobject"),createDesc=require("./$.property-desc"),getDesc=$.getDesc,setDesc=$.setDesc,_create=$.create,getNames=$names.get,$Symbol=global.Symbol,$JSON=global.JSON,_stringify=$JSON&&$JSON.stringify,setter=false,HIDDEN=wks("_hidden"),isEnum=$.isEnum,SymbolRegistry=shared("symbol-registry"),AllSymbols=shared("symbols"),useNative=typeof $Symbol=="function",ObjectProto=Object.prototype;var setSymbolDesc=SUPPORT_DESC&&$fails(function(){return _create(setDesc({},"a",{get:function(){return setDesc(this,"a",{value:7}).a}})).a!=7})?function(it,key,D){var protoDesc=getDesc(ObjectProto,key);if(protoDesc)delete ObjectProto[key];setDesc(it,key,D);if(protoDesc&&it!==ObjectProto)setDesc(ObjectProto,key,protoDesc)}:setDesc;var wrap=function(tag){var sym=AllSymbols[tag]=_create($Symbol.prototype);sym._k=tag;SUPPORT_DESC&&setter&&setSymbolDesc(ObjectProto,tag,{configurable:true,set:function(value){if(has(this,HIDDEN)&&has(this[HIDDEN],tag))this[HIDDEN][tag]=false;setSymbolDesc(this,tag,createDesc(1,value))}});return sym};var isSymbol=function(it){return typeof it=="symbol"};var $defineProperty=function defineProperty(it,key,D){if(D&&has(AllSymbols,key)){if(!D.enumerable){if(!has(it,HIDDEN))setDesc(it,HIDDEN,createDesc(1,{}));it[HIDDEN][key]=true}else{if(has(it,HIDDEN)&&it[HIDDEN][key])it[HIDDEN][key]=false;D=_create(D,{enumerable:createDesc(0,false)})}return setSymbolDesc(it,key,D)}return setDesc(it,key,D)};var $defineProperties=function defineProperties(it,P){anObject(it);var keys=enumKeys(P=toIObject(P)),i=0,l=keys.length,key;while(l>i)$defineProperty(it,key=keys[i++],P[key]);return it};var $create=function create(it,P){return P===undefined?_create(it):$defineProperties(_create(it),P)};var $propertyIsEnumerable=function propertyIsEnumerable(key){var E=isEnum.call(this,key);return E||!has(this,key)||!has(AllSymbols,key)||has(this,HIDDEN)&&this[HIDDEN][key]?E:true};var $getOwnPropertyDescriptor=function getOwnPropertyDescriptor(it,key){var D=getDesc(it=toIObject(it),key);if(D&&has(AllSymbols,key)&&!(has(it,HIDDEN)&&it[HIDDEN][key]))D.enumerable=true;return D};var $getOwnPropertyNames=function getOwnPropertyNames(it){var names=getNames(toIObject(it)),result=[],i=0,key;while(names.length>i)if(!has(AllSymbols,key=names[i++])&&key!=HIDDEN)result.push(key);return result};var $getOwnPropertySymbols=function getOwnPropertySymbols(it){var names=getNames(toIObject(it)),result=[],i=0,key;while(names.length>i)if(has(AllSymbols,key=names[i++]))result.push(AllSymbols[key]);return result};var $stringify=function stringify(it){var args=[it],i=1,replacer,$replacer;while(arguments.length>i)args.push(arguments[i++]);replacer=args[1];if(typeof replacer=="function")$replacer=replacer;if($replacer||!isArray(replacer))replacer=function(key,value){if($replacer)value=$replacer.call(this,key,value);if(!isSymbol(value))return value};args[1]=replacer;return _stringify.apply($JSON,args)};var buggyJSON=$fails(function(){var S=$Symbol();return _stringify([S])!="[null]"||_stringify({a:S})!="{}"||_stringify(Object(S))!="{}"});if(!useNative){$Symbol=function Symbol(){if(isSymbol(this))throw TypeError("Symbol is not a constructor");return wrap(uid(arguments[0]))};$redef($Symbol.prototype,"toString",function toString(){return this._k});isSymbol=function(it){return it instanceof $Symbol};$.create=$create;$.isEnum=$propertyIsEnumerable;$.getDesc=$getOwnPropertyDescriptor;$.setDesc=$defineProperty;$.setDescs=$defineProperties;$.getNames=$names.get=$getOwnPropertyNames;$.getSymbols=$getOwnPropertySymbols;if(SUPPORT_DESC&&!require("./$.library")){$redef(ObjectProto,"propertyIsEnumerable",$propertyIsEnumerable,true)}}var symbolStatics={"for":function(key){return has(SymbolRegistry,key+="")?SymbolRegistry[key]:SymbolRegistry[key]=$Symbol(key)},keyFor:function keyFor(key){return keyOf(SymbolRegistry,key)},useSetter:function(){setter=true},useSimple:function(){setter=false}};$.each.call(("hasInstance,isConcatSpreadable,iterator,match,replace,search,"+"species,split,toPrimitive,toStringTag,unscopables").split(","),function(it){var sym=wks(it);symbolStatics[it]=useNative?sym:wrap(sym)});setter=true;$def($def.G+$def.W,{Symbol:$Symbol});$def($def.S,"Symbol",symbolStatics);$def($def.S+$def.F*!useNative,"Object",{create:$create,defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor,getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols});$JSON&&$def($def.S+$def.F*(!useNative||buggyJSON),"JSON",{stringify:$stringify});setTag($Symbol,"Symbol");setTag(Math,"Math",true);setTag(global.JSON,"JSON",true)}],"$.js":function(require,exports,module){var $Object=Object;module.exports={create:$Object.create,getProto:$Object.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:$Object.getOwnPropertyDescriptor,setDesc:$Object.defineProperty,setDescs:$Object.defineProperties,getKeys:$Object.keys,getNames:$Object.getOwnPropertyNames,getSymbols:$Object.getOwnPropertySymbols,each:[].forEach}},"$.global.js":function(require,exports,module){var UNDEFINED="undefined";var global=module.exports=typeof window!=UNDEFINED&&window.Math==Math?window:typeof self!=UNDEFINED&&self.Math==Math?self:Function("return this")();if(typeof __g=="number")__g=global},"$.has.js":function(require,exports,module){var hasOwnProperty={}.hasOwnProperty;module.exports=function(it,key){return hasOwnProperty.call(it,key)}},"$.support-desc.js":["./$.fails",function(require,exports,module){module.exports=!require("./$.fails")(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})}],"$.fails.js":function(require,exports,module){module.exports=function(exec){try{return!!exec()}catch(e){return true}}},"$.def.js":["./$.global","./$.core","./$.hide","./$.redef",function(require,exports,module){var global=require("./$.global"),core=require("./$.core"),hide=require("./$.hide"),$redef=require("./$.redef"),PROTOTYPE="prototype";var ctx=function(fn,that){return function(){return fn.apply(that,arguments)}};var $def=function(type,name,source){var key,own,out,exp,isGlobal=type&$def.G,isProto=type&$def.P,target=isGlobal?global:type&$def.S?global[name]||(global[name]={}):(global[name]||{})[PROTOTYPE],exports=isGlobal?core:core[name]||(core[name]={});if(isGlobal)source=name;for(key in source){own=!(type&$def.F)&&target&&key in target;out=(own?target:source)[key];if(type&$def.B&&own)exp=ctx(out,global);else exp=isProto&&typeof out=="function"?ctx(Function.call,out):out;if(target&&!own)$redef(target,key,out);if(exports[key]!=out)hide(exports,key,exp);if(isProto)(exports[PROTOTYPE]||(exports[PROTOTYPE]={}))[key]=out}};global.core=core;$def.F=1;$def.G=2;$def.S=4;$def.P=8;$def.B=16;$def.W=32;module.exports=$def}],"$.core.js":function(require,exports,module){var core=module.exports={version:"1.2.1"};if(typeof __e=="number")__e=core},"$.hide.js":["./$","./$.property-desc","./$.support-desc",function(require,exports,module){var $=require("./$"),createDesc=require("./$.property-desc");module.exports=require("./$.support-desc")?function(object,key,value){return $.setDesc(object,key,createDesc(1,value))}:function(object,key,value){object[key]=value;return object}}],"$.property-desc.js":function(require,exports,module){module.exports=function(bitmap,value){return{enumerable:!(bitmap&1),configurable:!(bitmap&2),writable:!(bitmap&4),value:value}}},"$.redef.js":["./$.global","./$.hide","./$.uid","./$.core",function(require,exports,module){var global=require("./$.global"),hide=require("./$.hide"),SRC=require("./$.uid")("src"),TO_STRING="toString",$toString=Function[TO_STRING],TPL=(""+$toString).split(TO_STRING);require("./$.core").inspectSource=function(it){return $toString.call(it)};(module.exports=function(O,key,val,safe){if(typeof val=="function"){hide(val,SRC,O[key]?""+O[key]:TPL.join(String(key)));if(!("name"in val))val.name=key}if(O===global){O[key]=val}else{if(!safe)delete O[key];hide(O,key,val)}})(Function.prototype,TO_STRING,function toString(){return typeof this=="function"&&this[SRC]||$toString.call(this)})}],"$.uid.js":function(require,exports,module){var id=0,px=Math.random();module.exports=function(key){return"Symbol(".concat(key===undefined?"":key,")_",(++id+px).toString(36))}},"$.shared.js":["./$.global",function(require,exports,module){var global=require("./$.global"),SHARED="__core-js_shared__",store=global[SHARED]||(global[SHARED]={});module.exports=function(key){return store[key]||(store[key]={})}}],"$.tag.js":["./$.has","./$.hide","./$.wks",function(require,exports,module){var has=require("./$.has"),hide=require("./$.hide"),TAG=require("./$.wks")("toStringTag");module.exports=function(it,tag,stat){if(it&&!has(it=stat?it:it.prototype,TAG))hide(it,TAG,tag)}}],"$.wks.js":["./$.shared","./$.global","./$.uid",function(require,exports,module){var store=require("./$.shared")("wks"),Symbol=require("./$.global").Symbol;module.exports=function(name){return store[name]||(store[name]=Symbol&&Symbol[name]||(Symbol||require("./$.uid"))("Symbol."+name))}}],"$.keyof.js":["./$","./$.to-iobject",function(require,exports,module){var $=require("./$"),toIObject=require("./$.to-iobject");module.exports=function(object,el){var O=toIObject(object),keys=$.getKeys(O),length=keys.length,index=0,key;while(length>index)if(O[key=keys[index++]]===el)return key}}],"$.to-iobject.js":["./$.iobject","./$.defined",function(require,exports,module){var IObject=require("./$.iobject"),defined=require("./$.defined");module.exports=function(it){return IObject(defined(it))}}],"$.iobject.js":["./$.cof",function(require,exports,module){var cof=require("./$.cof");module.exports=0 in Object("z")?Object:function(it){return cof(it)=="String"?it.split(""):Object(it)}}],"$.cof.js":function(require,exports,module){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},"$.defined.js":function(require,exports,module){module.exports=function(it){if(it==undefined)throw TypeError("Can't call method on "+it);return it}},"$.get-names.js":["./$.to-iobject","./$",function(require,exports,module){var toString={}.toString,toIObject=require("./$.to-iobject"),getNames=require("./$").getNames;var windowNames=typeof window=="object"&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];var getWindowNames=function(it){try{return getNames(it)}catch(e){return windowNames.slice()}};module.exports.get=function getOwnPropertyNames(it){if(windowNames&&toString.call(it)=="[object Window]")return getWindowNames(it);return getNames(toIObject(it))}}],"$.enum-keys.js":["./$",function(require,exports,module){var $=require("./$");module.exports=function(it){var keys=$.getKeys(it),getSymbols=$.getSymbols;if(getSymbols){var symbols=getSymbols(it),isEnum=$.isEnum,i=0,key;while(symbols.length>i)if(isEnum.call(it,key=symbols[i++]))keys.push(key)}return keys}}],"$.is-array.js":["./$.cof",function(require,exports,module){var cof=require("./$.cof");module.exports=Array.isArray||function(arg){return cof(arg)=="Array"}}],"$.is-object.js":function(require,exports,module){module.exports=function(it){return typeof it==="object"?it!==null:typeof it==="function"}},"$.an-object.js":["./$.is-object",function(require,exports,module){var isObject=require("./$.is-object");module.exports=function(it){if(!isObject(it))throw TypeError(it+" is not an object!");return it}}],"$.library.js":function(require,exports,module){module.exports=false},"es6.object.assign.js":["./$.def","./$.assign",function(require){var $def=require("./$.def");$def($def.S+$def.F,"Object",{assign:require("./$.assign")})}],"$.assign.js":["./$.to-object","./$.iobject","./$.enum-keys","./$.has","./$.fails",function(require,exports,module){var toObject=require("./$.to-object"),IObject=require("./$.iobject"),enumKeys=require("./$.enum-keys"),has=require("./$.has");module.exports=require("./$.fails")(function(){var a=Object.assign,A={},B={},S=Symbol(),K="abcdefghijklmnopqrst";A[S]=7;K.split("").forEach(function(k){B[k]=k});return a({},A)[S]!=7||Object.keys(a({},B)).join("")!=K})?function assign(target,source){var T=toObject(target),l=arguments.length,i=1;while(l>i){var S=IObject(arguments[i++]),keys=enumKeys(S),length=keys.length,j=0,key;while(length>j)if(has(S,key=keys[j++]))T[key]=S[key]}return T}:Object.assign}],"$.to-object.js":["./$.defined",function(require,exports,module){var defined=require("./$.defined");module.exports=function(it){return Object(defined(it))}}],"es6.object.is.js":["./$.def","./$.same",function(require){var $def=require("./$.def");$def($def.S,"Object",{is:require("./$.same")})}],"$.same.js":function(require,exports,module){module.exports=Object.is||function is(x,y){return x===y?x!==0||1/x===1/y:x!=x&&y!=y}},"es6.object.set-prototype-of.js":["./$.def","./$.set-proto",function(require){var $def=require("./$.def");$def($def.S,"Object",{setPrototypeOf:require("./$.set-proto").set})}],"$.set-proto.js":["./$","./$.is-object","./$.an-object","./$.ctx",function(require,exports,module){var getDesc=require("./$").getDesc,isObject=require("./$.is-object"),anObject=require("./$.an-object");var check=function(O,proto){anObject(O);if(!isObject(proto)&&proto!==null)throw TypeError(proto+": can't set as prototype!")};module.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(test,buggy,set){try{set=require("./$.ctx")(Function.call,getDesc(Object.prototype,"__proto__").set,2);set(test,[]);buggy=!(test instanceof Array)}catch(e){buggy=true}return function setPrototypeOf(O,proto){check(O,proto);if(buggy)O.__proto__=proto;else set(O,proto);return O}}({},false):undefined),check:check}}],"$.ctx.js":["./$.a-function",function(require,exports,module){var aFunction=require("./$.a-function");module.exports=function(fn,that,length){aFunction(fn);if(that===undefined)return fn;switch(length){case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}}],"$.a-function.js":function(require,exports,module){module.exports=function(it){if(typeof it!="function")throw TypeError(it+" is not a function!");return it}},"es6.object.to-string.js":["./$.classof","./$.wks","./$.redef",function(require){"use strict";var classof=require("./$.classof"),test={};test[require("./$.wks")("toStringTag")]="z";if(test+""!="[object z]"){require("./$.redef")(Object.prototype,"toString",function toString(){return"[object "+classof(this)+"]"},true)}}],"$.classof.js":["./$.cof","./$.wks",function(require,exports,module){var cof=require("./$.cof"),TAG=require("./$.wks")("toStringTag"),ARG=cof(function(){return arguments}())=="Arguments";module.exports=function(it){var O,T,B;return it===undefined?"Undefined":it===null?"Null":typeof(T=(O=Object(it))[TAG])=="string"?T:ARG?cof(O):(B=cof(O))=="Object"&&typeof O.callee=="function"?"Arguments":B}}],"es6.object.freeze.js":["./$.is-object","./$.object-sap",function(require){var isObject=require("./$.is-object");require("./$.object-sap")("freeze",function($freeze){return function freeze(it){return $freeze&&isObject(it)?$freeze(it):it}})}],"$.object-sap.js":["./$.def","./$.core","./$.fails",function(require,exports,module){module.exports=function(KEY,exec){var $def=require("./$.def"),fn=(require("./$.core").Object||{})[KEY]||Object[KEY],exp={};exp[KEY]=exec(fn);$def($def.S+$def.F*require("./$.fails")(function(){fn(1)}),"Object",exp)}}],"es6.object.seal.js":["./$.is-object","./$.object-sap",function(require){var isObject=require("./$.is-object");require("./$.object-sap")("seal",function($seal){return function seal(it){return $seal&&isObject(it)?$seal(it):it}})}],"es6.object.prevent-extensions.js":["./$.is-object","./$.object-sap",function(require){var isObject=require("./$.is-object");require("./$.object-sap")("preventExtensions",function($preventExtensions){return function preventExtensions(it){return $preventExtensions&&isObject(it)?$preventExtensions(it):it}})}],"es6.object.is-frozen.js":["./$.is-object","./$.object-sap",function(require){var isObject=require("./$.is-object");require("./$.object-sap")("isFrozen",function($isFrozen){return function isFrozen(it){return isObject(it)?$isFrozen?$isFrozen(it):false:true}})}],"es6.object.is-sealed.js":["./$.is-object","./$.object-sap",function(require){var isObject=require("./$.is-object");require("./$.object-sap")("isSealed",function($isSealed){return function isSealed(it){return isObject(it)?$isSealed?$isSealed(it):false:true}})}],"es6.object.is-extensible.js":["./$.is-object","./$.object-sap",function(require){var isObject=require("./$.is-object");require("./$.object-sap")("isExtensible",function($isExtensible){return function isExtensible(it){return isObject(it)?$isExtensible?$isExtensible(it):true:false}})}],"es6.object.get-own-property-descriptor.js":["./$.to-iobject","./$.object-sap",function(require){var toIObject=require("./$.to-iobject");require("./$.object-sap")("getOwnPropertyDescriptor",function($getOwnPropertyDescriptor){return function getOwnPropertyDescriptor(it,key){return $getOwnPropertyDescriptor(toIObject(it),key)}})}],"es6.object.get-prototype-of.js":["./$.to-object","./$.object-sap",function(require){var toObject=require("./$.to-object");require("./$.object-sap")("getPrototypeOf",function($getPrototypeOf){return function getPrototypeOf(it){return $getPrototypeOf(toObject(it))}})}],"es6.object.keys.js":["./$.to-object","./$.object-sap",function(require){var toObject=require("./$.to-object");require("./$.object-sap")("keys",function($keys){return function keys(it){return $keys(toObject(it))}})}],"es6.object.get-own-property-names.js":["./$.object-sap","./$.get-names",function(require){require("./$.object-sap")("getOwnPropertyNames",function(){return require("./$.get-names").get})}],"es6.string.iterator.js":["./$.string-at","./$.iter-define",function(require){"use strict";var $at=require("./$.string-at")(true);require("./$.iter-define")(String,"String",function(iterated){this._t=String(iterated);this._i=0},function(){var O=this._t,index=this._i,point;if(index>=O.length)return{value:undefined,done:true};point=$at(O,index);this._i+=point.length;return{value:point,done:false}})}],"$.string-at.js":["./$.to-integer","./$.defined",function(require,exports,module){var toInteger=require("./$.to-integer"),defined=require("./$.defined");module.exports=function(TO_STRING){return function(that,pos){var s=String(defined(that)),i=toInteger(pos),l=s.length,a,b;if(i<0||i>=l)return TO_STRING?"":undefined;a=s.charCodeAt(i);return a<55296||a>56319||i+1===l||(b=s.charCodeAt(i+1))<56320||b>57343?TO_STRING?s.charAt(i):a:TO_STRING?s.slice(i,i+2):(a-55296<<10)+(b-56320)+65536}}}],"$.to-integer.js":function(require,exports,module){var ceil=Math.ceil,floor=Math.floor;module.exports=function(it){return isNaN(it=+it)?0:(it>0?floor:ceil)(it)}},"$.iter-define.js":["./$.library","./$.def","./$.redef","./$.hide","./$.has","./$.wks","./$.iterators","./$.iter-create","./$","./$.tag",function(require,exports,module){"use strict";var LIBRARY=require("./$.library"),$def=require("./$.def"),$redef=require("./$.redef"),hide=require("./$.hide"),has=require("./$.has"),SYMBOL_ITERATOR=require("./$.wks")("iterator"),Iterators=require("./$.iterators"),BUGGY=!([].keys&&"next"in[].keys()),FF_ITERATOR="@@iterator",KEYS="keys",VALUES="values";var returnThis=function(){return this};module.exports=function(Base,NAME,Constructor,next,DEFAULT,IS_SET,FORCE){require("./$.iter-create")(Constructor,NAME,next);var createMethod=function(kind){ +switch(kind){case KEYS:return function keys(){return new Constructor(this,kind)};case VALUES:return function values(){return new Constructor(this,kind)}}return function entries(){return new Constructor(this,kind)}};var TAG=NAME+" Iterator",proto=Base.prototype,_native=proto[SYMBOL_ITERATOR]||proto[FF_ITERATOR]||DEFAULT&&proto[DEFAULT],_default=_native||createMethod(DEFAULT),methods,key;if(_native){var IteratorPrototype=require("./$").getProto(_default.call(new Base));require("./$.tag")(IteratorPrototype,TAG,true);if(!LIBRARY&&has(proto,FF_ITERATOR))hide(IteratorPrototype,SYMBOL_ITERATOR,returnThis)}if(!LIBRARY||FORCE)hide(proto,SYMBOL_ITERATOR,_default);Iterators[NAME]=_default;Iterators[TAG]=returnThis;if(DEFAULT){methods={keys:IS_SET?_default:createMethod(KEYS),values:DEFAULT==VALUES?_default:createMethod(VALUES),entries:DEFAULT!=VALUES?_default:createMethod("entries")};if(FORCE)for(key in methods){if(!(key in proto))$redef(proto,key,methods[key])}else $def($def.P+$def.F*BUGGY,NAME,methods)}}}],"$.iterators.js":function(require,exports,module){module.exports={}},"$.iter-create.js":["./$","./$.hide","./$.wks","./$.property-desc","./$.tag",function(require,exports,module){"use strict";var $=require("./$"),IteratorPrototype={};require("./$.hide")(IteratorPrototype,require("./$.wks")("iterator"),function(){return this});module.exports=function(Constructor,NAME,next){Constructor.prototype=$.create(IteratorPrototype,{next:require("./$.property-desc")(1,next)});require("./$.tag")(Constructor,NAME+" Iterator")}}],"es6.array.from.js":["./$.ctx","./$.def","./$.to-object","./$.iter-call","./$.is-array-iter","./$.to-length","./core.get-iterator-method","./$.iter-detect",function(require){"use strict";var ctx=require("./$.ctx"),$def=require("./$.def"),toObject=require("./$.to-object"),call=require("./$.iter-call"),isArrayIter=require("./$.is-array-iter"),toLength=require("./$.to-length"),getIterFn=require("./core.get-iterator-method");$def($def.S+$def.F*!require("./$.iter-detect")(function(iter){Array.from(iter)}),"Array",{from:function from(arrayLike){var O=toObject(arrayLike),C=typeof this=="function"?this:Array,mapfn=arguments[1],mapping=mapfn!==undefined,index=0,iterFn=getIterFn(O),length,result,step,iterator;if(mapping)mapfn=ctx(mapfn,arguments[2],2);if(iterFn!=undefined&&!(C==Array&&isArrayIter(iterFn))){for(iterator=iterFn.call(O),result=new C;!(step=iterator.next()).done;index++){result[index]=mapping?call(iterator,mapfn,[step.value,index],true):step.value}}else{length=toLength(O.length);for(result=new C(length);length>index;index++){result[index]=mapping?mapfn(O[index],index):O[index]}}result.length=index;return result}})}],"$.iter-call.js":["./$.an-object",function(require,exports,module){var anObject=require("./$.an-object");module.exports=function(iterator,fn,value,entries){try{return entries?fn(anObject(value)[0],value[1]):fn(value)}catch(e){var ret=iterator["return"];if(ret!==undefined)anObject(ret.call(iterator));throw e}}}],"$.is-array-iter.js":["./$.iterators","./$.wks",function(require,exports,module){var Iterators=require("./$.iterators"),ITERATOR=require("./$.wks")("iterator");module.exports=function(it){return(Iterators.Array||Array.prototype[ITERATOR])===it}}],"$.to-length.js":["./$.to-integer",function(require,exports,module){var toInteger=require("./$.to-integer"),min=Math.min;module.exports=function(it){return it>0?min(toInteger(it),9007199254740991):0}}],"core.get-iterator-method.js":["./$.classof","./$.wks","./$.iterators","./$.core",function(require,exports,module){var classof=require("./$.classof"),ITERATOR=require("./$.wks")("iterator"),Iterators=require("./$.iterators");module.exports=require("./$.core").getIteratorMethod=function(it){if(it!=undefined)return it[ITERATOR]||it["@@iterator"]||Iterators[classof(it)]}}],"$.iter-detect.js":["./$.wks",function(require,exports,module){var SYMBOL_ITERATOR=require("./$.wks")("iterator"),SAFE_CLOSING=false;try{var riter=[7][SYMBOL_ITERATOR]();riter["return"]=function(){SAFE_CLOSING=true};Array.from(riter,function(){throw 2})}catch(e){}module.exports=function(exec){if(!SAFE_CLOSING)return false;var safe=false;try{var arr=[7],iter=arr[SYMBOL_ITERATOR]();iter.next=function(){safe=true};arr[SYMBOL_ITERATOR]=function(){return iter};exec(arr)}catch(e){}return safe}}],"es6.array.of.js":["./$.def","./$.fails",function(require){"use strict";var $def=require("./$.def");$def($def.S+$def.F*require("./$.fails")(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){var index=0,length=arguments.length,result=new(typeof this=="function"?this:Array)(length);while(length>index)result[index]=arguments[index++];result.length=length;return result}})}],"es6.array.species.js":["./$.species",function(require){require("./$.species")(Array)}],"$.species.js":["./$","./$.wks","./$.support-desc",function(require,exports,module){"use strict";var $=require("./$"),SPECIES=require("./$.wks")("species");module.exports=function(C){if(require("./$.support-desc")&&!(SPECIES in C))$.setDesc(C,SPECIES,{configurable:true,get:function(){return this}})}}],"es6.array.iterator.js":["./$.unscope","./$.iter-step","./$.iterators","./$.to-iobject","./$.iter-define",function(require){"use strict";var setUnscope=require("./$.unscope"),step=require("./$.iter-step"),Iterators=require("./$.iterators"),toIObject=require("./$.to-iobject");require("./$.iter-define")(Array,"Array",function(iterated,kind){this._t=toIObject(iterated);this._i=0;this._k=kind},function(){var O=this._t,kind=this._k,index=this._i++;if(!O||index>=O.length){this._t=undefined;return step(1)}if(kind=="keys")return step(0,index);if(kind=="values")return step(0,O[index]);return step(0,[index,O[index]])},"values");Iterators.Arguments=Iterators.Array;setUnscope("keys");setUnscope("values");setUnscope("entries")}],"$.unscope.js":["./$.wks","./$.hide",function(require,exports,module){var UNSCOPABLES=require("./$.wks")("unscopables");if([][UNSCOPABLES]==undefined)require("./$.hide")(Array.prototype,UNSCOPABLES,{});module.exports=function(key){[][UNSCOPABLES][key]=true}}],"$.iter-step.js":function(require,exports,module){module.exports=function(done,value){return{value:value,done:!!done}}},"es6.array.copy-within.js":["./$.def","./$.array-copy-within","./$.unscope",function(require){"use strict";var $def=require("./$.def");$def($def.P,"Array",{copyWithin:require("./$.array-copy-within")});require("./$.unscope")("copyWithin")}],"$.array-copy-within.js":["./$.to-object","./$.to-index","./$.to-length",function(require,exports,module){"use strict";var toObject=require("./$.to-object"),toIndex=require("./$.to-index"),toLength=require("./$.to-length");module.exports=[].copyWithin||function copyWithin(target,start){var O=toObject(this),len=toLength(O.length),to=toIndex(target,len),from=toIndex(start,len),end=arguments[2],count=Math.min((end===undefined?len:toIndex(end,len))-from,len-to),inc=1;if(from0){if(from in O)O[to]=O[from];else delete O[to];to+=inc;from+=inc}return O}}],"$.to-index.js":["./$.to-integer",function(require,exports,module){var toInteger=require("./$.to-integer"),max=Math.max,min=Math.min;module.exports=function(index,length){index=toInteger(index);return index<0?max(index+length,0):min(index,length)}}],"es6.array.fill.js":["./$.def","./$.array-fill","./$.unscope",function(require){var $def=require("./$.def");$def($def.P,"Array",{fill:require("./$.array-fill")});require("./$.unscope")("fill")}],"$.array-fill.js":["./$.to-object","./$.to-index","./$.to-length",function(require,exports,module){"use strict";var toObject=require("./$.to-object"),toIndex=require("./$.to-index"),toLength=require("./$.to-length");module.exports=[].fill||function fill(value){var O=toObject(this,true),length=toLength(O.length),index=toIndex(arguments[1],length),end=arguments[2],endPos=end===undefined?length:toIndex(end,length);while(endPos>index)O[index++]=value;return O}}],"es6.array.find.js":["./$.def","./$.array-methods","./$.unscope",function(require){"use strict";var KEY="find",$def=require("./$.def"),forced=true,$find=require("./$.array-methods")(5);if(KEY in[])Array(1)[KEY](function(){forced=false});$def($def.P+$def.F*forced,"Array",{find:function find(callbackfn){return $find(this,callbackfn,arguments[1])}});require("./$.unscope")(KEY)}],"$.array-methods.js":["./$.ctx","./$.is-object","./$.iobject","./$.to-object","./$.to-length","./$.is-array","./$.wks",function(require,exports,module){var ctx=require("./$.ctx"),isObject=require("./$.is-object"),IObject=require("./$.iobject"),toObject=require("./$.to-object"),toLength=require("./$.to-length"),isArray=require("./$.is-array"),SPECIES=require("./$.wks")("species");var ASC=function(original,length){var C;if(isArray(original)&&isObject(C=original.constructor)){C=C[SPECIES];if(C===null)C=undefined}return new(C===undefined?Array:C)(length)};module.exports=function(TYPE){var IS_MAP=TYPE==1,IS_FILTER=TYPE==2,IS_SOME=TYPE==3,IS_EVERY=TYPE==4,IS_FIND_INDEX=TYPE==6,NO_HOLES=TYPE==5||IS_FIND_INDEX;return function($this,callbackfn,that){var O=toObject($this),self=IObject(O),f=ctx(callbackfn,that,3),length=toLength(self.length),index=0,result=IS_MAP?ASC($this,length):IS_FILTER?ASC($this,0):undefined,val,res;for(;length>index;index++)if(NO_HOLES||index in self){val=self[index];res=f(val,index,O);if(TYPE){if(IS_MAP)result[index]=res;else if(res)switch(TYPE){case 3:return true;case 5:return val;case 6:return index;case 2:result.push(val)}else if(IS_EVERY)return false}}return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:result}}}],"es6.array.find-index.js":["./$.def","./$.array-methods","./$.unscope",function(require){"use strict";var KEY="findIndex",$def=require("./$.def"),forced=true,$find=require("./$.array-methods")(6);if(KEY in[])Array(1)[KEY](function(){forced=false});$def($def.P+$def.F*forced,"Array",{findIndex:function findIndex(callbackfn){return $find(this,callbackfn,arguments[1])}});require("./$.unscope")(KEY)}],"es6.string.from-code-point.js":["./$.def","./$.to-index",function(require){var $def=require("./$.def"),toIndex=require("./$.to-index"),fromCharCode=String.fromCharCode,$fromCodePoint=String.fromCodePoint;$def($def.S+$def.F*(!!$fromCodePoint&&$fromCodePoint.length!=1),"String",{fromCodePoint:function fromCodePoint(x){var res=[],len=arguments.length,i=0,code;while(len>i){code=+arguments[i++];if(toIndex(code,1114111)!==code)throw RangeError(code+" is not a valid code point");res.push(code<65536?fromCharCode(code):fromCharCode(((code-=65536)>>10)+55296,code%1024+56320))}return res.join("")}})}],"es6.string.raw.js":["./$.def","./$.to-iobject","./$.to-length",function(require){var $def=require("./$.def"),toIObject=require("./$.to-iobject"),toLength=require("./$.to-length");$def($def.S,"String",{raw:function raw(callSite){var tpl=toIObject(callSite.raw),len=toLength(tpl.length),sln=arguments.length,res=[],i=0;while(len>i){res.push(String(tpl[i++]));if(i0;(n>>>=1)&&(str+=str))if(n&1)res+=str;return res}}],"es6.string.starts-with.js":["./$.def","./$.to-length","./$.string-context","./$.fails-is-regexp",function(require){"use strict";var $def=require("./$.def"),toLength=require("./$.to-length"),context=require("./$.string-context"),STARTS_WITH="startsWith",$startsWith=""[STARTS_WITH];$def($def.P+$def.F*require("./$.fails-is-regexp")(STARTS_WITH),"String",{startsWith:function startsWith(searchString){var that=context(this,searchString,STARTS_WITH),index=toLength(Math.min(arguments[1],that.length)),search=String(searchString);return $startsWith?$startsWith.call(that,search,index):that.slice(index,index+search.length)===search}})}],"es6.regexp.match.js":["./$.fix-re-wks",function(require){require("./$.fix-re-wks")("match",1,function(defined,MATCH){return function match(regexp){"use strict";var O=defined(this),fn=regexp==undefined?undefined:regexp[MATCH];return fn!==undefined?fn.call(regexp,O):new RegExp(regexp)[MATCH](String(O))}})}],"$.fix-re-wks.js":["./$.defined","./$.wks","./$.fails","./$.redef","./$.hide",function(require,exports,module){"use strict";module.exports=function(KEY,length,exec){var defined=require("./$.defined"),SYMBOL=require("./$.wks")(KEY),original=""[KEY];if(require("./$.fails")(function(){var O={};O[SYMBOL]=function(){return 7};return""[KEY](O)!=7})){require("./$.redef")(String.prototype,KEY,exec(defined,SYMBOL,original));require("./$.hide")(RegExp.prototype,SYMBOL,length==2?function(string,arg){return original.call(string,this,arg)}:function(string){return original.call(string,this)})}}}],"es6.regexp.replace.js":["./$.fix-re-wks",function(require){require("./$.fix-re-wks")("replace",2,function(defined,REPLACE,$replace){return function replace(searchValue,replaceValue){"use strict";var O=defined(this),fn=searchValue==undefined?undefined:searchValue[REPLACE];return fn!==undefined?fn.call(searchValue,O,replaceValue):$replace.call(String(O),searchValue,replaceValue)}})}],"es6.regexp.search.js":["./$.fix-re-wks",function(require){require("./$.fix-re-wks")("search",1,function(defined,SEARCH){return function search(regexp){"use strict";var O=defined(this),fn=regexp==undefined?undefined:regexp[SEARCH];return fn!==undefined?fn.call(regexp,O):new RegExp(regexp)[SEARCH](String(O))}})}],"es6.regexp.split.js":["./$.fix-re-wks",function(require){require("./$.fix-re-wks")("split",2,function(defined,SPLIT,$split){return function split(separator,limit){"use strict";var O=defined(this),fn=separator==undefined?undefined:separator[SPLIT];return fn!==undefined?fn.call(separator,O,limit):$split.call(String(O),separator,limit)}})}],"es6.function.name.js":["./$","./$.property-desc","./$.has","./$.support-desc",function(require){var setDesc=require("./$").setDesc,createDesc=require("./$.property-desc"),has=require("./$.has"),FProto=Function.prototype,nameRE=/^\s*function ([^ (]*)/,NAME="name";NAME in FProto||require("./$.support-desc")&&setDesc(FProto,NAME,{configurable:true,get:function(){var match=(""+this).match(nameRE),name=match?match[1]:"";has(this,NAME)||setDesc(this,NAME,createDesc(5,name));return name}})}],"es6.function.has-instance.js":["./$","./$.is-object","./$.wks",function(require){"use strict";var $=require("./$"),isObject=require("./$.is-object"),HAS_INSTANCE=require("./$.wks")("hasInstance"),FunctionProto=Function.prototype;if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto,HAS_INSTANCE,{value:function(O){if(typeof this!="function"||!isObject(O))return false;if(!isObject(this.prototype))return O instanceof this;while(O=$.getProto(O))if(this.prototype===O)return true;return false}})}],"web.dom.iterable.js":["./es6.array.iterator","./$.global","./$.hide","./$.iterators","./$.wks",function(require){require("./es6.array.iterator");var global=require("./$.global"),hide=require("./$.hide"),Iterators=require("./$.iterators"),ITERATOR=require("./$.wks")("iterator"),NL=global.NodeList,HTC=global.HTMLCollection,NLProto=NL&&NL.prototype,HTCProto=HTC&&HTC.prototype,ArrayValues=Iterators.NodeList=Iterators.HTMLCollection=Iterators.Array;if(NL&&!(ITERATOR in NLProto))hide(NLProto,ITERATOR,ArrayValues);if(HTC&&!(ITERATOR in HTCProto))hide(HTCProto,ITERATOR,ArrayValues)}],"es6.map.js":["./$.collection-strong","./$.collection",function(require){"use strict";var strong=require("./$.collection-strong");require("./$.collection")("Map",function(get){return function Map(){return get(this,arguments[0])}},{get:function get(key){var entry=strong.getEntry(this,key);return entry&&entry.v},set:function set(key,value){return strong.def(this,key===0?0:key,value)}},strong,true)}],"$.collection-strong.js":["./$","./$.hide","./$.ctx","./$.species","./$.strict-new","./$.defined","./$.for-of","./$.iter-step","./$.uid","./$.has","./$.is-object","./$.support-desc","./$.mix","./$.iter-define","./$.core",function(require,exports,module){"use strict";var $=require("./$"),hide=require("./$.hide"),ctx=require("./$.ctx"),species=require("./$.species"),strictNew=require("./$.strict-new"),defined=require("./$.defined"),forOf=require("./$.for-of"),step=require("./$.iter-step"),ID=require("./$.uid")("id"),$has=require("./$.has"),isObject=require("./$.is-object"),isExtensible=Object.isExtensible||isObject,SUPPORT_DESC=require("./$.support-desc"),SIZE=SUPPORT_DESC?"_s":"size",id=0;var fastKey=function(it,create){if(!isObject(it))return typeof it=="symbol"?it:(typeof it=="string"?"S":"P")+it;if(!$has(it,ID)){if(!isExtensible(it))return"F";if(!create)return"E";hide(it,ID,++id)}return"O"+it[ID]};var getEntry=function(that,key){var index=fastKey(key),entry;if(index!=="F")return that._i[index];for(entry=that._f;entry;entry=entry.n){if(entry.k==key)return entry}};module.exports={getConstructor:function(wrapper,NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){strictNew(that,C,NAME);that._i=$.create(null);that._f=undefined;that._l=undefined;that[SIZE]=0;if(iterable!=undefined)forOf(iterable,IS_MAP,that[ADDER],that)});require("./$.mix")(C.prototype,{clear:function clear(){for(var that=this,data=that._i,entry=that._f;entry;entry=entry.n){entry.r=true;if(entry.p)entry.p=entry.p.n=undefined;delete data[entry.i]}that._f=that._l=undefined;that[SIZE]=0},"delete":function(key){var that=this,entry=getEntry(that,key);if(entry){var next=entry.n,prev=entry.p;delete that._i[entry.i];entry.r=true;if(prev)prev.n=next;if(next)next.p=prev;if(that._f==entry)that._f=next;if(that._l==entry)that._l=prev;that[SIZE]--}return!!entry},forEach:function forEach(callbackfn){var f=ctx(callbackfn,arguments[1],3),entry;while(entry=entry?entry.n:this._f){f(entry.v,entry.k,this);while(entry&&entry.r)entry=entry.p}},has:function has(key){return!!getEntry(this,key)}});if(SUPPORT_DESC)$.setDesc(C.prototype,"size",{get:function(){return defined(this[SIZE])}});return C},def:function(that,key,value){var entry=getEntry(that,key),prev,index;if(entry){entry.v=value}else{that._l=entry={i:index=fastKey(key,true),k:key,v:value,p:prev=that._l,n:undefined,r:false};if(!that._f)that._f=entry;if(prev)prev.n=entry;that[SIZE]++;if(index!=="F")that._i[index]=entry}return that},getEntry:getEntry,setStrong:function(C,NAME,IS_MAP){require("./$.iter-define")(C,NAME,function(iterated,kind){this._t=iterated;this._k=kind;this._l=undefined},function(){var that=this,kind=that._k,entry=that._l;while(entry&&entry.r)entry=entry.p;if(!that._t||!(that._l=entry=entry?entry.n:that._t._f)){that._t=undefined;return step(1)}if(kind=="keys")return step(0,entry.k);if(kind=="values")return step(0,entry.v);return step(0,[entry.k,entry.v])},IS_MAP?"entries":"values",!IS_MAP,true);species(C);species(require("./$.core")[NAME])}}}],"$.strict-new.js":function(require,exports,module){module.exports=function(it,Constructor,name){if(!(it instanceof Constructor))throw TypeError(name+": use the 'new' operator!");return it}},"$.for-of.js":["./$.ctx","./$.iter-call","./$.is-array-iter","./$.an-object","./$.to-length","./core.get-iterator-method",function(require,exports,module){var ctx=require("./$.ctx"),call=require("./$.iter-call"),isArrayIter=require("./$.is-array-iter"),anObject=require("./$.an-object"),toLength=require("./$.to-length"),getIterFn=require("./core.get-iterator-method");module.exports=function(iterable,entries,fn,that){var iterFn=getIterFn(iterable),f=ctx(fn,that,entries?2:1),index=0,length,step,iterator;if(typeof iterFn!="function")throw TypeError(iterable+" is not iterable!");if(isArrayIter(iterFn))for(length=toLength(iterable.length);length>index;index++){entries?f(anObject(step=iterable[index])[0],step[1]):f(iterable[index])}else for(iterator=iterFn.call(iterable);!(step=iterator.next()).done;){call(iterator,f,step.value,entries)}}}],"$.mix.js":["./$.redef",function(require,exports,module){var $redef=require("./$.redef");module.exports=function(target,src){for(var key in src)$redef(target,key,src[key]);return target}}],"$.collection.js":["./$.global","./$.def","./$.for-of","./$.strict-new","./$.redef","./$.fails","./$.mix","./$.iter-detect","./$.tag",function(require,exports,module){"use strict";var global=require("./$.global"),$def=require("./$.def"),forOf=require("./$.for-of"),strictNew=require("./$.strict-new");module.exports=function(NAME,wrapper,methods,common,IS_MAP,IS_WEAK){var Base=global[NAME],C=Base,ADDER=IS_MAP?"set":"add",proto=C&&C.prototype,O={};var fixMethod=function(KEY){var fn=proto[KEY];require("./$.redef")(proto,KEY,KEY=="delete"?function(a){return fn.call(this,a===0?0:a)}:KEY=="has"?function has(a){return fn.call(this,a===0?0:a)}:KEY=="get"?function get(a){return fn.call(this,a===0?0:a)}:KEY=="add"?function add(a){fn.call(this,a===0?0:a);return this}:function set(a,b){fn.call(this,a===0?0:a,b);return this})};if(typeof C!="function"||!(IS_WEAK||proto.forEach&&!require("./$.fails")(function(){(new C).entries().next()}))){C=common.getConstructor(wrapper,NAME,IS_MAP,ADDER);require("./$.mix")(C.prototype,methods)}else{var inst=new C,chain=inst[ADDER](IS_WEAK?{}:-0,1),buggyZero;if(!require("./$.iter-detect")(function(iter){new C(iter)})){C=wrapper(function(target,iterable){strictNew(target,C,NAME);var that=new Base;if(iterable!=undefined)forOf(iterable,IS_MAP,that[ADDER],that);return that});C.prototype=proto;proto.constructor=C}IS_WEAK||inst.forEach(function(val,key){buggyZero=1/key===-Infinity});if(buggyZero){fixMethod("delete");fixMethod("has");IS_MAP&&fixMethod("get")}if(buggyZero||chain!==inst)fixMethod(ADDER);if(IS_WEAK&&proto.clear)delete proto.clear}require("./$.tag")(C,NAME);O[NAME]=C;$def($def.G+$def.W+$def.F*(C!=Base),O);if(!IS_WEAK)common.setStrong(C,NAME,IS_MAP);return C}}],"es6.set.js":["./$.collection-strong","./$.collection",function(require){"use strict";var strong=require("./$.collection-strong");require("./$.collection")("Set",function(get){return function Set(){return get(this,arguments[0])}},{add:function add(value){return strong.def(this,value=value===0?0:value,value)}},strong)}]}}}}}}}}},{extensions:[".js",".json"]});var exports=require("./node_modules/meteor/ecmascript-runtime/runtime.js");if(typeof Package==="undefined")Package={};(function(pkg,symbols){for(var s in symbols)s in pkg||(pkg[s]=symbols[s])})(Package["ecmascript-runtime"]=exports,{Symbol:Symbol,Map:Map,Set:Set})})();(function(){var Meteor=Package.meteor.Meteor;var global=Package.meteor.global;var meteorEnv=Package.meteor.meteorEnv;var meteorInstall=Package.modules.meteorInstall;var Buffer=Package.modules.Buffer;var process=Package.modules.process;var exports,Promise;var require=meteorInstall({node_modules:{meteor:{promise:{"client.js":["meteor-promise",function(require,exports){exports.Promise=require("meteor-promise")}],node_modules:{"meteor-promise":{"package.json":function(require,exports){exports.name="meteor-promise";exports.version="0.6.3";exports.main="promise_client.js"},"promise_client.js":["./promise.js",function(require,exports,module){var MeteorPromise=require("./promise.js");var es6PromiseThen=MeteorPromise.prototype.then;MeteorPromise.prototype.then=function(onResolved,onRejected){if(typeof Meteor==="object"&&typeof Meteor.bindEnvironment==="function"){return es6PromiseThen.call(this,onResolved&&Meteor.bindEnvironment(onResolved,raise),onRejected&&Meteor.bindEnvironment(onRejected,raise))}return es6PromiseThen.call(this,onResolved,onRejected)};function raise(exception){throw exception}module.exports=exports=MeteorPromise}],"promise.js":["promise",function(require,exports,module){var hasOwn=Object.prototype.hasOwnProperty;var g=typeof global==="object"?global:typeof window==="object"?window:typeof self==="object"?self:this;var GlobalPromise=g.Promise;var NpmPromise=require("promise");function copyMethods(target,source){Object.keys(source).forEach(function(key){var value=source[key];if(typeof value==="function"&&!hasOwn.call(target,key)){target[key]=value}})}if(typeof GlobalPromise==="function"){copyMethods(GlobalPromise,NpmPromise);copyMethods(GlobalPromise.prototype,NpmPromise.prototype);module.exports=GlobalPromise}else{module.exports=NpmPromise}}],node_modules:{promise:{"package.json":function(require,exports){exports.name="promise";exports.version="7.1.1";exports.main="index.js"},"index.js":["./lib",function(require,exports,module){"use strict";module.exports=require("./lib")}],lib:{"index.js":["./core.js","./done.js","./finally.js","./es6-extensions.js","./node-extensions.js","./synchronous.js",function(require,exports,module){"use strict";module.exports=require("./core.js");require("./done.js");require("./finally.js");require("./es6-extensions.js");require("./node-extensions.js");require("./synchronous.js")}],"core.js":["asap/raw",function(require,exports,module){"use strict";var asap=require("asap/raw");function noop(){}var LAST_ERROR=null;var IS_ERROR={};function getThen(obj){try{return obj.then}catch(ex){LAST_ERROR=ex;return IS_ERROR}}function tryCallOne(fn,a){try{return fn(a)}catch(ex){LAST_ERROR=ex;return IS_ERROR}}function tryCallTwo(fn,a,b){try{fn(a,b)}catch(ex){LAST_ERROR=ex;return IS_ERROR}}module.exports=Promise;function Promise(fn){if(typeof this!=="object"){throw new TypeError("Promises must be constructed via new")}if(typeof fn!=="function"){throw new TypeError("not a function")}this._45=0;this._81=0;this._65=null;this._54=null;if(fn===noop)return;doResolve(fn,this)}Promise._10=null;Promise._97=null;Promise._61=noop;Promise.prototype.then=function(onFulfilled,onRejected){if(this.constructor!==Promise){return safeThen(this,onFulfilled,onRejected)}var res=new Promise(noop);handle(this,new Handler(onFulfilled,onRejected,res));return res};function safeThen(self,onFulfilled,onRejected){return new self.constructor(function(resolve,reject){var res=new Promise(noop);res.then(resolve,reject);handle(self,new Handler(onFulfilled,onRejected,res))})}function handle(self,deferred){while(self._81===3){self=self._65}if(Promise._10){Promise._10(self)}if(self._81===0){if(self._45===0){self._45=1;self._54=deferred;return}if(self._45===1){self._45=2;self._54=[self._54,deferred];return}self._54.push(deferred);return}handleResolved(self,deferred)}function handleResolved(self,deferred){asap(function(){var cb=self._81===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){if(self._81===1){resolve(deferred.promise,self._65)}else{reject(deferred.promise,self._65)}return}var ret=tryCallOne(cb,self._65);if(ret===IS_ERROR){reject(deferred.promise,LAST_ERROR)}else{resolve(deferred.promise,ret)}})}function resolve(self,newValue){if(newValue===self){return reject(self,new TypeError("A promise cannot be resolved with itself."))}if(newValue&&(typeof newValue==="object"||typeof newValue==="function")){var then=getThen(newValue);if(then===IS_ERROR){return reject(self,LAST_ERROR)}if(then===self.then&&newValue instanceof Promise){self._81=3;self._65=newValue;finale(self);return}else if(typeof then==="function"){doResolve(then.bind(newValue),self);return}}self._81=1;self._65=newValue;finale(self)}function reject(self,newValue){self._81=2;self._65=newValue;if(Promise._97){Promise._97(self,newValue)}finale(self)}function finale(self){if(self._45===1){handle(self,self._54);self._54=null}if(self._45===2){for(var i=0;i "+fnLength+") {","args = new Array(arguments.length + 1);","for (var i = 0; i < arguments.length; i++) {","args[i] = arguments[i];","}","}","return new Promise(function (rs, rj) {","var cb = "+callbackFn+";","var res;","switch (argLength) {",args.concat(["extra"]).map(function(_,index){return"case "+index+":"+"res = fn.call("+["self"].concat(args.slice(0,index)).concat("cb").join(",")+");"+"break;"}).join(""),"default:","args[argLength] = cb;","res = fn.apply(self, args);","}","if (res &&",'(typeof res === "object" || typeof res === "function") &&','typeof res.then === "function"',") {rs(res);}","});","};"].join("");return Function(["Promise","fn"],body)(Promise,fn)}Promise.nodeify=function(fn){return function(){var args=Array.prototype.slice.call(arguments);var callback=typeof args[args.length-1]==="function"?args.pop():null;var ctx=this;try{return fn.apply(this,arguments).nodeify(callback,ctx)}catch(ex){if(callback===null||typeof callback=="undefined"){return new Promise(function(resolve,reject){reject(ex)})}else{asap(function(){callback.call(ctx,ex)})}}}};Promise.prototype.nodeify=function(callback,ctx){if(typeof callback!="function")return this;this.then(function(value){asap(function(){callback.call(ctx,null,value)})},function(err){asap(function(){callback.call(ctx,err)})})}}],"synchronous.js":["./core.js",function(require,exports,module){"use strict";var Promise=require("./core.js");module.exports=Promise;Promise.enableSynchronous=function(){Promise.prototype.isPending=function(){return this.getState()==0};Promise.prototype.isFulfilled=function(){return this.getState()==1};Promise.prototype.isRejected=function(){return this.getState()==2};Promise.prototype.getValue=function(){if(this._81===3){return this._65.getValue()}if(!this.isFulfilled()){throw new Error("Cannot get a value of an unfulfilled promise.")}return this._65};Promise.prototype.getReason=function(){if(this._81===3){return this._65.getReason()}if(!this.isRejected()){throw new Error("Cannot get a rejection reason of a non-rejected promise.")}return this._65};Promise.prototype.getState=function(){if(this._81===3){return this._65.getState()}if(this._81===-1||this._81===-2){return 0}return this._81}};Promise.disableSynchronous=function(){Promise.prototype.isPending=undefined;Promise.prototype.isFulfilled=undefined;Promise.prototype.isRejected=undefined;Promise.prototype.getValue=undefined;Promise.prototype.getReason=undefined;Promise.prototype.getState=undefined}}]},node_modules:{asap:{"raw.js":["domain",function(require,exports,module){"use strict";var domain;var hasSetImmediate=typeof setImmediate==="function";module.exports=rawAsap;function rawAsap(task){if(!queue.length){requestFlush();flushing=true}queue[queue.length]=task}var queue=[];var flushing=false;var index=0;var capacity=1024;function flush(){while(indexcapacity){for(var scan=0,newLength=queue.length-index;scantext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}longtext=shorttext=null;var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a[0];text2=a[1];var linearray=a[2];var diffs=this.diff_bisect_(text1,text2,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer=1&&count_insert>=1){var a=this.diff_main(text_delete,text_insert,false,deadline);diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;xdeadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEndtext2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_lengthtext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer=deletion.length/2||overlap_length>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length); +diffs[pointer+1][1]=insertion.substring(overlap_length);pointer++}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){var punctuation=/[^a-zA-Z0-9]/;var whitespace=/\s/;var linebreak=/[\r\n]/;var blanklineEnd=/\n\r?\n$/;var blanklineStart=/^\r?\n\r?\n/;function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 5}var score=0;if(one.charAt(one.length-1).match(punctuation)||two.charAt(0).match(punctuation)){score++;if(one.charAt(one.length-1).match(whitespace)||two.charAt(0).match(whitespace)){score++;if(one.charAt(one.length-1).match(linebreak)||two.charAt(0).match(linebreak)){score++;if(one.match(blanklineEnd)||two.match(blanklineStart)){score++}}}}return score}var pointer=1;while(pointer=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality="";var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointerloc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var i=0;var pattern_amp=/&/g;var pattern_lt=//g;var pattern_para=/\n/g;for(var x=0;x");switch(op){case DIFF_INSERT:html[x]=''+text+"";break;case DIFF_DELETE:html[x]=''+text+"";break;case DIFF_EQUAL:html[x]=""+text+"";break}if(op!==DIFF_DELETE){i+=data.length}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;xthis.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&typeof a=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&typeof opt_b=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&typeof opt_c=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;xthis.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;ydiffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;xpatch_size){var bigpatch=patches[x];patches.splice(x--,1);var start1=bigpatch.start1;var start2=bigpatch.start2;var precontext="";while(bigpatch.diffs.length!==0){var patch=new diff_match_patch.patch_obj;var empty=true;patch.start1=start1-precontext.length;patch.start2=start2-precontext.length;if(precontext!==""){patch.length1=patch.length2=precontext.length;patch.diffs.push([DIFF_EQUAL,precontext])}while(bigpatch.diffs.length!==0&&patch.length12*patch_size){patch.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;x0&&len2>0&&!matchContext.objectHash&&typeof matchContext.matchByPosition!=="boolean"){matchContext.matchByPosition=!arraysHaveMatchByRef(array1,array2,len1,len2)}while(commonHead0){for(var removeItemIndex1=0;removeItemIndex1=0;index--){index1=toRemove[index];var indexDiff=delta["_"+index1];var removedValue=array.splice(index1,1)[0]; +if(indexDiff[2]===ARRAY_MOVE){toInsert.push({index:indexDiff[1],value:removedValue})}}toInsert=toInsert.sort(compare.numericallyBy("index"));var toInsertLength=toInsert.length;for(index=0;index0){for(index=0;indexreverseIndex){reverseIndex++}else if(moveFromIndex>=reverseIndex&&moveToIndexmatrix[index1-1][index2]){return backtrack(matrix,array1,array2,index1,index2-1,context)}else{return backtrack(matrix,array1,array2,index1-1,index2,context)}};var get=function(array1,array2,match,context){context=context||{};var matrix=lengthMatrix(array1,array2,match||defaultMatch,context);var result=backtrack(matrix,array1,array2,array1.length,array2.length,context);if(typeof array1==="string"&&typeof array2==="string"){result.sequence=result.sequence.join("")}return result};exports.get=get},{}],13:[function(require,module,exports){var DiffContext=require("../contexts/diff").DiffContext;var PatchContext=require("../contexts/patch").PatchContext;var ReverseContext=require("../contexts/reverse").ReverseContext;var collectChildrenDiffFilter=function collectChildrenDiffFilter(context){if(!context||!context.children){return}var length=context.children.length;var child;var result=context.result;for(var index=0;index1)level=isShallow;else if(isShallow)level=1;if(level){src=utils.rip(src,level);dst=utils.rip(dst,level)}return compare(src,dst)};var compare=function compare(src,dst){var srcKeys=_underscore2.default.keys(src);var dstKeys=_underscore2.default.keys(dst);var keys=_underscore2.default.chain([]).concat(srcKeys).concat(dstKeys).uniq().without("$$hashKey").value();return keys.reduce(function(diff,k){var srcValue=src[k];var dstValue=dst[k];if(_underscore2.default.isDate(srcValue)&&_underscore2.default.isDate(dstValue)){if(srcValue.getTime()!=dstValue.getTime())diff[k]=dstValue}if(_underscore2.default.isObject(srcValue)&&_underscore2.default.isObject(dstValue)){var valueDiff=getDifference(srcValue,dstValue);utils.setFilled(diff,k,valueDiff)}else if(srcValue!==dstValue){diff[k]=dstValue}return diff},{})};return getDifference}();var getUpdates=function(){var getUpdates=function getUpdates(src,dst,isShallow){utils.assert(_underscore2.default.isObject(src),"first argument must be an object");utils.assert(_underscore2.default.isObject(dst),"second argument must be an object");var diff=getDifference(src,dst,isShallow);var paths=utils.toPaths(diff);var set=createSet(paths);var unset=createUnset(paths);var pull=createPull(unset);var updates={};utils.setFilled(updates,"$set",set);utils.setFilled(updates,"$unset",unset);utils.setFilled(updates,"$pull",pull);return updates};var createSet=function createSet(paths){var undefinedKeys=getUndefinedKeys(paths);return _underscore2.default.omit(paths,undefinedKeys)};var createUnset=function createUnset(paths){var undefinedKeys=getUndefinedKeys(paths);var unset=_underscore2.default.pick(paths,undefinedKeys);return _underscore2.default.reduce(unset,function(result,v,k){result[k]=true;return result},{})};var createPull=function createPull(unset){var arrKeyPaths=_underscore2.default.keys(unset).map(function(k){var split=k.match(/(.*)\.\d+$/);return split&&split[1]});return _underscore2.default.compact(arrKeyPaths).reduce(function(pull,k){pull[k]=null;return pull},{})};var getUndefinedKeys=function getUndefinedKeys(obj){return _underscore2.default.keys(obj).filter(function(k){var v=obj[k];return _underscore2.default.isUndefined(v)})};return getUpdates}();module.value("getUpdates",getUpdates)})()},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _underscore=__webpack_require__(3);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}if(typeof _underscore2.default==="undefined"){if(typeof Package.underscore==="undefined"){throw new Error("underscore is missing")}}exports.default=_underscore2.default||Package.underscore._;module.exports=exports["default"]},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_3__},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var _module=angular.module("diffArray",["getUpdates"]);_module.factory("diffArray",["getUpdates",function(getUpdates){var LocalCollection=Package.minimongo.LocalCollection;var idStringify=LocalCollection._idStringify||Package["mongo-id"].MongoID.idStringify;var idParse=LocalCollection._idParse||Package["mongo-id"].MongoID.idParse;function diffArray(lastSeqArray,seqArray,callbacks,preventNestedDiff){preventNestedDiff=!!preventNestedDiff;var diffFn=Package.minimongo.LocalCollection._diffQueryOrderedChanges||Package["diff-sequence"].DiffSequence.diffQueryOrderedChanges;var oldObjIds=[];var newObjIds=[];var posOld={};var posNew={};var posCur={};var lengthCur=lastSeqArray.length;_underscore2.default.each(seqArray,function(doc,i){newObjIds.push({_id:doc._id});posNew[idStringify(doc._id)]=i});_underscore2.default.each(lastSeqArray,function(doc,i){oldObjIds.push({_id:doc._id});posOld[idStringify(doc._id)]=i;posCur[idStringify(doc._id)]=i});diffFn(oldObjIds,newObjIds,{addedBefore:function addedBefore(id,doc,before){var position=before?posCur[idStringify(before)]:lengthCur;_underscore2.default.each(posCur,function(pos,id){if(pos>=position)posCur[id]++});lengthCur++;posCur[idStringify(id)]=position;callbacks.addedAt(id,seqArray[posNew[idStringify(id)]],position,before)},movedBefore:function movedBefore(id,before){var prevPosition=posCur[idStringify(id)];var position=before?posCur[idStringify(before)]:lengthCur-1;_underscore2.default.each(posCur,function(pos,id){if(pos>=prevPosition&&pos<=position)posCur[id]--;else if(pos<=prevPosition&&pos>=position)posCur[id]++});posCur[idStringify(id)]=position;callbacks.movedTo(id,seqArray[posNew[idStringify(id)]],prevPosition,position,before)},removed:function removed(id){var prevPosition=posCur[idStringify(id)];_underscore2.default.each(posCur,function(pos,id){if(pos>=prevPosition)posCur[id]--});delete posCur[idStringify(id)];lengthCur--;callbacks.removedAt(id,lastSeqArray[posOld[idStringify(id)]],prevPosition)}});_underscore2.default.each(posNew,function(pos,idString){if(!_underscore2.default.has(posOld,idString))return;var id=idParse(idString);var newItem=seqArray[pos]||{};var oldItem=lastSeqArray[posOld[idString]];var updates=getUpdates(oldItem,newItem,preventNestedDiff);if(!_underscore2.default.isEmpty(updates))callbacks.changedAt(id,updates,pos,oldItem)})}diffArray.shallow=function(lastSeqArray,seqArray,callbacks){return diffArray(lastSeqArray,seqArray,callbacks,true)};diffArray.deepCopyChanges=function(oldItem,newItem){var setDiff=getUpdates(oldItem,newItem).$set;_underscore2.default.each(setDiff,function(v,deepKey){setDeep(oldItem,deepKey,v)})};diffArray.deepCopyRemovals=function(oldItem,newItem){var unsetDiff=getUpdates(oldItem,newItem).$unset;_underscore2.default.each(unsetDiff,function(v,deepKey){unsetDeep(oldItem,deepKey)})};diffArray.getChanges=function(newCollection,oldCollection,diffMethod){var changes={added:[],removed:[],changed:[]};diffMethod(oldCollection,newCollection,{addedAt:function addedAt(id,item,index){changes.added.push({item:item,index:index})},removedAt:function removedAt(id,item,index){changes.removed.push({item:item,index:index})},changedAt:function changedAt(id,updates,index,oldItem){changes.changed.push({selector:id,modifier:updates})},movedTo:function movedTo(id,item,fromIndex,toIndex){}});return changes};var setDeep=function setDeep(obj,deepKey,v){var split=deepKey.split(".");var initialKeys=_underscore2.default.initial(split);var lastKey=_underscore2.default.last(split);initialKeys.reduce(function(subObj,k,i){var nextKey=split[i+1];if(isNumStr(nextKey)){if(subObj[k]===null)subObj[k]=[];if(subObj[k].length==parseInt(nextKey))subObj[k].push(null)}else if(subObj[k]===null||!isHash(subObj[k])){subObj[k]={}}return subObj[k]},obj);var deepObj=getDeep(obj,initialKeys);deepObj[lastKey]=v;return v};var unsetDeep=function unsetDeep(obj,deepKey){var split=deepKey.split(".");var initialKeys=_underscore2.default.initial(split);var lastKey=_underscore2.default.last(split);var deepObj=getDeep(obj,initialKeys);if(_underscore2.default.isArray(deepObj)&&isNumStr(lastKey))return!!deepObj.splice(lastKey,1);else return delete deepObj[lastKey]};var getDeep=function getDeep(obj,keys){return keys.reduce(function(subObj,k){return subObj[k]; +},obj)};var isHash=function isHash(obj){return _underscore2.default.isObject(obj)&&Object.getPrototypeOf(obj)===Object.prototype};var isNumStr=function isNumStr(str){return str.match(/^\d+$/)};return diffArray}])},function(module,exports){"use strict";angular.module("angular-meteor.settings",[]).constant("$angularMeteorSettings",{suppressWarnings:true})},function(module,exports){"use strict";angular.module("angular-meteor.ironrouter",[]).run(["$compile","$document","$rootScope",function($compile,$document,$rootScope){var Router=(Package["iron:router"]||{}).Router;if(!Router)return;var isLoaded=false;Router.onAfterAction(function(req,res,next){Tracker.afterFlush(function(){if(isLoaded)return;$compile($document)($rootScope);if(!$rootScope.$$phase)$rootScope.$apply();isLoaded=true})})}])},function(module,exports,__webpack_require__){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"symbol":typeof obj};var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorUtils=angular.module("angular-meteor.utils",["angular-meteor.settings"]);angularMeteorUtils.service("$meteorUtils",["$q","$timeout","$angularMeteorSettings",function($q,$timeout,$angularMeteorSettings){var self=this;this.autorun=function(scope,fn){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var comp=Tracker.autorun(function(c){fn(c);if(!c.firstRun)$timeout(angular.noop,0)});scope.$on("$destroy",function(){comp.stop()});return comp};this.stripDollarPrefixedKeys=function(data){if(!_underscore2.default.isObject(data)||data instanceof Date||data instanceof File||EJSON.toJSONValue(data).$type==="oid"||(typeof FS==="undefined"?"undefined":_typeof(FS))==="object"&&data instanceof FS.File)return data;var out=_underscore2.default.isArray(data)?[]:{};_underscore2.default.each(data,function(v,k){if(typeof k!=="string"||k.charAt(0)!=="$")out[k]=self.stripDollarPrefixedKeys(v)});return out};this.fulfill=function(deferred,boundError,boundResult){return function(err,result){if(err)deferred.reject(boundError==null?err:boundError);else if(typeof boundResult=="function")deferred.resolve(boundResult==null?result:boundResult(result));else deferred.resolve(boundResult==null?result:boundResult)}};this.promissor=function(obj,method){return function(){var deferred=$q.defer();var fulfill=self.fulfill(deferred);var args=_underscore2.default.toArray(arguments).concat(fulfill);obj[method].apply(obj,args);return deferred.promise}};this.promiseAll=function(promises){var allPromise=$q.all(promises);allPromise.finally(function(){$timeout(angular.noop)});return allPromise};this.getCollectionByName=function(string){return Mongo.Collection.get(string)};this.findIndexById=function(collection,doc){var foundDoc=_underscore2.default.find(collection,function(colDoc){return EJSON.equals(colDoc._id,doc._id)});return _underscore2.default.indexOf(collection,foundDoc)}}]);angularMeteorUtils.run(["$rootScope","$meteorUtils",function($rootScope,$meteorUtils){Object.getPrototypeOf($rootScope).$meteorAutorun=function(fn){return $meteorUtils.autorun(this,fn)}}])},function(module,exports){"use strict";var angularMeteorSubscribe=angular.module("angular-meteor.subscribe",["angular-meteor.settings"]);angularMeteorSubscribe.service("$meteorSubscribe",["$q","$angularMeteorSettings",function($q,$angularMeteorSettings){var self=this;this._subscribe=function(scope,deferred,args){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var subscription=null;var lastArg=args[args.length-1];if(angular.isObject(lastArg)&&angular.isFunction(lastArg.onStop)){var _onStop=lastArg.onStop;args.pop()}args.push({onReady:function onReady(){deferred.resolve(subscription)},onStop:function onStop(err){if(!deferred.promise.$$state.status){if(err)deferred.reject(err);else deferred.reject(new Meteor.Error("Subscription Stopped","Subscription stopped by a call to stop method. Either by the client or by the server."))}else if(_onStop)_onStop.apply(this,Array.prototype.slice.call(arguments))}});subscription=Meteor.subscribe.apply(scope,args);return subscription};this.subscribe=function(){var deferred=$q.defer();var args=Array.prototype.slice.call(arguments);var subscription=null;self._subscribe(this,deferred,args);return deferred.promise}}]);angularMeteorSubscribe.run(["$rootScope","$q","$meteorSubscribe",function($rootScope,$q,$meteorSubscribe){Object.getPrototypeOf($rootScope).$meteorSubscribe=function(){var deferred=$q.defer();var args=Array.prototype.slice.call(arguments);var subscription=$meteorSubscribe._subscribe(this,deferred,args);this.$on("$destroy",function(){subscription.stop()});return deferred.promise}}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorCollection=angular.module("angular-meteor.collection",["angular-meteor.stopper","angular-meteor.subscribe","angular-meteor.utils","diffArray","angular-meteor.settings"]);angularMeteorCollection.factory("AngularMeteorCollection",["$q","$meteorSubscribe","$meteorUtils","$rootScope","$timeout","diffArray","$angularMeteorSettings",function($q,$meteorSubscribe,$meteorUtils,$rootScope,$timeout,diffArray,$angularMeteorSettings){function AngularMeteorCollection(curDefFunc,collection,diffArrayFunc,autoClientSave){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var data=[];data._serverBackup=[];data._diffArrayFunc=diffArrayFunc;data._hObserve=null;data._hNewCurAutorun=null;data._hDataAutorun=null;if(angular.isDefined(collection)){data.$$collection=collection}else{var cursor=curDefFunc();data.$$collection=$meteorUtils.getCollectionByName(cursor.collection.name)}_underscore2.default.extend(data,AngularMeteorCollection);data._startCurAutorun(curDefFunc,autoClientSave);return data}AngularMeteorCollection._startCurAutorun=function(curDefFunc,autoClientSave){var self=this;self._hNewCurAutorun=Tracker.autorun(function(){Tracker.onInvalidate(function(){self._stopCursor()});if(autoClientSave)self._setAutoClientSave();self._updateCursor(curDefFunc(),autoClientSave)})};AngularMeteorCollection.subscribe=function(){$meteorSubscribe.subscribe.apply(this,arguments);return this};AngularMeteorCollection.save=function(docs,useUnsetModifier){if(!docs)docs=this;docs=[].concat(docs);var promises=docs.map(function(doc){return this._upsertDoc(doc,useUnsetModifier)},this);return $meteorUtils.promiseAll(promises)};AngularMeteorCollection._upsertDoc=function(doc,useUnsetModifier){var deferred=$q.defer();var collection=this.$$collection;var createFulfill=_underscore2.default.partial($meteorUtils.fulfill,deferred,null);doc=$meteorUtils.stripDollarPrefixedKeys(doc);var docId=doc._id;var isExist=collection.findOne(docId);if(isExist){delete doc._id;var modifier=useUnsetModifier?{$unset:doc}:{$set:doc};collection.update(docId,modifier,createFulfill(function(){return{_id:docId,action:"updated"}}))}else{collection.insert(doc,createFulfill(function(id){return{_id:id,action:"inserted"}}))}return deferred.promise};AngularMeteorCollection._updateDiff=function(selector,update,callback){callback=callback||angular.noop;var setters=_underscore2.default.omit(update,"$pull");var updates=[setters];_underscore2.default.each(update.$pull,function(pull,prop){var puller={};puller[prop]=pull;updates.push({$pull:puller})});this._updateParallel(selector,updates,callback)};AngularMeteorCollection._updateParallel=function(selector,updates,callback){var self=this;var done=_underscore2.default.after(updates.length,callback);var next=function next(err,affectedDocsNum){if(err)return callback(err);done(null,affectedDocsNum)};_underscore2.default.each(updates,function(update){self.$$collection.update(selector,update,next)})};AngularMeteorCollection.remove=function(keyOrDocs){var keys;if(!keyOrDocs){keys=_underscore2.default.pluck(this,"_id")}else{keyOrDocs=[].concat(keyOrDocs);keys=_underscore2.default.map(keyOrDocs,function(keyOrDoc){return keyOrDoc._id||keyOrDoc})}check(keys,[Match.OneOf(String,Mongo.ObjectID)]);var promises=keys.map(function(key){return this._removeDoc(key)},this);return $meteorUtils.promiseAll(promises)};AngularMeteorCollection._removeDoc=function(id){var deferred=$q.defer();var collection=this.$$collection;var fulfill=$meteorUtils.fulfill(deferred,null,{_id:id,action:"removed"});collection.remove(id,fulfill);return deferred.promise};AngularMeteorCollection._updateCursor=function(cursor,autoClientSave){var self=this;if(self._hObserve)self._stopObserving();self._hObserve=cursor.observe({addedAt:function addedAt(doc,atIndex){self.splice(atIndex,0,doc);self._serverBackup.splice(atIndex,0,doc);self._setServerUpdateMode()},changedAt:function changedAt(doc,oldDoc,atIndex){diffArray.deepCopyChanges(self[atIndex],doc);diffArray.deepCopyRemovals(self[atIndex],doc);self._serverBackup[atIndex]=self[atIndex];self._setServerUpdateMode()},movedTo:function movedTo(doc,fromIndex,toIndex){self.splice(fromIndex,1);self.splice(toIndex,0,doc);self._serverBackup.splice(fromIndex,1);self._serverBackup.splice(toIndex,0,doc);self._setServerUpdateMode()},removedAt:function removedAt(oldDoc){var removedIndex=$meteorUtils.findIndexById(self,oldDoc);if(removedIndex!=-1){self.splice(removedIndex,1);self._serverBackup.splice(removedIndex,1);self._setServerUpdateMode()}else{removedIndex=$meteorUtils.findIndexById(self._serverBackup,oldDoc);if(removedIndex!=-1){self._serverBackup.splice(removedIndex,1)}}}});self._hDataAutorun=Tracker.autorun(function(){cursor.fetch();if(self._serverMode)self._unsetServerUpdateMode(autoClientSave)})};AngularMeteorCollection._stopObserving=function(){this._hObserve.stop();this._hDataAutorun.stop();delete this._serverMode;delete this._hUnsetTimeout};AngularMeteorCollection._setServerUpdateMode=function(name){this._serverMode=true;this._unsetAutoClientSave()};AngularMeteorCollection._unsetServerUpdateMode=function(autoClientSave){var self=this;if(self._hUnsetTimeout){$timeout.cancel(self._hUnsetTimeout);self._hUnsetTimeout=null}self._hUnsetTimeout=$timeout(function(){self._serverMode=false;var changes=diffArray.getChanges(self,self._serverBackup,self._diffArrayFunc);self._saveChanges(changes);if(autoClientSave)self._setAutoClientSave()},0)};AngularMeteorCollection.stop=function(){this._stopCursor();this._hNewCurAutorun.stop()};AngularMeteorCollection._stopCursor=function(){this._unsetAutoClientSave();if(this._hObserve){this._hObserve.stop();this._hDataAutorun.stop()}this.splice(0);this._serverBackup.splice(0)};AngularMeteorCollection._unsetAutoClientSave=function(name){if(this._hRegAutoBind){this._hRegAutoBind();this._hRegAutoBind=null}};AngularMeteorCollection._setAutoClientSave=function(){var self=this;self._unsetAutoClientSave();self._hRegAutoBind=$rootScope.$watch(function(){return self},function(nItems,oItems){if(nItems===oItems)return;var changes=diffArray.getChanges(self,oItems,self._diffArrayFunc);self._unsetAutoClientSave();self._saveChanges(changes);self._setAutoClientSave()},true)};AngularMeteorCollection._saveChanges=function(changes){var self=this;var addedDocs=changes.added.reverse().map(function(descriptor){self.splice(descriptor.index,1);return descriptor.item});if(addedDocs.length)self.save(addedDocs);var removedDocs=changes.removed.map(function(descriptor){return descriptor.item});if(removedDocs.length)self.remove(removedDocs);changes.changed.forEach(function(descriptor){self._updateDiff(descriptor.selector,descriptor.modifier)})};return AngularMeteorCollection}]);angularMeteorCollection.factory("$meteorCollectionFS",["$meteorCollection","diffArray","$angularMeteorSettings",function($meteorCollection,diffArray,$angularMeteorSettings){function $meteorCollectionFS(reactiveFunc,autoClientSave,collection){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");return new $meteorCollection(reactiveFunc,autoClientSave,collection,diffArray.shallow)}return $meteorCollectionFS}]);angularMeteorCollection.factory("$meteorCollection",["AngularMeteorCollection","$rootScope","diffArray",function(AngularMeteorCollection,$rootScope,diffArray){function $meteorCollection(reactiveFunc,autoClientSave,collection,diffFn){if(!reactiveFunc){throw new TypeError("The first argument of $meteorCollection is undefined.")}if(!(angular.isFunction(reactiveFunc)||angular.isFunction(reactiveFunc.find))){throw new TypeError("The first argument of $meteorCollection must be a function or "+"a have a find function property.")}if(!angular.isFunction(reactiveFunc)){collection=angular.isDefined(collection)?collection:reactiveFunc;reactiveFunc=_underscore2.default.bind(reactiveFunc.find,reactiveFunc)}autoClientSave=angular.isDefined(autoClientSave)?autoClientSave:true;diffFn=diffFn||diffArray;return new AngularMeteorCollection(reactiveFunc,collection,diffFn,autoClientSave)}return $meteorCollection}]);angularMeteorCollection.run(["$rootScope","$meteorCollection","$meteorCollectionFS","$meteorStopper",function($rootScope,$meteorCollection,$meteorCollectionFS,$meteorStopper){var scopeProto=Object.getPrototypeOf($rootScope);scopeProto.$meteorCollection=$meteorStopper($meteorCollection);scopeProto.$meteorCollectionFS=$meteorStopper($meteorCollectionFS)}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorObject=angular.module("angular-meteor.object",["angular-meteor.utils","angular-meteor.subscribe","angular-meteor.collection","getUpdates","diffArray","angular-meteor.settings"]);angularMeteorObject.factory("AngularMeteorObject",["$q","$meteorSubscribe","$meteorUtils","diffArray","getUpdates","AngularMeteorCollection","$angularMeteorSettings",function($q,$meteorSubscribe,$meteorUtils,diffArray,getUpdates,AngularMeteorCollection,$angularMeteorSettings){AngularMeteorObject.$$internalProps=["$$collection","$$options","$$id","$$hashkey","$$internalProps","$$scope","bind","save","reset","subscribe","stop","autorunComputation","unregisterAutoBind","unregisterAutoDestroy","getRawObject","_auto","_setAutos","_eventEmitter","_serverBackup","_updateDiff","_updateParallel","_getId"];function AngularMeteorObject(collection,selector,options){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var helpers=collection._helpers;var data=_underscore2.default.isFunction(helpers)?Object.create(helpers.prototype):{};var doc=collection.findOne(selector,options);var collectionExtension=_underscore2.default.pick(AngularMeteorCollection,"_updateParallel");_underscore2.default.extend(data,doc);_underscore2.default.extend(data,AngularMeteorObject);_underscore2.default.extend(data,collectionExtension);data.$$options=_underscore2.default.omit(options,"skip","limit");data.$$collection=collection;data.$$id=data._getId(selector);data._serverBackup=doc||{};return data}AngularMeteorObject.getRawObject=function(){return angular.copy(_underscore2.default.omit(this,this.$$internalProps))};AngularMeteorObject.subscribe=function(){$meteorSubscribe.subscribe.apply(this,arguments);return this};AngularMeteorObject.save=function(custom){var deferred=$q.defer();var collection=this.$$collection;var createFulfill=_underscore2.default.partial($meteorUtils.fulfill,deferred,null);var oldDoc=collection.findOne(this.$$id);var mods;if(oldDoc){if(custom)mods={$set:custom};else{mods=getUpdates(oldDoc,this.getRawObject());if(_underscore2.default.isEmpty(mods)){return $q.when({action:"updated"})}}this._updateDiff(mods,createFulfill({action:"updated"}))}else{if(custom)mods=_underscore2.default.clone(custom);else mods=this.getRawObject();mods._id=mods._id||this.$$id;collection.insert(mods,createFulfill({action:"inserted"}))}return deferred.promise};AngularMeteorObject._updateDiff=function(update,callback){var selector=this.$$id;AngularMeteorCollection._updateDiff.call(this,selector,update,callback)};AngularMeteorObject.reset=function(keepClientProps){var self=this;var options=this.$$options;var id=this.$$id;var doc=this.$$collection.findOne(id,options);if(doc){var docKeys=_underscore2.default.keys(doc);var docExtension=_underscore2.default.pick(doc,docKeys);var clientProps;_underscore2.default.extend(self,docExtension);_underscore2.default.extend(self._serverBackup,docExtension);if(keepClientProps){clientProps=_underscore2.default.intersection(_underscore2.default.keys(self),_underscore2.default.keys(self._serverBackup))}else{clientProps=_underscore2.default.keys(self)}var serverProps=_underscore2.default.keys(doc);var removedKeys=_underscore2.default.difference(clientProps,serverProps,self.$$internalProps);removedKeys.forEach(function(prop){delete self[prop];delete self._serverBackup[prop]})}else{_underscore2.default.keys(this.getRawObject()).forEach(function(prop){delete self[prop]});self._serverBackup={}}};AngularMeteorObject.stop=function(){if(this.unregisterAutoDestroy)this.unregisterAutoDestroy();if(this.unregisterAutoBind)this.unregisterAutoBind();if(this.autorunComputation&&this.autorunComputation.stop)this.autorunComputation.stop()};AngularMeteorObject._getId=function(selector){var options=_underscore2.default.extend({},this.$$options,{fields:{_id:1},reactive:false,transform:null});var doc=this.$$collection.findOne(selector,options);if(doc)return doc._id;if(selector instanceof Mongo.ObjectID)return selector;if(_underscore2.default.isString(selector))return selector;return new Mongo.ObjectID};return AngularMeteorObject}]);angularMeteorObject.factory("$meteorObject",["$rootScope","$meteorUtils","getUpdates","AngularMeteorObject",function($rootScope,$meteorUtils,getUpdates,AngularMeteorObject){function $meteorObject(collection,id,auto,options){if(!collection){throw new TypeError("The first argument of $meteorObject is undefined.")}if(!angular.isFunction(collection.findOne)){throw new TypeError("The first argument of $meteorObject must be a function or a have a findOne function property.")}var data=new AngularMeteorObject(collection,id,options);data._auto=auto!==false;_underscore2.default.extend(data,$meteorObject);data._setAutos();return data}$meteorObject._setAutos=function(){var self=this;this.autorunComputation=$meteorUtils.autorun($rootScope,function(){self.reset(true)});this.unregisterAutoBind=this._auto&&$rootScope.$watch(function(){return self.getRawObject()},function(item,oldItem){if(item!==oldItem)self.save()},true);this.unregisterAutoDestroy=$rootScope.$on("$destroy",function(){if(self&&self.stop)self.pop()})};return $meteorObject}]);angularMeteorObject.run(["$rootScope","$meteorObject","$meteorStopper",function($rootScope,$meteorObject,$meteorStopper){var scopeProto=Object.getPrototypeOf($rootScope);scopeProto.$meteorObject=$meteorStopper($meteorObject)}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorUser=angular.module("angular-meteor.user",["angular-meteor.utils","angular-meteor.core","angular-meteor.settings"]);angularMeteorUser.service("$meteorUser",["$rootScope","$meteorUtils","$q","$angularMeteorSettings",function($rootScope,$meteorUtils,$q,$angularMeteorSettings){var pack=Package["accounts-base"];if(!pack)return;var self=this;var Accounts=pack.Accounts;this.waitForUser=function(){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var deferred=$q.defer();$meteorUtils.autorun($rootScope,function(){if(!Meteor.loggingIn())deferred.resolve(Meteor.user())},true);return deferred.promise};this.requireUser=function(){if(!$angularMeteorSettings.suppressWarnings){console.warn("[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings")}var deferred=$q.defer();$meteorUtils.autorun($rootScope,function(){if(!Meteor.loggingIn()){if(Meteor.user()===null)deferred.reject("AUTH_REQUIRED");else deferred.resolve(Meteor.user())}},true);return deferred.promise};this.requireValidUser=function(validatorFn){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");return self.requireUser(true).then(function(user){var valid=validatorFn(user);if(valid===true)return user;else if(typeof valid==="string")return $q.reject(valid);else return $q.reject("FORBIDDEN")})};this.loginWithPassword=$meteorUtils.promissor(Meteor,"loginWithPassword");this.createUser=$meteorUtils.promissor(Accounts,"createUser");this.changePassword=$meteorUtils.promissor(Accounts,"changePassword");this.forgotPassword=$meteorUtils.promissor(Accounts,"forgotPassword");this.resetPassword=$meteorUtils.promissor(Accounts,"resetPassword");this.verifyEmail=$meteorUtils.promissor(Accounts,"verifyEmail");this.logout=$meteorUtils.promissor(Meteor,"logout");this.logoutOtherClients=$meteorUtils.promissor(Meteor,"logoutOtherClients");this.loginWithFacebook=$meteorUtils.promissor(Meteor,"loginWithFacebook");this.loginWithTwitter=$meteorUtils.promissor(Meteor,"loginWithTwitter");this.loginWithGoogle=$meteorUtils.promissor(Meteor,"loginWithGoogle");this.loginWithGithub=$meteorUtils.promissor(Meteor,"loginWithGithub");this.loginWithMeteorDeveloperAccount=$meteorUtils.promissor(Meteor,"loginWithMeteorDeveloperAccount");this.loginWithMeetup=$meteorUtils.promissor(Meteor,"loginWithMeetup");this.loginWithWeibo=$meteorUtils.promissor(Meteor,"loginWithWeibo")}]);angularMeteorUser.run(["$rootScope","$angularMeteorSettings","$$Core",function($rootScope,$angularMeteorSettings,$$Core){var ScopeProto=Object.getPrototypeOf($rootScope);_underscore2.default.extend(ScopeProto,$$Core);$rootScope.autorun(function(){if(!Meteor.user)return;$rootScope.currentUser=Meteor.user();$rootScope.loggingIn=Meteor.loggingIn()})}])},function(module,exports,__webpack_require__){"use strict";var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}"use strict";var angularMeteorMethods=angular.module("angular-meteor.methods",["angular-meteor.utils","angular-meteor.settings"]);angularMeteorMethods.service("$meteorMethods",["$q","$meteorUtils","$angularMeteorSettings",function($q,$meteorUtils,$angularMeteorSettings){this.call=function(){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var deferred=$q.defer();var fulfill=$meteorUtils.fulfill(deferred);var args=_underscore2.default.toArray(arguments).concat(fulfill);Meteor.call.apply(this,args);return deferred.promise}}])},function(module,exports){"use strict";var angularMeteorSession=angular.module("angular-meteor.session",["angular-meteor.utils","angular-meteor.settings"]);angularMeteorSession.factory("$meteorSession",["$meteorUtils","$parse","$angularMeteorSettings",function($meteorUtils,$parse,$angularMeteorSettings){return function(session){return{bind:function bind(scope,model){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var getter=$parse(model);var setter=getter.assign;$meteorUtils.autorun(scope,function(){setter(scope,Session.get(session))});scope.$watch(model,function(newItem,oldItem){Session.set(session,getter(scope))},true)}}}}])},function(module,exports){"use strict";var angularMeteorCamera=angular.module("angular-meteor.camera",["angular-meteor.utils","angular-meteor.settings"]);angularMeteorCamera.service("$meteorCamera",["$q","$meteorUtils","$angularMeteorSettings",function($q,$meteorUtils,$angularMeteorSettings){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var pack=Package["mdg:camera"];if(!pack)return;var MeteorCamera=pack.MeteorCamera;this.getPicture=function(options){if(!$angularMeteorSettings.suppressWarnings)console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");options=options||{};var deferred=$q.defer();MeteorCamera.getPicture(options,$meteorUtils.fulfill(deferred));return deferred.promise}}])},function(module,exports){"use strict";var angularMeteorStopper=angular.module("angular-meteor.stopper",["angular-meteor.subscribe"]);angularMeteorStopper.factory("$meteorStopper",["$q","$meteorSubscribe",function($q,$meteorSubscribe){function $meteorStopper($meteorEntity){return function(){var args=Array.prototype.slice.call(arguments);var meteorEntity=$meteorEntity.apply(this,args);angular.extend(meteorEntity,$meteorStopper);meteorEntity.$$scope=this;this.$on("$destroy",function(){meteorEntity.stop();if(meteorEntity.subscription)meteorEntity.subscription.stop()});return meteorEntity}}$meteorStopper.subscribe=function(){var args=Array.prototype.slice.call(arguments);this.subscription=$meteorSubscribe._subscribe(this.$$scope,$q.defer(),args);return this};return $meteorStopper}])},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.utils=exports.name=undefined;var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}var name=exports.name="angular-meteor.utilities";var utils=exports.utils="$$utils";angular.module(name,[]).service(utils,["$rootScope",function($rootScope){var self=this;this.isCursor=function(obj){return obj instanceof Meteor.Collection.Cursor};this.isScope=function(obj){return obj instanceof $rootScope.constructor};this.isViewModel=function(obj){return _underscore2.default.isObject(obj)&&obj.$$dependencies};this.areSiblings=function(obj1,obj2){return _underscore2.default.isObject(obj1)&&_underscore2.default.isObject(obj2)&&Object.getPrototypeOf(obj1)===Object.getPrototypeOf(obj2)};this.bind=function(fn,context,tap){tap=_underscore2.default.isFunction(tap)?tap:angular.noop;if(_underscore2.default.isFunction(fn))return bindFn(fn,context,tap);if(_underscore2.default.isObject(fn))return bindObj(fn,context,tap);return fn};function bindFn(fn,context,tap){return function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}var result=fn.apply(context,args);tap.call(context,{result:result,args:args});return result}}function bindObj(obj,context,tap){return _underscore2.default.keys(obj).reduce(function(bound,k){bound[k]=self.bind(obj[k],context,tap);return bound},{})}}])},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Mixer=exports.name=undefined;var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this._mixins.filter(_underscore2.default.isFunction).forEach(function(mixin){mixin.call.apply(mixin,[context].concat(args))});return context};this._extend=function(obj,options){var _$defaults=_underscore2.default.defaults({},options,{pattern:/.*/});var pattern=_$defaults.pattern;var context=_$defaults.context;var mixins=_this._mixins.map(function(mixin){var keys=_underscore2.default.keys(mixin).filter(function(k){return k.match(pattern)}).filter(function(k){return _underscore2.default.isFunction(mixin[k])});return keys.reduce(function(boundMixin,methodName){var methodHandler=mixin[methodName];boundMixin[methodName]=function(){var methodContext=context||this;var recentCaller=caller;caller=this;try{for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}return methodHandler.apply(methodContext,args); +}finally{caller=recentCaller}};return boundMixin},{})});return _underscore2.default.extend.apply(_underscore2.default,[obj].concat(_toConsumableArray(mixins)))};Object.defineProperty(this,"caller",{configurable:true,enumerable:true,get:function get(){return caller}})})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.name=undefined;var _mixer=__webpack_require__(17);var name=exports.name="angular-meteor.scope";angular.module(name,[_mixer.name]).run(["$rootScope",_mixer.Mixer,function($rootScope,$Mixer){var Scope=$rootScope.constructor;var $new=$rootScope.$new;$Mixer._autoExtend.push(Scope.prototype);$Mixer._autoConstruct.push($rootScope);Scope.prototype.$new=function(){var scope=$new.apply(this,arguments);return $Mixer._construct(scope)}}])},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Core=exports.name=undefined;var _underscore=__webpack_require__(2);var _underscore2=_interopRequireDefault(_underscore);var _utils=__webpack_require__(16);var _mixer=__webpack_require__(17);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i3?_len-3:0),_key=3;_key<_len;_key++){watcherArgs[_key-3]=arguments[_key]}this.$$watchEntity.apply(this,[vm,k,watcher].concat(watcherArgs))}vm.$$dependencies[k].depend();return $parse(k)(vm)};$$Reactive.$$watchEntity=function(vm,k,watcher){var _this2=this;var getVal=_underscore2.default.partial($parse(k),vm);var initialVal=getVal();for(var _len2=arguments.length,watcherArgs=Array(_len2>3?_len2-3:0),_key2=3;_key2<_len2;_key2++){watcherArgs[_key2-3]=arguments[_key2]}watcher.call.apply(watcher,[this,getVal,function(val,oldVal){var hasChanged=val!==initialVal||val!==oldVal;if(hasChanged)_this2.$$changed(vm,k)}].concat(watcherArgs))};$$Reactive.$$setFnHelper=function(vm,k,fn){var _this3=this;var activeObservation=null;var lastModel=null;var lastModelData=[];this.autorun(function(){var model=fn.apply(vm);Tracker.nonreactive(function(){if($$utils.isCursor(model)){var modelData=undefined;if(angular.isUndefined(vm[k])){_this3.$$setValHelper(vm,k,[],false)}if(activeObservation){lastModelData=lastModel.fetch();activeObservation.stop();activeObservation=null}var handle=_this3.$$handleCursor(vm,k,model);activeObservation=handle.observation;modelData=handle.data;if(lastModelData.length!==0){var diff=_jsondiffpatch2.default.diff(lastModelData,modelData);vm[k]=_jsondiffpatch2.default.patch(lastModelData,diff)}else{vm[k]=modelData}lastModel=model;lastModelData=modelData}else{_this3.$$handleNonCursor(vm,k,model)}_this3.$$changed(vm,k)})})};$$Reactive.$$setValHelper=function(vm,k,v){var _this4=this;var watch=arguments.length<=3||arguments[3]===undefined?true:arguments[3];if(watch){var isDeep=_underscore2.default.isObject(v);this.getReactively(vm,k,isDeep)}Object.defineProperty(vm,k,{configurable:true,enumerable:true,get:function get(){return v},set:function set(newVal){v=newVal;_this4.$$changed(vm,k)}})};$$Reactive.$$handleCursor=function(vm,k,cursor){var _this5=this;var data=[];var observation=cursor.observe({addedAt:function addedAt(doc,atIndex){if(!observation){data.push(doc);return}vm[k].splice(atIndex,0,doc);_this5.$$changed(vm,k)},changedAt:function changedAt(doc,oldDoc,atIndex){var diff=_jsondiffpatch2.default.diff(vm[k][atIndex],doc);_jsondiffpatch2.default.patch(vm[k][atIndex],diff);_this5.$$changed(vm,k)},movedTo:function movedTo(doc,fromIndex,toIndex){vm[k].splice(fromIndex,1);vm[k].splice(toIndex,0,doc);_this5.$$changed(vm,k)},removedAt:function removedAt(oldDoc,atIndex){vm[k].splice(atIndex,1);_this5.$$changed(vm,k)}});return{observation:observation,data:data}};$$Reactive.$$handleNonCursor=function(vm,k,data){var v=vm[k];if(angular.isDefined(v)){delete vm[k];v=null}if(angular.isUndefined(v)){this.$$setValHelper(vm,k,data)}else if($$utils.areSiblings(v,data)){var diff=_jsondiffpatch2.default.diff(v,data);_jsondiffpatch2.default.patch(v,diff);this.$$changed(vm,k)}else{vm[k]=data}};$$Reactive.$$depend=function(vm,k){vm.$$dependencies[k].depend()};$$Reactive.$$changed=function(vm,k){this.$$throttledDigest();vm.$$dependencies[k].changed()};return $$Reactive}])},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_22__},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var name=exports.name="angular-templates";try{angular.module(name)}catch(e){angular.module(name,[])}}])})}).call(this);if(typeof Package==="undefined")Package={};Package["angular-meteor-data"]={}})(); \ No newline at end of file diff --git a/dist/angular-meteor.js b/dist/angular-meteor.js index ddadfb0a7..b9bb623ff 100644 --- a/dist/angular-meteor.js +++ b/dist/angular-meteor.js @@ -1,6 +1,13 @@ -/*! angular-meteor v1.3.9 */ +/*! angular-meteor v1.3.10 */ (function webpackUniversalModuleDefinition(root, factory) { - root["angularMeteor"] = factory(Package.underscore._, root["jsondiffpatch"]); + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("underscore"), require("jsondiffpatch")); + else if(typeof define === 'function' && define.amd) + define(["underscore", "jsondiffpatch"], factory); + else if(typeof exports === 'object') + exports["angularMeteor"] = factory(require("underscore"), require("jsondiffpatch")); + else + root["angularMeteor"] = factory(root["_"], root["jsondiffpatch"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_22__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache @@ -1891,7 +1898,8 @@ return /******/ (function(modules) { // webpackBootstrap } var computation = Tracker.autorun(fn, options); - this.$$autoStop(computation); + // Reset to a function that will also stop the listener we just added + computation.stop = this.$$autoStop(computation); return computation; }; @@ -1960,8 +1968,20 @@ return /******/ (function(modules) { // webpackBootstrap return (_Meteor3 = Meteor).apply.apply(_Meteor3, args.concat([fn])); }; + // Stops a process once the scope has been destroyed $$Core.$$autoStop = function (stoppable) { - this.$on('$destroy', stoppable.stop.bind(stoppable)); + var removeListener = undefined; + var baseStop = stoppable.stop.bind(stoppable); + + // Once the process has been stopped the destroy event listener will be removed + // to avoid memory leaks and unexpected behaviours + var stop = function stop() { + removeListener(); + return baseStop.apply(undefined, arguments); + }; + + removeListener = this.$on('$destroy', stop); + return stop; }; // Digests scope only if there is no phase at the moment @@ -1981,6 +2001,11 @@ return /******/ (function(modules) { // webpackBootstrap // Binds an object or a function to the provided context and digest it once it is invoked $$Core.$bindToContext = function (context, fn) { + if (_underscore2.default.isFunction(context)) { + fn = context; + context = this; + } + return $$utils.bind(fn, context, this.$$throttledDigest.bind(this)); }; @@ -2443,4 +2468,4 @@ return /******/ (function(modules) { // webpackBootstrap /***/ } /******/ ]) }); -; +; \ No newline at end of file diff --git a/dist/angular-meteor.min.js b/dist/angular-meteor.min.js index 86906ce71..ae8d2478b 100644 --- a/dist/angular-meteor.min.js +++ b/dist/angular-meteor.min.js @@ -1,4 +1,4 @@ -/*! angular-meteor v1.3.9 */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("underscore"),require("jsondiffpatch")):"function"==typeof define&&define.amd?define(["underscore","jsondiffpatch"],t):"object"==typeof exports?exports.angularMeteor=t(require("underscore"),require("jsondiffpatch")):e.angularMeteor=t(e._,e.jsondiffpatch)}(this,function(e,t){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(1),r(4),r(5),r(6),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15);var n=r(16),o=r(17),i=r(18),a=r(19),u=r(20),s=r(21),l=r(23),c="angular-meteor";t["default"]=c,angular.module(c,[n.name,o.name,i.name,a.name,u.name,s.name,l.name,"angular-meteor.ironrouter","angular-meteor.utils","angular-meteor.subscribe","angular-meteor.collection","angular-meteor.object","angular-meteor.user","angular-meteor.methods","angular-meteor.session","angular-meteor.camera"]).run([o.Mixer,a.Core,u.ViewModel,s.Reactive,function(e,t,r,n){e.mixin(t).mixin(r).mixin(n)}]).service("$meteor",["$meteorCollection","$meteorCollectionFS","$meteorObject","$meteorMethods","$meteorSession","$meteorSubscribe","$meteorUtils","$meteorCamera","$meteorUser",function(e,t,r,n,o,i,a,u,s){var l=this;this.collection=e,this.collectionFS=t,this.object=r,this.subscribe=i.subscribe,this.call=n.call,this.session=o,this.autorun=a.autorun,this.getCollectionByName=a.getCollectionByName,this.getPicture=u.getPicture,["loginWithPassword","requireUser","requireValidUser","waitForUser","createUser","changePassword","forgotPassword","resetPassword","verifyEmail","loginWithMeteorDeveloperAccount","loginWithFacebook","loginWithGithub","loginWithGoogle","loginWithMeetup","loginWithTwitter","loginWithWeibo","logout","logoutOtherClients"].forEach(function(e){l[e]=s[e]})}]),e.exports=t["default"]},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o);!function(){var e=angular.module("getUpdates",[]),t=function(){var e=function s(e,t){return 1>t?{}:i["default"].reduce(e,function(e,r,n){return r=i["default"].isObject(r)?s(r,--t):r,e[n]=r,e},{})},t=function(e){var t=r(e),o=n(e);return i["default"].object(t,o)},r=function l(e){var t=i["default"].keys(e).map(function(t){var r=e[t];return!i["default"].isObject(r)||i["default"].isEmpty(r)||i["default"].isArray(r)?t:l(r).map(function(e){return t+"."+e})});return i["default"].flatten(t)},n=function c(e,t){return t=t||[],i["default"].values(e).forEach(function(e){!i["default"].isObject(e)||i["default"].isEmpty(e)||i["default"].isArray(e)?t.push(e):c(e,t)}),t},o=function(e,t,r){i["default"].isEmpty(r)||(e[t]=r)},a=function(e,t){e||u(t)},u=function(e){throw Error("get-updates error - "+e)};return{rip:e,toPaths:t,getKeyPaths:r,getDeepValues:n,setFilled:o,assert:a,throwErr:u}}(),r=function(){var e=function(e,n,o){var i;return o>1?i=o:o&&(i=1),i&&(e=t.rip(e,i),n=t.rip(n,i)),r(e,n)},r=function(r,n){var o=i["default"].keys(r),a=i["default"].keys(n),u=i["default"].chain([]).concat(o).concat(a).uniq().without("$$hashKey").value();return u.reduce(function(o,a){var u=r[a],s=n[a];if(i["default"].isDate(u)&&i["default"].isDate(s)&&u.getTime()!=s.getTime()&&(o[a]=s),i["default"].isObject(u)&&i["default"].isObject(s)){var l=e(u,s);t.setFilled(o,a,l)}else u!==s&&(o[a]=s);return o},{})};return e}(),n=function(){var e=function(e,u,s){t.assert(i["default"].isObject(e),"first argument must be an object"),t.assert(i["default"].isObject(u),"second argument must be an object");var l=r(e,u,s),c=t.toPaths(l),f=n(c),d=o(c),p=a(d),h={};return t.setFilled(h,"$set",f),t.setFilled(h,"$unset",d),t.setFilled(h,"$pull",p),h},n=function(e){var t=u(e);return i["default"].omit(e,t)},o=function(e){var t=u(e),r=i["default"].pick(e,t);return i["default"].reduce(r,function(e,t,r){return e[r]=!0,e},{})},a=function(e){var t=i["default"].keys(e).map(function(e){var t=e.match(/(.*)\.\d+$/);return t&&t[1]});return i["default"].compact(t).reduce(function(e,t){return e[t]=null,e},{})},u=function(e){return i["default"].keys(e).filter(function(t){var r=e[t];return i["default"].isUndefined(r)})};return e}();e.value("getUpdates",n)}()},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(3),i=n(o);if("undefined"==typeof i["default"]&&"undefined"==typeof Package.underscore)throw new Error("underscore is missing");t["default"]=i["default"]||Package.underscore._,e.exports=t["default"]},function(t,r){t.exports=e},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("diffArray",["getUpdates"]);a.factory("diffArray",["getUpdates",function(e){function t(t,r,a,u){u=!!u;var s=Package.minimongo.LocalCollection._diffQueryOrderedChanges||Package["diff-sequence"].DiffSequence.diffQueryOrderedChanges,l=[],c=[],f={},d={},p={},h=t.length;i["default"].each(r,function(e,t){c.push({_id:e._id}),d[n(e._id)]=t}),i["default"].each(t,function(e,t){l.push({_id:e._id}),f[n(e._id)]=t,p[n(e._id)]=t}),s(l,c,{addedBefore:function(e,t,o){var u=o?p[n(o)]:h;i["default"].each(p,function(e,t){e>=u&&p[t]++}),h++,p[n(e)]=u,a.addedAt(e,r[d[n(e)]],u,o)},movedBefore:function(e,t){var o=p[n(e)],u=t?p[n(t)]:h-1;i["default"].each(p,function(e,t){e>=o&&u>=e?p[t]--:o>=e&&e>=u&&p[t]++}),p[n(e)]=u,a.movedTo(e,r[d[n(e)]],o,u,t)},removed:function(e){var r=p[n(e)];i["default"].each(p,function(e,t){e>=r&&p[t]--}),delete p[n(e)],h--,a.removedAt(e,t[f[n(e)]],r)}}),i["default"].each(d,function(n,s){if(i["default"].has(f,s)){var l=o(s),c=r[n]||{},d=t[f[s]],p=e(d,c,u);i["default"].isEmpty(p)||a.changedAt(l,p,n,d)}})}var r=Package.minimongo.LocalCollection,n=r._idStringify||Package["mongo-id"].MongoID.idStringify,o=r._idParse||Package["mongo-id"].MongoID.idParse;t.shallow=function(e,r,n){return t(e,r,n,!0)},t.deepCopyChanges=function(t,r){var n=e(t,r).$set;i["default"].each(n,function(e,r){a(t,r,e)})},t.deepCopyRemovals=function(t,r){var n=e(t,r).$unset;i["default"].each(n,function(e,r){u(t,r)})},t.getChanges=function(e,t,r){var n={added:[],removed:[],changed:[]};return r(t,e,{addedAt:function(e,t,r){n.added.push({item:t,index:r})},removedAt:function(e,t,r){n.removed.push({item:t,index:r})},changedAt:function(e,t,r,o){n.changed.push({selector:e,modifier:t})},movedTo:function(e,t,r,n){}}),n};var a=function(e,t,r){var n=t.split("."),o=i["default"].initial(n),a=i["default"].last(n);o.reduce(function(e,t,r){var o=n[r+1];return c(o)?(null===e[t]&&(e[t]=[]),e[t].length==parseInt(o)&&e[t].push(null)):null!==e[t]&&l(e[t])||(e[t]={}),e[t]},e);var u=s(e,o);return u[a]=r,r},u=function(e,t){var r=t.split("."),n=i["default"].initial(r),o=i["default"].last(r),a=s(e,n);return i["default"].isArray(a)&&c(o)?!!a.splice(o,1):delete a[o]},s=function(e,t){return t.reduce(function(e,t){return e[t]},e)},l=function(e){return i["default"].isObject(e)&&Object.getPrototypeOf(e)===Object.prototype},c=function(e){return e.match(/^\d+$/)};return t}])},function(e,t){"use strict";angular.module("angular-meteor.settings",[]).constant("$angularMeteorSettings",{suppressWarnings:!0})},function(e,t){"use strict";angular.module("angular-meteor.ironrouter",[]).run(["$compile","$document","$rootScope",function(e,t,r){var n=(Package["iron:router"]||{}).Router;if(n){var o=!1;n.onAfterAction(function(n,i,a){Tracker.afterFlush(function(){o||(e(t)(r),r.$$phase||r.$apply(),o=!0)})})}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},i=r(2),a=n(i),u=angular.module("angular-meteor.utils",["angular-meteor.settings"]);u.service("$meteorUtils",["$q","$timeout","$angularMeteorSettings",function(e,t,r){var n=this;this.autorun=function(e,n){r.suppressWarnings||console.warn("[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=Tracker.autorun(function(e){n(e),e.firstRun||t(angular.noop,0)});return e.$on("$destroy",function(){o.stop()}),o},this.stripDollarPrefixedKeys=function(e){if(!a["default"].isObject(e)||e instanceof Date||e instanceof File||"oid"===EJSON.toJSONValue(e).$type||"object"===("undefined"==typeof FS?"undefined":o(FS))&&e instanceof FS.File)return e;var t=a["default"].isArray(e)?[]:{};return a["default"].each(e,function(e,r){"string"==typeof r&&"$"===r.charAt(0)||(t[r]=n.stripDollarPrefixedKeys(e))}),t},this.fulfill=function(e,t,r){return function(n,o){n?e.reject(null==t?n:t):"function"==typeof r?e.resolve(null==r?o:r(o)):e.resolve(null==r?o:r)}},this.promissor=function(t,r){return function(){var o=e.defer(),i=n.fulfill(o),u=a["default"].toArray(arguments).concat(i);return t[r].apply(t,u),o.promise}},this.promiseAll=function(r){var n=e.all(r);return n["finally"](function(){t(angular.noop)}),n},this.getCollectionByName=function(e){return Mongo.Collection.get(e)},this.findIndexById=function(e,t){var r=a["default"].find(e,function(e){return EJSON.equals(e._id,t._id)});return a["default"].indexOf(e,r)}}]),u.run(["$rootScope","$meteorUtils",function(e,t){Object.getPrototypeOf(e).$meteorAutorun=function(e){return t.autorun(this,e)}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.subscribe",["angular-meteor.settings"]);r.service("$meteorSubscribe",["$q","$angularMeteorSettings",function(e,t){var r=this;this._subscribe=function(e,r,n){t.suppressWarnings||console.warn("[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=null,i=n[n.length-1];if(angular.isObject(i)&&angular.isFunction(i.onStop)){var a=i.onStop;n.pop()}return n.push({onReady:function(){r.resolve(o)},onStop:function(e){r.promise.$$state.status?a&&a.apply(this,Array.prototype.slice.call(arguments)):e?r.reject(e):r.reject(new Meteor.Error("Subscription Stopped","Subscription stopped by a call to stop method. Either by the client or by the server."))}}),o=Meteor.subscribe.apply(e,n)},this.subscribe=function(){var t=e.defer(),n=Array.prototype.slice.call(arguments);return r._subscribe(this,t,n),t.promise}}]),r.run(["$rootScope","$q","$meteorSubscribe",function(e,t,r){Object.getPrototypeOf(e).$meteorSubscribe=function(){var e=t.defer(),n=Array.prototype.slice.call(arguments),o=r._subscribe(this,e,n);return this.$on("$destroy",function(){o.stop()}),e.promise}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.collection",["angular-meteor.stopper","angular-meteor.subscribe","angular-meteor.utils","diffArray","angular-meteor.settings"]);a.factory("AngularMeteorCollection",["$q","$meteorSubscribe","$meteorUtils","$rootScope","$timeout","diffArray","$angularMeteorSettings",function(e,t,r,n,o,a,u){function s(e,t,n,o){u.suppressWarnings||console.warn("[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var a=[];if(a._serverBackup=[],a._diffArrayFunc=n,a._hObserve=null,a._hNewCurAutorun=null,a._hDataAutorun=null,angular.isDefined(t))a.$$collection=t;else{var l=e();a.$$collection=r.getCollectionByName(l.collection.name)}return i["default"].extend(a,s),a._startCurAutorun(e,o),a}return s._startCurAutorun=function(e,t){var r=this;r._hNewCurAutorun=Tracker.autorun(function(){Tracker.onInvalidate(function(){r._stopCursor()}),t&&r._setAutoClientSave(),r._updateCursor(e(),t)})},s.subscribe=function(){return t.subscribe.apply(this,arguments),this},s.save=function(e,t){e||(e=this),e=[].concat(e);var n=e.map(function(e){return this._upsertDoc(e,t)},this);return r.promiseAll(n)},s._upsertDoc=function(t,n){var o=e.defer(),a=this.$$collection,u=i["default"].partial(r.fulfill,o,null);t=r.stripDollarPrefixedKeys(t);var s=t._id,l=a.findOne(s);if(l){delete t._id;var c=n?{$unset:t}:{$set:t};a.update(s,c,u(function(){return{_id:s,action:"updated"}}))}else a.insert(t,u(function(e){return{_id:e,action:"inserted"}}));return o.promise},s._updateDiff=function(e,t,r){r=r||angular.noop;var n=i["default"].omit(t,"$pull"),o=[n];i["default"].each(t.$pull,function(e,t){var r={};r[t]=e,o.push({$pull:r})}),this._updateParallel(e,o,r)},s._updateParallel=function(e,t,r){var n=this,o=i["default"].after(t.length,r),a=function(e,t){return e?r(e):void o(null,t)};i["default"].each(t,function(t){n.$$collection.update(e,t,a)})},s.remove=function(e){var t;e?(e=[].concat(e),t=i["default"].map(e,function(e){return e._id||e})):t=i["default"].pluck(this,"_id"),check(t,[Match.OneOf(String,Mongo.ObjectID)]);var n=t.map(function(e){return this._removeDoc(e)},this);return r.promiseAll(n)},s._removeDoc=function(t){var n=e.defer(),o=this.$$collection,i=r.fulfill(n,null,{_id:t,action:"removed"});return o.remove(t,i),n.promise},s._updateCursor=function(e,t){var n=this;n._hObserve&&n._stopObserving(),n._hObserve=e.observe({addedAt:function(e,t){n.splice(t,0,e),n._serverBackup.splice(t,0,e),n._setServerUpdateMode()},changedAt:function(e,t,r){a.deepCopyChanges(n[r],e),a.deepCopyRemovals(n[r],e),n._serverBackup[r]=n[r],n._setServerUpdateMode()},movedTo:function(e,t,r){n.splice(t,1),n.splice(r,0,e),n._serverBackup.splice(t,1),n._serverBackup.splice(r,0,e),n._setServerUpdateMode()},removedAt:function(e){var t=r.findIndexById(n,e);-1!=t?(n.splice(t,1),n._serverBackup.splice(t,1),n._setServerUpdateMode()):(t=r.findIndexById(n._serverBackup,e),-1!=t&&n._serverBackup.splice(t,1))}}),n._hDataAutorun=Tracker.autorun(function(){e.fetch(),n._serverMode&&n._unsetServerUpdateMode(t)})},s._stopObserving=function(){this._hObserve.stop(),this._hDataAutorun.stop(),delete this._serverMode,delete this._hUnsetTimeout},s._setServerUpdateMode=function(e){this._serverMode=!0,this._unsetAutoClientSave()},s._unsetServerUpdateMode=function(e){var t=this;t._hUnsetTimeout&&(o.cancel(t._hUnsetTimeout),t._hUnsetTimeout=null),t._hUnsetTimeout=o(function(){t._serverMode=!1;var r=a.getChanges(t,t._serverBackup,t._diffArrayFunc);t._saveChanges(r),e&&t._setAutoClientSave()},0)},s.stop=function(){this._stopCursor(),this._hNewCurAutorun.stop()},s._stopCursor=function(){this._unsetAutoClientSave(),this._hObserve&&(this._hObserve.stop(),this._hDataAutorun.stop()),this.splice(0),this._serverBackup.splice(0)},s._unsetAutoClientSave=function(e){this._hRegAutoBind&&(this._hRegAutoBind(),this._hRegAutoBind=null)},s._setAutoClientSave=function(){var e=this;e._unsetAutoClientSave(),e._hRegAutoBind=n.$watch(function(){return e},function(t,r){if(t!==r){var n=a.getChanges(e,r,e._diffArrayFunc);e._unsetAutoClientSave(),e._saveChanges(n),e._setAutoClientSave()}},!0)},s._saveChanges=function(e){var t=this,r=e.added.reverse().map(function(e){return t.splice(e.index,1),e.item});r.length&&t.save(r);var n=e.removed.map(function(e){return e.item});n.length&&t.remove(n),e.changed.forEach(function(e){t._updateDiff(e.selector,e.modifier)})},s}]),a.factory("$meteorCollectionFS",["$meteorCollection","diffArray","$angularMeteorSettings",function(e,t,r){function n(n,o,i){return r.suppressWarnings||console.warn("[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings"),new e(n,o,i,t.shallow)}return n}]),a.factory("$meteorCollection",["AngularMeteorCollection","$rootScope","diffArray",function(e,t,r){function n(t,n,o,a){if(!t)throw new TypeError("The first argument of $meteorCollection is undefined.");if(!angular.isFunction(t)&&!angular.isFunction(t.find))throw new TypeError("The first argument of $meteorCollection must be a function or a have a find function property.");return angular.isFunction(t)||(o=angular.isDefined(o)?o:t,t=i["default"].bind(t.find,t)),n=angular.isDefined(n)?n:!0,a=a||r,new e(t,o,a,n)}return n}]),a.run(["$rootScope","$meteorCollection","$meteorCollectionFS","$meteorStopper",function(e,t,r,n){var o=Object.getPrototypeOf(e);o.$meteorCollection=n(t),o.$meteorCollectionFS=n(r)}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.object",["angular-meteor.utils","angular-meteor.subscribe","angular-meteor.collection","getUpdates","diffArray","angular-meteor.settings"]);a.factory("AngularMeteorObject",["$q","$meteorSubscribe","$meteorUtils","diffArray","getUpdates","AngularMeteorCollection","$angularMeteorSettings",function(e,t,r,n,o,a,u){function s(e,t,r){u.suppressWarnings||console.warn("[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var n=e._helpers,o=i["default"].isFunction(n)?Object.create(n.prototype):{},l=e.findOne(t,r),c=i["default"].pick(a,"_updateParallel");return i["default"].extend(o,l),i["default"].extend(o,s),i["default"].extend(o,c),o.$$options=i["default"].omit(r,"skip","limit"),o.$$collection=e,o.$$id=o._getId(t),o._serverBackup=l||{},o}return s.$$internalProps=["$$collection","$$options","$$id","$$hashkey","$$internalProps","$$scope","bind","save","reset","subscribe","stop","autorunComputation","unregisterAutoBind","unregisterAutoDestroy","getRawObject","_auto","_setAutos","_eventEmitter","_serverBackup","_updateDiff","_updateParallel","_getId"],s.getRawObject=function(){return angular.copy(i["default"].omit(this,this.$$internalProps))},s.subscribe=function(){return t.subscribe.apply(this,arguments),this},s.save=function(t){var n,a=e.defer(),u=this.$$collection,s=i["default"].partial(r.fulfill,a,null),l=u.findOne(this.$$id);if(l){if(t)n={$set:t};else if(n=o(l,this.getRawObject()),i["default"].isEmpty(n))return e.when({action:"updated"});this._updateDiff(n,s({action:"updated"}))}else n=t?i["default"].clone(t):this.getRawObject(),n._id=n._id||this.$$id,u.insert(n,s({action:"inserted"}));return a.promise},s._updateDiff=function(e,t){var r=this.$$id;a._updateDiff.call(this,r,e,t)},s.reset=function(e){var t=this,r=this.$$options,n=this.$$id,o=this.$$collection.findOne(n,r);if(o){var a,u=i["default"].keys(o),s=i["default"].pick(o,u);i["default"].extend(t,s),i["default"].extend(t._serverBackup,s),a=e?i["default"].intersection(i["default"].keys(t),i["default"].keys(t._serverBackup)):i["default"].keys(t);var l=i["default"].keys(o),c=i["default"].difference(a,l,t.$$internalProps);c.forEach(function(e){delete t[e],delete t._serverBackup[e]})}else i["default"].keys(this.getRawObject()).forEach(function(e){delete t[e]}),t._serverBackup={}},s.stop=function(){this.unregisterAutoDestroy&&this.unregisterAutoDestroy(),this.unregisterAutoBind&&this.unregisterAutoBind(),this.autorunComputation&&this.autorunComputation.stop&&this.autorunComputation.stop()},s._getId=function(e){var t=i["default"].extend({},this.$$options,{fields:{_id:1},reactive:!1,transform:null}),r=this.$$collection.findOne(e,t);return r?r._id:e instanceof Mongo.ObjectID?e:i["default"].isString(e)?e:new Mongo.ObjectID},s}]),a.factory("$meteorObject",["$rootScope","$meteorUtils","getUpdates","AngularMeteorObject",function(e,t,r,n){function o(e,t,r,a){if(!e)throw new TypeError("The first argument of $meteorObject is undefined.");if(!angular.isFunction(e.findOne))throw new TypeError("The first argument of $meteorObject must be a function or a have a findOne function property.");var u=new n(e,t,a);return u._auto=r!==!1,i["default"].extend(u,o),u._setAutos(),u}return o._setAutos=function(){var r=this;this.autorunComputation=t.autorun(e,function(){r.reset(!0)}),this.unregisterAutoBind=this._auto&&e.$watch(function(){return r.getRawObject()},function(e,t){e!==t&&r.save()},!0),this.unregisterAutoDestroy=e.$on("$destroy",function(){r&&r.stop&&r.pop()})},o}]),a.run(["$rootScope","$meteorObject","$meteorStopper",function(e,t,r){var n=Object.getPrototypeOf(e);n.$meteorObject=r(t)}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.user",["angular-meteor.utils","angular-meteor.core","angular-meteor.settings"]);a.service("$meteorUser",["$rootScope","$meteorUtils","$q","$angularMeteorSettings",function(e,t,r,n){var o=Package["accounts-base"];if(o){var i=this,a=o.Accounts;this.waitForUser=function(){n.suppressWarnings||console.warn("[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=r.defer();return t.autorun(e,function(){Meteor.loggingIn()||o.resolve(Meteor.user())},!0),o.promise},this.requireUser=function(){n.suppressWarnings||console.warn("[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=r.defer();return t.autorun(e,function(){Meteor.loggingIn()||(null===Meteor.user()?o.reject("AUTH_REQUIRED"):o.resolve(Meteor.user()))},!0),o.promise},this.requireValidUser=function(e){return n.suppressWarnings||console.warn("[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings"),i.requireUser(!0).then(function(t){var n=e(t);return n===!0?t:"string"==typeof n?r.reject(n):r.reject("FORBIDDEN")})},this.loginWithPassword=t.promissor(Meteor,"loginWithPassword"),this.createUser=t.promissor(a,"createUser"),this.changePassword=t.promissor(a,"changePassword"),this.forgotPassword=t.promissor(a,"forgotPassword"),this.resetPassword=t.promissor(a,"resetPassword"),this.verifyEmail=t.promissor(a,"verifyEmail"),this.logout=t.promissor(Meteor,"logout"),this.logoutOtherClients=t.promissor(Meteor,"logoutOtherClients"),this.loginWithFacebook=t.promissor(Meteor,"loginWithFacebook"),this.loginWithTwitter=t.promissor(Meteor,"loginWithTwitter"),this.loginWithGoogle=t.promissor(Meteor,"loginWithGoogle"),this.loginWithGithub=t.promissor(Meteor,"loginWithGithub"),this.loginWithMeteorDeveloperAccount=t.promissor(Meteor,"loginWithMeteorDeveloperAccount"),this.loginWithMeetup=t.promissor(Meteor,"loginWithMeetup"),this.loginWithWeibo=t.promissor(Meteor,"loginWithWeibo")}}]),a.run(["$rootScope","$angularMeteorSettings","$$Core",function(e,t,r){var n=Object.getPrototypeOf(e);i["default"].extend(n,r),e.autorun(function(){Meteor.user&&(e.currentUser=Meteor.user(),e.loggingIn=Meteor.loggingIn())})}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.methods",["angular-meteor.utils","angular-meteor.settings"]);a.service("$meteorMethods",["$q","$meteorUtils","$angularMeteorSettings",function(e,t,r){this.call=function(){r.suppressWarnings||console.warn("[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var n=e.defer(),o=t.fulfill(n),a=i["default"].toArray(arguments).concat(o);return Meteor.call.apply(this,a),n.promise}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.session",["angular-meteor.utils","angular-meteor.settings"]);r.factory("$meteorSession",["$meteorUtils","$parse","$angularMeteorSettings",function(e,t,r){return function(n){return{bind:function(o,i){r.suppressWarnings||console.warn("[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var a=t(i),u=a.assign;e.autorun(o,function(){u(o,Session.get(n))}),o.$watch(i,function(e,t){Session.set(n,a(o))},!0)}}}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.camera",["angular-meteor.utils","angular-meteor.settings"]);r.service("$meteorCamera",["$q","$meteorUtils","$angularMeteorSettings",function(e,t,r){r.suppressWarnings||console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var n=Package["mdg:camera"];if(n){var o=n.MeteorCamera;this.getPicture=function(n){r.suppressWarnings||console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings"),n=n||{};var i=e.defer();return o.getPicture(n,t.fulfill(i)),i.promise}}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.stopper",["angular-meteor.subscribe"]);r.factory("$meteorStopper",["$q","$meteorSubscribe",function(e,t){function r(e){return function(){var t=Array.prototype.slice.call(arguments),n=e.apply(this,t);return angular.extend(n,r),n.$$scope=this,this.$on("$destroy",function(){n.stop(),n.subscription&&n.subscription.stop()}),n}}return r.subscribe=function(){var r=Array.prototype.slice.call(arguments);return this.subscription=t._subscribe(this.$$scope,e.defer(),r),this},r}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.utils=t.name=void 0;var o=r(2),i=n(o),a=t.name="angular-meteor.utilities",u=t.utils="$$utils";angular.module(a,[]).service(u,["$rootScope",function(e){function t(e,t,r){return function(){for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];var a=e.apply(t,o);return r.call(t,{result:a,args:o}),a}}function r(e,t,r){return i["default"].keys(e).reduce(function(o,i){return o[i]=n.bind(e[i],t,r),o},{})}var n=this;this.isCursor=function(e){return e instanceof Meteor.Collection.Cursor},this.isScope=function(t){return t instanceof e.constructor},this.isViewModel=function(e){return i["default"].isObject(e)&&e.$$dependencies},this.areSiblings=function(e,t){return i["default"].isObject(e)&&i["default"].isObject(t)&&Object.getPrototypeOf(e)===Object.getPrototypeOf(t)},this.bind=function(e,n,o){return o=i["default"].isFunction(o)?o:angular.noop,i["default"].isFunction(e)?t(e,n,o):i["default"].isObject(e)?r(e,n,o):e}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];return e._mixins.filter(a["default"].isFunction).forEach(function(e){e.call.apply(e,[t].concat(n))}),t},this._extend=function(r,n){var i=a["default"].defaults({},n,{pattern:/.*/}),u=i.pattern,s=i.context,l=e._mixins.map(function(e){var r=a["default"].keys(e).filter(function(e){return e.match(u)}).filter(function(t){return a["default"].isFunction(e[t])});return r.reduce(function(r,n){var o=e[n];return r[n]=function(){var e=s||this,r=t;t=this;try{for(var n=arguments.length,i=Array(n),a=0;n>a;a++)i[a]=arguments[a];return o.apply(e,i)}finally{t=r}},r},{})});return a["default"].extend.apply(a["default"],[r].concat(o(l)))},Object.defineProperty(this,"caller",{configurable:!0,enumerable:!0,get:function(){return t}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.name=void 0;var n=r(17),o=t.name="angular-meteor.scope";angular.module(o,[n.name]).run(["$rootScope",n.Mixer,function(e,t){var r=e.constructor,n=e.$new;t._autoExtend.push(r.prototype),t._autoConstruct.push(e),r.prototype.$new=function(){var e=n.apply(this,arguments);return t._construct(e)}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);to;o++)n[o]=arguments[o];var i=n.pop();return a["default"].isFunction(i)&&(i=this.$bindToContext(r.caller,i)),(e=Meteor).call.apply(e,n.concat([i]))},n.applyMethod=function(){for(var e,t=arguments.length,n=Array(t),o=0;t>o;o++)n[o]=arguments[o];var i=n.pop();return a["default"].isFunction(i)&&(i=this.$bindToContext(r.caller,i)),(e=Meteor).apply.apply(e,n.concat([i]))},n.$$autoStop=function(e){this.$on("$destroy",e.stop.bind(e))},n.$$throttledDigest=function(){var e=!this.$$destroyed&&!this.$$phase&&!this.$root.$$phase;e&&this.$digest()},n.$$defer=function(){var t=e.defer();return t.promise=t.promise["finally"](this.$$throttledDigest.bind(this)), -t},n.$bindToContext=function(e,r){return t.bind(r,e,this.$$throttledDigest.bind(this))},n}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.reactive=t.ViewModel=t.name=void 0;var i=function(){function e(e,t){for(var r=0;r3?o-3:0),a=3;o>a;a++)i[a-3]=arguments[a];this.$$watchEntity.apply(this,[t,r,n].concat(i))}return t.$$dependencies[r].depend(),e(r)(t)},n.$$watchEntity=function(t,r,n){for(var o=this,i=u["default"].partial(e(r),t),a=i(),s=arguments.length,l=Array(s>3?s-3:0),c=3;s>c;c++)l[c-3]=arguments[c];n.call.apply(n,[this,i,function(e,n){var i=e!==a||e!==n;i&&o.$$changed(t,r)}].concat(l))},n.$$setFnHelper=function(e,r,n){var o=this,a=null,u=null,s=[];this.autorun(function(){var l=n.apply(e);Tracker.nonreactive(function(){if(t.isCursor(l)){var n=void 0;angular.isUndefined(e[r])&&o.$$setValHelper(e,r,[],!1),a&&(s=u.fetch(),a.stop(),a=null);var c=o.$$handleCursor(e,r,l);if(a=c.observation,n=c.data,0!==s.length){var f=i["default"].diff(s,n);e[r]=i["default"].patch(s,f)}else e[r]=n;u=l,s=n}else o.$$handleNonCursor(e,r,l);o.$$changed(e,r)})})},n.$$setValHelper=function(e,t,r){var n=this,o=arguments.length<=3||void 0===arguments[3]?!0:arguments[3];if(o){var i=u["default"].isObject(r);this.getReactively(e,t,i)}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return r},set:function(o){r=o,n.$$changed(e,t)}})},n.$$handleCursor=function(e,t,r){var n=this,o=[],a=r.observe({addedAt:function(r,i){return a?(e[t].splice(i,0,r),void n.$$changed(e,t)):void o.push(r)},changedAt:function(r,o,a){var u=i["default"].diff(e[t][a],r);i["default"].patch(e[t][a],u),n.$$changed(e,t)},movedTo:function(r,o,i){e[t].splice(o,1),e[t].splice(i,0,r),n.$$changed(e,t)},removedAt:function(r,o){e[t].splice(o,1),n.$$changed(e,t)}});return{observation:a,data:o}},n.$$handleNonCursor=function(e,r,n){var o=e[r];if(angular.isDefined(o)&&(delete e[r],o=null),angular.isUndefined(o))this.$$setValHelper(e,r,n);else if(t.areSiblings(o,n)){var a=i["default"].diff(o,n);i["default"].patch(o,a),this.$$changed(e,r)}else e[r]=n},n.$$depend=function(e,t){e.$$dependencies[t].depend()},n.$$changed=function(e,t){this.$$throttledDigest(),e.$$dependencies[t].changed()},n}])},function(e,r){e.exports=t},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.name="angular-templates";try{angular.module(r)}catch(n){angular.module(r,[])}}])}); +/*! angular-meteor v1.3.10 */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("underscore"),require("jsondiffpatch")):"function"==typeof define&&define.amd?define(["underscore","jsondiffpatch"],t):"object"==typeof exports?exports.angularMeteor=t(require("underscore"),require("jsondiffpatch")):e.angularMeteor=t(e._,e.jsondiffpatch)}(this,function(e,t){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(1),r(4),r(5),r(6),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15);var n=r(16),o=r(17),i=r(18),a=r(19),u=r(20),s=r(21),l=r(23),c="angular-meteor";t["default"]=c,angular.module(c,[n.name,o.name,i.name,a.name,u.name,s.name,l.name,"angular-meteor.ironrouter","angular-meteor.utils","angular-meteor.subscribe","angular-meteor.collection","angular-meteor.object","angular-meteor.user","angular-meteor.methods","angular-meteor.session","angular-meteor.camera"]).run([o.Mixer,a.Core,u.ViewModel,s.Reactive,function(e,t,r,n){e.mixin(t).mixin(r).mixin(n)}]).service("$meteor",["$meteorCollection","$meteorCollectionFS","$meteorObject","$meteorMethods","$meteorSession","$meteorSubscribe","$meteorUtils","$meteorCamera","$meteorUser",function(e,t,r,n,o,i,a,u,s){var l=this;this.collection=e,this.collectionFS=t,this.object=r,this.subscribe=i.subscribe,this.call=n.call,this.session=o,this.autorun=a.autorun,this.getCollectionByName=a.getCollectionByName,this.getPicture=u.getPicture,["loginWithPassword","requireUser","requireValidUser","waitForUser","createUser","changePassword","forgotPassword","resetPassword","verifyEmail","loginWithMeteorDeveloperAccount","loginWithFacebook","loginWithGithub","loginWithGoogle","loginWithMeetup","loginWithTwitter","loginWithWeibo","logout","logoutOtherClients"].forEach(function(e){l[e]=s[e]})}]),e.exports=t["default"]},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o);!function(){var e=angular.module("getUpdates",[]),t=function(){var e=function s(e,t){return 1>t?{}:i["default"].reduce(e,function(e,r,n){return r=i["default"].isObject(r)?s(r,--t):r,e[n]=r,e},{})},t=function(e){var t=r(e),o=n(e);return i["default"].object(t,o)},r=function l(e){var t=i["default"].keys(e).map(function(t){var r=e[t];return!i["default"].isObject(r)||i["default"].isEmpty(r)||i["default"].isArray(r)?t:l(r).map(function(e){return t+"."+e})});return i["default"].flatten(t)},n=function c(e,t){return t=t||[],i["default"].values(e).forEach(function(e){!i["default"].isObject(e)||i["default"].isEmpty(e)||i["default"].isArray(e)?t.push(e):c(e,t)}),t},o=function(e,t,r){i["default"].isEmpty(r)||(e[t]=r)},a=function(e,t){e||u(t)},u=function(e){throw Error("get-updates error - "+e)};return{rip:e,toPaths:t,getKeyPaths:r,getDeepValues:n,setFilled:o,assert:a,throwErr:u}}(),r=function(){var e=function(e,n,o){var i;return o>1?i=o:o&&(i=1),i&&(e=t.rip(e,i),n=t.rip(n,i)),r(e,n)},r=function(r,n){var o=i["default"].keys(r),a=i["default"].keys(n),u=i["default"].chain([]).concat(o).concat(a).uniq().without("$$hashKey").value();return u.reduce(function(o,a){var u=r[a],s=n[a];if(i["default"].isDate(u)&&i["default"].isDate(s)&&u.getTime()!=s.getTime()&&(o[a]=s),i["default"].isObject(u)&&i["default"].isObject(s)){var l=e(u,s);t.setFilled(o,a,l)}else u!==s&&(o[a]=s);return o},{})};return e}(),n=function(){var e=function(e,u,s){t.assert(i["default"].isObject(e),"first argument must be an object"),t.assert(i["default"].isObject(u),"second argument must be an object");var l=r(e,u,s),c=t.toPaths(l),f=n(c),d=o(c),p=a(d),h={};return t.setFilled(h,"$set",f),t.setFilled(h,"$unset",d),t.setFilled(h,"$pull",p),h},n=function(e){var t=u(e);return i["default"].omit(e,t)},o=function(e){var t=u(e),r=i["default"].pick(e,t);return i["default"].reduce(r,function(e,t,r){return e[r]=!0,e},{})},a=function(e){var t=i["default"].keys(e).map(function(e){var t=e.match(/(.*)\.\d+$/);return t&&t[1]});return i["default"].compact(t).reduce(function(e,t){return e[t]=null,e},{})},u=function(e){return i["default"].keys(e).filter(function(t){var r=e[t];return i["default"].isUndefined(r)})};return e}();e.value("getUpdates",n)}()},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(3),i=n(o);if("undefined"==typeof i["default"]&&"undefined"==typeof Package.underscore)throw new Error("underscore is missing");t["default"]=i["default"]||Package.underscore._,e.exports=t["default"]},function(t,r){t.exports=e},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("diffArray",["getUpdates"]);a.factory("diffArray",["getUpdates",function(e){function t(t,r,a,u){u=!!u;var s=Package.minimongo.LocalCollection._diffQueryOrderedChanges||Package["diff-sequence"].DiffSequence.diffQueryOrderedChanges,l=[],c=[],f={},d={},p={},h=t.length;i["default"].each(r,function(e,t){c.push({_id:e._id}),d[n(e._id)]=t}),i["default"].each(t,function(e,t){l.push({_id:e._id}),f[n(e._id)]=t,p[n(e._id)]=t}),s(l,c,{addedBefore:function(e,t,o){var u=o?p[n(o)]:h;i["default"].each(p,function(e,t){e>=u&&p[t]++}),h++,p[n(e)]=u,a.addedAt(e,r[d[n(e)]],u,o)},movedBefore:function(e,t){var o=p[n(e)],u=t?p[n(t)]:h-1;i["default"].each(p,function(e,t){e>=o&&u>=e?p[t]--:o>=e&&e>=u&&p[t]++}),p[n(e)]=u,a.movedTo(e,r[d[n(e)]],o,u,t)},removed:function(e){var r=p[n(e)];i["default"].each(p,function(e,t){e>=r&&p[t]--}),delete p[n(e)],h--,a.removedAt(e,t[f[n(e)]],r)}}),i["default"].each(d,function(n,s){if(i["default"].has(f,s)){var l=o(s),c=r[n]||{},d=t[f[s]],p=e(d,c,u);i["default"].isEmpty(p)||a.changedAt(l,p,n,d)}})}var r=Package.minimongo.LocalCollection,n=r._idStringify||Package["mongo-id"].MongoID.idStringify,o=r._idParse||Package["mongo-id"].MongoID.idParse;t.shallow=function(e,r,n){return t(e,r,n,!0)},t.deepCopyChanges=function(t,r){var n=e(t,r).$set;i["default"].each(n,function(e,r){a(t,r,e)})},t.deepCopyRemovals=function(t,r){var n=e(t,r).$unset;i["default"].each(n,function(e,r){u(t,r)})},t.getChanges=function(e,t,r){var n={added:[],removed:[],changed:[]};return r(t,e,{addedAt:function(e,t,r){n.added.push({item:t,index:r})},removedAt:function(e,t,r){n.removed.push({item:t,index:r})},changedAt:function(e,t,r,o){n.changed.push({selector:e,modifier:t})},movedTo:function(e,t,r,n){}}),n};var a=function(e,t,r){var n=t.split("."),o=i["default"].initial(n),a=i["default"].last(n);o.reduce(function(e,t,r){var o=n[r+1];return c(o)?(null===e[t]&&(e[t]=[]),e[t].length==parseInt(o)&&e[t].push(null)):null!==e[t]&&l(e[t])||(e[t]={}),e[t]},e);var u=s(e,o);return u[a]=r,r},u=function(e,t){var r=t.split("."),n=i["default"].initial(r),o=i["default"].last(r),a=s(e,n);return i["default"].isArray(a)&&c(o)?!!a.splice(o,1):delete a[o]},s=function(e,t){return t.reduce(function(e,t){return e[t]},e)},l=function(e){return i["default"].isObject(e)&&Object.getPrototypeOf(e)===Object.prototype},c=function(e){return e.match(/^\d+$/)};return t}])},function(e,t){"use strict";angular.module("angular-meteor.settings",[]).constant("$angularMeteorSettings",{suppressWarnings:!0})},function(e,t){"use strict";angular.module("angular-meteor.ironrouter",[]).run(["$compile","$document","$rootScope",function(e,t,r){var n=(Package["iron:router"]||{}).Router;if(n){var o=!1;n.onAfterAction(function(n,i,a){Tracker.afterFlush(function(){o||(e(t)(r),r.$$phase||r.$apply(),o=!0)})})}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},i=r(2),a=n(i),u=angular.module("angular-meteor.utils",["angular-meteor.settings"]);u.service("$meteorUtils",["$q","$timeout","$angularMeteorSettings",function(e,t,r){var n=this;this.autorun=function(e,n){r.suppressWarnings||console.warn("[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=Tracker.autorun(function(e){n(e),e.firstRun||t(angular.noop,0)});return e.$on("$destroy",function(){o.stop()}),o},this.stripDollarPrefixedKeys=function(e){if(!a["default"].isObject(e)||e instanceof Date||e instanceof File||"oid"===EJSON.toJSONValue(e).$type||"object"===("undefined"==typeof FS?"undefined":o(FS))&&e instanceof FS.File)return e;var t=a["default"].isArray(e)?[]:{};return a["default"].each(e,function(e,r){"string"==typeof r&&"$"===r.charAt(0)||(t[r]=n.stripDollarPrefixedKeys(e))}),t},this.fulfill=function(e,t,r){return function(n,o){n?e.reject(null==t?n:t):"function"==typeof r?e.resolve(null==r?o:r(o)):e.resolve(null==r?o:r)}},this.promissor=function(t,r){return function(){var o=e.defer(),i=n.fulfill(o),u=a["default"].toArray(arguments).concat(i);return t[r].apply(t,u),o.promise}},this.promiseAll=function(r){var n=e.all(r);return n["finally"](function(){t(angular.noop)}),n},this.getCollectionByName=function(e){return Mongo.Collection.get(e)},this.findIndexById=function(e,t){var r=a["default"].find(e,function(e){return EJSON.equals(e._id,t._id)});return a["default"].indexOf(e,r)}}]),u.run(["$rootScope","$meteorUtils",function(e,t){Object.getPrototypeOf(e).$meteorAutorun=function(e){return t.autorun(this,e)}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.subscribe",["angular-meteor.settings"]);r.service("$meteorSubscribe",["$q","$angularMeteorSettings",function(e,t){var r=this;this._subscribe=function(e,r,n){t.suppressWarnings||console.warn("[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=null,i=n[n.length-1];if(angular.isObject(i)&&angular.isFunction(i.onStop)){var a=i.onStop;n.pop()}return n.push({onReady:function(){r.resolve(o)},onStop:function(e){r.promise.$$state.status?a&&a.apply(this,Array.prototype.slice.call(arguments)):e?r.reject(e):r.reject(new Meteor.Error("Subscription Stopped","Subscription stopped by a call to stop method. Either by the client or by the server."))}}),o=Meteor.subscribe.apply(e,n)},this.subscribe=function(){var t=e.defer(),n=Array.prototype.slice.call(arguments);return r._subscribe(this,t,n),t.promise}}]),r.run(["$rootScope","$q","$meteorSubscribe",function(e,t,r){Object.getPrototypeOf(e).$meteorSubscribe=function(){var e=t.defer(),n=Array.prototype.slice.call(arguments),o=r._subscribe(this,e,n);return this.$on("$destroy",function(){o.stop()}),e.promise}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.collection",["angular-meteor.stopper","angular-meteor.subscribe","angular-meteor.utils","diffArray","angular-meteor.settings"]);a.factory("AngularMeteorCollection",["$q","$meteorSubscribe","$meteorUtils","$rootScope","$timeout","diffArray","$angularMeteorSettings",function(e,t,r,n,o,a,u){function s(e,t,n,o){u.suppressWarnings||console.warn("[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var a=[];if(a._serverBackup=[],a._diffArrayFunc=n,a._hObserve=null,a._hNewCurAutorun=null,a._hDataAutorun=null,angular.isDefined(t))a.$$collection=t;else{var l=e();a.$$collection=r.getCollectionByName(l.collection.name)}return i["default"].extend(a,s),a._startCurAutorun(e,o),a}return s._startCurAutorun=function(e,t){var r=this;r._hNewCurAutorun=Tracker.autorun(function(){Tracker.onInvalidate(function(){r._stopCursor()}),t&&r._setAutoClientSave(),r._updateCursor(e(),t)})},s.subscribe=function(){return t.subscribe.apply(this,arguments),this},s.save=function(e,t){e||(e=this),e=[].concat(e);var n=e.map(function(e){return this._upsertDoc(e,t)},this);return r.promiseAll(n)},s._upsertDoc=function(t,n){var o=e.defer(),a=this.$$collection,u=i["default"].partial(r.fulfill,o,null);t=r.stripDollarPrefixedKeys(t);var s=t._id,l=a.findOne(s);if(l){delete t._id;var c=n?{$unset:t}:{$set:t};a.update(s,c,u(function(){return{_id:s,action:"updated"}}))}else a.insert(t,u(function(e){return{_id:e,action:"inserted"}}));return o.promise},s._updateDiff=function(e,t,r){r=r||angular.noop;var n=i["default"].omit(t,"$pull"),o=[n];i["default"].each(t.$pull,function(e,t){var r={};r[t]=e,o.push({$pull:r})}),this._updateParallel(e,o,r)},s._updateParallel=function(e,t,r){var n=this,o=i["default"].after(t.length,r),a=function(e,t){return e?r(e):void o(null,t)};i["default"].each(t,function(t){n.$$collection.update(e,t,a)})},s.remove=function(e){var t;e?(e=[].concat(e),t=i["default"].map(e,function(e){return e._id||e})):t=i["default"].pluck(this,"_id"),check(t,[Match.OneOf(String,Mongo.ObjectID)]);var n=t.map(function(e){return this._removeDoc(e)},this);return r.promiseAll(n)},s._removeDoc=function(t){var n=e.defer(),o=this.$$collection,i=r.fulfill(n,null,{_id:t,action:"removed"});return o.remove(t,i),n.promise},s._updateCursor=function(e,t){var n=this;n._hObserve&&n._stopObserving(),n._hObserve=e.observe({addedAt:function(e,t){n.splice(t,0,e),n._serverBackup.splice(t,0,e),n._setServerUpdateMode()},changedAt:function(e,t,r){a.deepCopyChanges(n[r],e),a.deepCopyRemovals(n[r],e),n._serverBackup[r]=n[r],n._setServerUpdateMode()},movedTo:function(e,t,r){n.splice(t,1),n.splice(r,0,e),n._serverBackup.splice(t,1),n._serverBackup.splice(r,0,e),n._setServerUpdateMode()},removedAt:function(e){var t=r.findIndexById(n,e);-1!=t?(n.splice(t,1),n._serverBackup.splice(t,1),n._setServerUpdateMode()):(t=r.findIndexById(n._serverBackup,e),-1!=t&&n._serverBackup.splice(t,1))}}),n._hDataAutorun=Tracker.autorun(function(){e.fetch(),n._serverMode&&n._unsetServerUpdateMode(t)})},s._stopObserving=function(){this._hObserve.stop(),this._hDataAutorun.stop(),delete this._serverMode,delete this._hUnsetTimeout},s._setServerUpdateMode=function(e){this._serverMode=!0,this._unsetAutoClientSave()},s._unsetServerUpdateMode=function(e){var t=this;t._hUnsetTimeout&&(o.cancel(t._hUnsetTimeout),t._hUnsetTimeout=null),t._hUnsetTimeout=o(function(){t._serverMode=!1;var r=a.getChanges(t,t._serverBackup,t._diffArrayFunc);t._saveChanges(r),e&&t._setAutoClientSave()},0)},s.stop=function(){this._stopCursor(),this._hNewCurAutorun.stop()},s._stopCursor=function(){this._unsetAutoClientSave(),this._hObserve&&(this._hObserve.stop(),this._hDataAutorun.stop()),this.splice(0),this._serverBackup.splice(0)},s._unsetAutoClientSave=function(e){this._hRegAutoBind&&(this._hRegAutoBind(),this._hRegAutoBind=null)},s._setAutoClientSave=function(){var e=this;e._unsetAutoClientSave(),e._hRegAutoBind=n.$watch(function(){return e},function(t,r){if(t!==r){var n=a.getChanges(e,r,e._diffArrayFunc);e._unsetAutoClientSave(),e._saveChanges(n),e._setAutoClientSave()}},!0)},s._saveChanges=function(e){var t=this,r=e.added.reverse().map(function(e){return t.splice(e.index,1),e.item});r.length&&t.save(r);var n=e.removed.map(function(e){return e.item});n.length&&t.remove(n),e.changed.forEach(function(e){t._updateDiff(e.selector,e.modifier)})},s}]),a.factory("$meteorCollectionFS",["$meteorCollection","diffArray","$angularMeteorSettings",function(e,t,r){function n(n,o,i){return r.suppressWarnings||console.warn("[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings"),new e(n,o,i,t.shallow)}return n}]),a.factory("$meteorCollection",["AngularMeteorCollection","$rootScope","diffArray",function(e,t,r){function n(t,n,o,a){if(!t)throw new TypeError("The first argument of $meteorCollection is undefined.");if(!angular.isFunction(t)&&!angular.isFunction(t.find))throw new TypeError("The first argument of $meteorCollection must be a function or a have a find function property.");return angular.isFunction(t)||(o=angular.isDefined(o)?o:t,t=i["default"].bind(t.find,t)),n=angular.isDefined(n)?n:!0,a=a||r,new e(t,o,a,n)}return n}]),a.run(["$rootScope","$meteorCollection","$meteorCollectionFS","$meteorStopper",function(e,t,r,n){var o=Object.getPrototypeOf(e);o.$meteorCollection=n(t),o.$meteorCollectionFS=n(r)}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.object",["angular-meteor.utils","angular-meteor.subscribe","angular-meteor.collection","getUpdates","diffArray","angular-meteor.settings"]);a.factory("AngularMeteorObject",["$q","$meteorSubscribe","$meteorUtils","diffArray","getUpdates","AngularMeteorCollection","$angularMeteorSettings",function(e,t,r,n,o,a,u){function s(e,t,r){u.suppressWarnings||console.warn("[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var n=e._helpers,o=i["default"].isFunction(n)?Object.create(n.prototype):{},l=e.findOne(t,r),c=i["default"].pick(a,"_updateParallel");return i["default"].extend(o,l),i["default"].extend(o,s),i["default"].extend(o,c),o.$$options=i["default"].omit(r,"skip","limit"),o.$$collection=e,o.$$id=o._getId(t),o._serverBackup=l||{},o}return s.$$internalProps=["$$collection","$$options","$$id","$$hashkey","$$internalProps","$$scope","bind","save","reset","subscribe","stop","autorunComputation","unregisterAutoBind","unregisterAutoDestroy","getRawObject","_auto","_setAutos","_eventEmitter","_serverBackup","_updateDiff","_updateParallel","_getId"],s.getRawObject=function(){return angular.copy(i["default"].omit(this,this.$$internalProps))},s.subscribe=function(){return t.subscribe.apply(this,arguments),this},s.save=function(t){var n,a=e.defer(),u=this.$$collection,s=i["default"].partial(r.fulfill,a,null),l=u.findOne(this.$$id);if(l){if(t)n={$set:t};else if(n=o(l,this.getRawObject()),i["default"].isEmpty(n))return e.when({action:"updated"});this._updateDiff(n,s({action:"updated"}))}else n=t?i["default"].clone(t):this.getRawObject(),n._id=n._id||this.$$id,u.insert(n,s({action:"inserted"}));return a.promise},s._updateDiff=function(e,t){var r=this.$$id;a._updateDiff.call(this,r,e,t)},s.reset=function(e){var t=this,r=this.$$options,n=this.$$id,o=this.$$collection.findOne(n,r);if(o){var a,u=i["default"].keys(o),s=i["default"].pick(o,u);i["default"].extend(t,s),i["default"].extend(t._serverBackup,s),a=e?i["default"].intersection(i["default"].keys(t),i["default"].keys(t._serverBackup)):i["default"].keys(t);var l=i["default"].keys(o),c=i["default"].difference(a,l,t.$$internalProps);c.forEach(function(e){delete t[e],delete t._serverBackup[e]})}else i["default"].keys(this.getRawObject()).forEach(function(e){delete t[e]}),t._serverBackup={}},s.stop=function(){this.unregisterAutoDestroy&&this.unregisterAutoDestroy(),this.unregisterAutoBind&&this.unregisterAutoBind(),this.autorunComputation&&this.autorunComputation.stop&&this.autorunComputation.stop()},s._getId=function(e){var t=i["default"].extend({},this.$$options,{fields:{_id:1},reactive:!1,transform:null}),r=this.$$collection.findOne(e,t);return r?r._id:e instanceof Mongo.ObjectID?e:i["default"].isString(e)?e:new Mongo.ObjectID},s}]),a.factory("$meteorObject",["$rootScope","$meteorUtils","getUpdates","AngularMeteorObject",function(e,t,r,n){function o(e,t,r,a){if(!e)throw new TypeError("The first argument of $meteorObject is undefined.");if(!angular.isFunction(e.findOne))throw new TypeError("The first argument of $meteorObject must be a function or a have a findOne function property.");var u=new n(e,t,a);return u._auto=r!==!1,i["default"].extend(u,o),u._setAutos(),u}return o._setAutos=function(){var r=this;this.autorunComputation=t.autorun(e,function(){r.reset(!0)}),this.unregisterAutoBind=this._auto&&e.$watch(function(){return r.getRawObject()},function(e,t){e!==t&&r.save()},!0),this.unregisterAutoDestroy=e.$on("$destroy",function(){r&&r.stop&&r.pop()})},o}]),a.run(["$rootScope","$meteorObject","$meteorStopper",function(e,t,r){var n=Object.getPrototypeOf(e);n.$meteorObject=r(t)}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.user",["angular-meteor.utils","angular-meteor.core","angular-meteor.settings"]);a.service("$meteorUser",["$rootScope","$meteorUtils","$q","$angularMeteorSettings",function(e,t,r,n){var o=Package["accounts-base"];if(o){var i=this,a=o.Accounts;this.waitForUser=function(){n.suppressWarnings||console.warn("[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=r.defer();return t.autorun(e,function(){Meteor.loggingIn()||o.resolve(Meteor.user())},!0),o.promise},this.requireUser=function(){n.suppressWarnings||console.warn("[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var o=r.defer();return t.autorun(e,function(){Meteor.loggingIn()||(null===Meteor.user()?o.reject("AUTH_REQUIRED"):o.resolve(Meteor.user()))},!0),o.promise},this.requireValidUser=function(e){return n.suppressWarnings||console.warn("[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings"),i.requireUser(!0).then(function(t){var n=e(t);return n===!0?t:"string"==typeof n?r.reject(n):r.reject("FORBIDDEN")})},this.loginWithPassword=t.promissor(Meteor,"loginWithPassword"),this.createUser=t.promissor(a,"createUser"),this.changePassword=t.promissor(a,"changePassword"),this.forgotPassword=t.promissor(a,"forgotPassword"),this.resetPassword=t.promissor(a,"resetPassword"),this.verifyEmail=t.promissor(a,"verifyEmail"),this.logout=t.promissor(Meteor,"logout"),this.logoutOtherClients=t.promissor(Meteor,"logoutOtherClients"),this.loginWithFacebook=t.promissor(Meteor,"loginWithFacebook"),this.loginWithTwitter=t.promissor(Meteor,"loginWithTwitter"),this.loginWithGoogle=t.promissor(Meteor,"loginWithGoogle"),this.loginWithGithub=t.promissor(Meteor,"loginWithGithub"),this.loginWithMeteorDeveloperAccount=t.promissor(Meteor,"loginWithMeteorDeveloperAccount"),this.loginWithMeetup=t.promissor(Meteor,"loginWithMeetup"),this.loginWithWeibo=t.promissor(Meteor,"loginWithWeibo")}}]),a.run(["$rootScope","$angularMeteorSettings","$$Core",function(e,t,r){var n=Object.getPrototypeOf(e);i["default"].extend(n,r),e.autorun(function(){Meteor.user&&(e.currentUser=Meteor.user(),e.loggingIn=Meteor.loggingIn())})}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=r(2),i=n(o),a=angular.module("angular-meteor.methods",["angular-meteor.utils","angular-meteor.settings"]);a.service("$meteorMethods",["$q","$meteorUtils","$angularMeteorSettings",function(e,t,r){this.call=function(){r.suppressWarnings||console.warn("[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var n=e.defer(),o=t.fulfill(n),a=i["default"].toArray(arguments).concat(o);return Meteor.call.apply(this,a),n.promise}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.session",["angular-meteor.utils","angular-meteor.settings"]);r.factory("$meteorSession",["$meteorUtils","$parse","$angularMeteorSettings",function(e,t,r){return function(n){return{bind:function(o,i){r.suppressWarnings||console.warn("[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var a=t(i),u=a.assign;e.autorun(o,function(){u(o,Session.get(n))}),o.$watch(i,function(e,t){Session.set(n,a(o))},!0)}}}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.camera",["angular-meteor.utils","angular-meteor.settings"]);r.service("$meteorCamera",["$q","$meteorUtils","$angularMeteorSettings",function(e,t,r){r.suppressWarnings||console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings");var n=Package["mdg:camera"];if(n){var o=n.MeteorCamera;this.getPicture=function(n){r.suppressWarnings||console.warn("[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings"),n=n||{};var i=e.defer();return o.getPicture(n,t.fulfill(i)),i.promise}}}])},function(e,t){"use strict";var r=angular.module("angular-meteor.stopper",["angular-meteor.subscribe"]);r.factory("$meteorStopper",["$q","$meteorSubscribe",function(e,t){function r(e){return function(){var t=Array.prototype.slice.call(arguments),n=e.apply(this,t);return angular.extend(n,r),n.$$scope=this,this.$on("$destroy",function(){n.stop(),n.subscription&&n.subscription.stop()}),n}}return r.subscribe=function(){var r=Array.prototype.slice.call(arguments);return this.subscription=t._subscribe(this.$$scope,e.defer(),r),this},r}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.utils=t.name=void 0;var o=r(2),i=n(o),a=t.name="angular-meteor.utilities",u=t.utils="$$utils";angular.module(a,[]).service(u,["$rootScope",function(e){function t(e,t,r){return function(){for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];var a=e.apply(t,o);return r.call(t,{result:a,args:o}),a}}function r(e,t,r){return i["default"].keys(e).reduce(function(o,i){return o[i]=n.bind(e[i],t,r),o},{})}var n=this;this.isCursor=function(e){return e instanceof Meteor.Collection.Cursor},this.isScope=function(t){return t instanceof e.constructor},this.isViewModel=function(e){return i["default"].isObject(e)&&e.$$dependencies},this.areSiblings=function(e,t){return i["default"].isObject(e)&&i["default"].isObject(t)&&Object.getPrototypeOf(e)===Object.getPrototypeOf(t)},this.bind=function(e,n,o){return o=i["default"].isFunction(o)?o:angular.noop,i["default"].isFunction(e)?t(e,n,o):i["default"].isObject(e)?r(e,n,o):e}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];return e._mixins.filter(a["default"].isFunction).forEach(function(e){e.call.apply(e,[t].concat(n))}),t},this._extend=function(r,n){var i=a["default"].defaults({},n,{pattern:/.*/}),u=i.pattern,s=i.context,l=e._mixins.map(function(e){var r=a["default"].keys(e).filter(function(e){return e.match(u)}).filter(function(t){return a["default"].isFunction(e[t])});return r.reduce(function(r,n){var o=e[n];return r[n]=function(){var e=s||this,r=t;t=this;try{for(var n=arguments.length,i=Array(n),a=0;n>a;a++)i[a]=arguments[a];return o.apply(e,i)}finally{t=r}},r},{})});return a["default"].extend.apply(a["default"],[r].concat(o(l)))},Object.defineProperty(this,"caller",{configurable:!0,enumerable:!0,get:function(){return t}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.name=void 0;var n=r(17),o=t.name="angular-meteor.scope";angular.module(o,[n.name]).run(["$rootScope",n.Mixer,function(e,t){var r=e.constructor,n=e.$new;t._autoExtend.push(r.prototype),t._autoConstruct.push(e),r.prototype.$new=function(){var e=n.apply(this,arguments);return t._construct(e)}}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);to;o++)n[o]=arguments[o];var i=n.pop();return a["default"].isFunction(i)&&(i=this.$bindToContext(r.caller,i)),(e=Meteor).call.apply(e,n.concat([i]))},n.applyMethod=function(){for(var e,t=arguments.length,n=Array(t),o=0;t>o;o++)n[o]=arguments[o];var i=n.pop();return a["default"].isFunction(i)&&(i=this.$bindToContext(r.caller,i)),(e=Meteor).apply.apply(e,n.concat([i]))},n.$$autoStop=function(e){var t=void 0,r=e.stop.bind(e),n=function(){return t(),r.apply(void 0,arguments)};return t=this.$on("$destroy",n),n},n.$$throttledDigest=function(){var e=!this.$$destroyed&&!this.$$phase&&!this.$root.$$phase;e&&this.$digest()},n.$$defer=function(){ +var t=e.defer();return t.promise=t.promise["finally"](this.$$throttledDigest.bind(this)),t},n.$bindToContext=function(e,r){return a["default"].isFunction(e)&&(r=e,e=this),t.bind(r,e,this.$$throttledDigest.bind(this))},n}])},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.reactive=t.ViewModel=t.name=void 0;var i=function(){function e(e,t){for(var r=0;r3?o-3:0),a=3;o>a;a++)i[a-3]=arguments[a];this.$$watchEntity.apply(this,[t,r,n].concat(i))}return t.$$dependencies[r].depend(),e(r)(t)},n.$$watchEntity=function(t,r,n){for(var o=this,i=u["default"].partial(e(r),t),a=i(),s=arguments.length,l=Array(s>3?s-3:0),c=3;s>c;c++)l[c-3]=arguments[c];n.call.apply(n,[this,i,function(e,n){var i=e!==a||e!==n;i&&o.$$changed(t,r)}].concat(l))},n.$$setFnHelper=function(e,r,n){var o=this,a=null,u=null,s=[];this.autorun(function(){var l=n.apply(e);Tracker.nonreactive(function(){if(t.isCursor(l)){var n=void 0;angular.isUndefined(e[r])&&o.$$setValHelper(e,r,[],!1),a&&(s=u.fetch(),a.stop(),a=null);var c=o.$$handleCursor(e,r,l);if(a=c.observation,n=c.data,0!==s.length){var f=i["default"].diff(s,n);e[r]=i["default"].patch(s,f)}else e[r]=n;u=l,s=n}else o.$$handleNonCursor(e,r,l);o.$$changed(e,r)})})},n.$$setValHelper=function(e,t,r){var n=this,o=arguments.length<=3||void 0===arguments[3]?!0:arguments[3];if(o){var i=u["default"].isObject(r);this.getReactively(e,t,i)}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return r},set:function(o){r=o,n.$$changed(e,t)}})},n.$$handleCursor=function(e,t,r){var n=this,o=[],a=r.observe({addedAt:function(r,i){return a?(e[t].splice(i,0,r),void n.$$changed(e,t)):void o.push(r)},changedAt:function(r,o,a){var u=i["default"].diff(e[t][a],r);i["default"].patch(e[t][a],u),n.$$changed(e,t)},movedTo:function(r,o,i){e[t].splice(o,1),e[t].splice(i,0,r),n.$$changed(e,t)},removedAt:function(r,o){e[t].splice(o,1),n.$$changed(e,t)}});return{observation:a,data:o}},n.$$handleNonCursor=function(e,r,n){var o=e[r];if(angular.isDefined(o)&&(delete e[r],o=null),angular.isUndefined(o))this.$$setValHelper(e,r,n);else if(t.areSiblings(o,n)){var a=i["default"].diff(o,n);i["default"].patch(o,a),this.$$changed(e,r)}else e[r]=n},n.$$depend=function(e,t){e.$$dependencies[t].depend()},n.$$changed=function(e,t){this.$$throttledDigest(),e.$$dependencies[t].changed()},n}])},function(e,r){e.exports=t},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.name="angular-templates";try{angular.module(r)}catch(n){angular.module(r,[])}}])}); //# sourceMappingURL=angular-meteor.min.js.map \ No newline at end of file diff --git a/dist/angular-meteor.min.js.map b/dist/angular-meteor.min.js.map index cb647d0c9..adbc87e68 100644 --- a/dist/angular-meteor.min.js.map +++ b/dist/angular-meteor.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/angular-meteor.min.js","webpack:///webpack/bootstrap f4a730afaadc2702df46","webpack:///./src/angular-meteor.js","webpack:///./src/lib/get-updates.js","webpack:///./src/lib/underscore.js","webpack:///external {\"root\":\"_\",\"amd\":\"underscore\",\"commonjs2\":\"underscore\",\"commonjs\":\"underscore\"}","webpack:///./src/lib/diff-array.js","webpack:///./src/modules/angular-meteor-settings.js","webpack:///./src/modules/angular-meteor-ironrouter.js","webpack:///./src/modules/angular-meteor-utils.js","webpack:///./src/modules/angular-meteor-subscribe.js","webpack:///./src/modules/angular-meteor-collection.js","webpack:///./src/modules/angular-meteor-object.js","webpack:///./src/modules/angular-meteor-user.js","webpack:///./src/modules/angular-meteor-methods.js","webpack:///./src/modules/angular-meteor-session.js","webpack:///./src/modules/angular-meteor-camera.js","webpack:///./src/modules/angular-meteor-stopper.js","webpack:///./src/modules/utils.js","webpack:///./src/modules/mixer.js","webpack:///./src/modules/scope.js","webpack:///./src/modules/core.js","webpack:///./src/modules/view-model.js","webpack:///./src/modules/reactive.js","webpack:///external \"jsondiffpatch\"","webpack:///./src/modules/templates.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_22__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","Object","defineProperty","value","_utils","_mixer","_scope","_core","_viewModel","_reactive","_templates","name","angular","run","Mixer","Core","ViewModel","Reactive","$Mixer","$$Core","$$ViewModel","$$Reactive","mixin","service","$meteorCollection","$meteorCollectionFS","$meteorObject","$meteorMethods","$meteorSession","$meteorSubscribe","$meteorUtils","$meteorCamera","$meteorUser","_this","collection","collectionFS","object","subscribe","session","autorun","getCollectionByName","getPicture","forEach","method","_interopRequireDefault","obj","__esModule","default","_underscore","_underscore2","utils","rip","level","reduce","clone","v","k","isObject","toPaths","keys","getKeyPaths","values","getDeepValues","map","isEmpty","isArray","subKey","flatten","arr","push","setFilled","assert","result","msg","throwErr","Error","getDifference","src","dst","isShallow","compare","srcKeys","dstKeys","chain","concat","uniq","without","diff","srcValue","dstValue","isDate","getTime","valueDiff","getUpdates","paths","set","createSet","unset","createUnset","pull","createPull","updates","undefinedKeys","getUndefinedKeys","omit","pick","arrKeyPaths","split","match","compact","filter","isUndefined","Package","underscore","_","_module","diffArray","lastSeqArray","seqArray","callbacks","preventNestedDiff","diffFn","minimongo","LocalCollection","_diffQueryOrderedChanges","DiffSequence","diffQueryOrderedChanges","oldObjIds","newObjIds","posOld","posNew","posCur","lengthCur","length","each","doc","i","_id","idStringify","addedBefore","before","position","pos","addedAt","movedBefore","prevPosition","movedTo","removed","removedAt","idString","has","idParse","newItem","oldItem","changedAt","_idStringify","MongoID","_idParse","shallow","deepCopyChanges","setDiff","$set","deepKey","setDeep","deepCopyRemovals","unsetDiff","$unset","unsetDeep","getChanges","newCollection","oldCollection","diffMethod","changes","added","changed","item","index","selector","modifier","fromIndex","toIndex","initialKeys","initial","lastKey","last","subObj","nextKey","isNumStr","parseInt","isHash","deepObj","getDeep","splice","getPrototypeOf","prototype","str","constant","suppressWarnings","$compile","$document","$rootScope","Router","isLoaded","onAfterAction","req","res","next","Tracker","afterFlush","$$phase","$apply","_typeof","Symbol","iterator","constructor","angularMeteorUtils","$q","$timeout","$angularMeteorSettings","self","scope","fn","console","warn","comp","firstRun","noop","$on","stop","stripDollarPrefixedKeys","data","Date","File","EJSON","toJSONValue","$type","FS","out","charAt","fulfill","deferred","boundError","boundResult","err","reject","resolve","promissor","defer","args","toArray","arguments","apply","promise","promiseAll","promises","allPromise","all","string","Mongo","Collection","get","findIndexById","foundDoc","find","colDoc","equals","indexOf","$meteorAutorun","angularMeteorSubscribe","_subscribe","subscription","lastArg","isFunction","onStop","_onStop","pop","onReady","$$state","status","Array","slice","Meteor","angularMeteorCollection","AngularMeteorCollection","curDefFunc","diffArrayFunc","autoClientSave","_serverBackup","_diffArrayFunc","_hObserve","_hNewCurAutorun","_hDataAutorun","isDefined","$$collection","cursor","extend","_startCurAutorun","onInvalidate","_stopCursor","_setAutoClientSave","_updateCursor","save","docs","useUnsetModifier","_upsertDoc","createFulfill","partial","docId","isExist","findOne","update","action","insert","_updateDiff","callback","setters","$pull","prop","puller","_updateParallel","done","after","affectedDocsNum","remove","keyOrDocs","keyOrDoc","pluck","check","Match","OneOf","String","ObjectID","key","_removeDoc","_stopObserving","observe","atIndex","_setServerUpdateMode","oldDoc","removedIndex","fetch","_serverMode","_unsetServerUpdateMode","_hUnsetTimeout","_unsetAutoClientSave","cancel","_saveChanges","_hRegAutoBind","$watch","nItems","oItems","addedDocs","reverse","descriptor","removedDocs","reactiveFunc","TypeError","bind","$meteorStopper","scopeProto","angularMeteorObject","AngularMeteorObject","options","helpers","_helpers","create","collectionExtension","$$options","$$id","_getId","$$internalProps","getRawObject","copy","custom","mods","when","reset","keepClientProps","clientProps","docKeys","docExtension","intersection","serverProps","removedKeys","difference","unregisterAutoDestroy","unregisterAutoBind","autorunComputation","fields","reactive","transform","isString","auto","_auto","_setAutos","angularMeteorUser","pack","Accounts","waitForUser","loggingIn","user","requireUser","requireValidUser","validatorFn","then","valid","loginWithPassword","createUser","changePassword","forgotPassword","resetPassword","verifyEmail","logout","logoutOtherClients","loginWithFacebook","loginWithTwitter","loginWithGoogle","loginWithGithub","loginWithMeteorDeveloperAccount","loginWithMeetup","loginWithWeibo","ScopeProto","currentUser","angularMeteorMethods","angularMeteorSession","$parse","model","getter","setter","assign","Session","angularMeteorCamera","MeteorCamera","angularMeteorStopper","$meteorEntity","meteorEntity","$$scope","undefined","bindFn","context","tap","_len","_key","bindObj","bound","isCursor","Cursor","isScope","isViewModel","$$dependencies","areSiblings","obj1","obj2","_toConsumableArray","arr2","from","caller","_mixins","_autoExtend","_autoConstruct","union","_extend","_construct","_mixout","_$defaults","defaults","pattern","mixins","boundMixin","methodName","methodHandler","methodContext","recentCaller","_len2","_key2","configurable","enumerable","Scope","$new","$$utils","$bindToContext","computation","$$autoStop","subName","cb","_Meteor","ready","subscriptionId","callMethod","_Meteor2","applyMethod","_Meteor3","stoppable","$$throttledDigest","isDigestable","$$destroyed","$root","$digest","$$defer","_classCallCheck","instance","Constructor","_createClass","defineProperties","target","props","writable","protoProps","staticProps","viewModel","vm","_attached","_vm","_jsondiffpatch","_jsondiffpatch2","Dependency","$$setFnHelper","getReactively","isDeep","isBoolean","$$reactivateEntity","getCollectionReactively","$watchCollection","watcher","watcherArgs","$$watchEntity","depend","_this2","getVal","initialVal","val","oldVal","hasChanged","$$changed","_this3","activeObservation","lastModel","lastModelData","nonreactive","modelData","$$setValHelper","handle","$$handleCursor","observation","patch","$$handleNonCursor","_this4","watch","newVal","_this5","$$depend","e"],"mappings":"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","file":"dist/angular-meteor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"jsondiffpatch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angularMeteor\"] = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse\n\t\troot[\"angularMeteor\"] = factory(root[\"_\"], root[\"jsondiffpatch\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_22__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","/*! angular-meteor v1.3.9 */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"jsondiffpatch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angularMeteor\"] = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse\n\t\troot[\"angularMeteor\"] = factory(root[\"_\"], root[\"jsondiffpatch\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_22__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\t__webpack_require__(1);\n\t\n\t__webpack_require__(4);\n\t\n\t__webpack_require__(5);\n\t\n\t__webpack_require__(6);\n\t\n\t__webpack_require__(7);\n\t\n\t__webpack_require__(8);\n\t\n\t__webpack_require__(9);\n\t\n\t__webpack_require__(10);\n\t\n\t__webpack_require__(11);\n\t\n\t__webpack_require__(12);\n\t\n\t__webpack_require__(13);\n\t\n\t__webpack_require__(14);\n\t\n\t__webpack_require__(15);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar _scope = __webpack_require__(18);\n\t\n\tvar _core = __webpack_require__(19);\n\t\n\tvar _viewModel = __webpack_require__(20);\n\t\n\tvar _reactive = __webpack_require__(21);\n\t\n\tvar _templates = __webpack_require__(23);\n\t\n\t// legacy\n\t// lib\n\t\n\t\n\tvar name = 'angular-meteor';\n\t\n\t// new\n\t\n\texports.default = name;\n\t\n\t\n\tangular.module(name, [\n\t// new\n\t_utils.name, _mixer.name, _scope.name, _core.name, _viewModel.name, _reactive.name, _templates.name,\n\t\n\t// legacy\n\t'angular-meteor.ironrouter', 'angular-meteor.utils', 'angular-meteor.subscribe', 'angular-meteor.collection', 'angular-meteor.object', 'angular-meteor.user', 'angular-meteor.methods', 'angular-meteor.session', 'angular-meteor.camera']).run([_mixer.Mixer, _core.Core, _viewModel.ViewModel, _reactive.Reactive, function ($Mixer, $$Core, $$ViewModel, $$Reactive) {\n\t // Load all mixins\n\t $Mixer.mixin($$Core).mixin($$ViewModel).mixin($$Reactive);\n\t}])\n\t\n\t// legacy\n\t// Putting all services under $meteor service for syntactic sugar\n\t.service('$meteor', ['$meteorCollection', '$meteorCollectionFS', '$meteorObject', '$meteorMethods', '$meteorSession', '$meteorSubscribe', '$meteorUtils', '$meteorCamera', '$meteorUser', function ($meteorCollection, $meteorCollectionFS, $meteorObject, $meteorMethods, $meteorSession, $meteorSubscribe, $meteorUtils, $meteorCamera, $meteorUser) {\n\t var _this = this;\n\t\n\t this.collection = $meteorCollection;\n\t this.collectionFS = $meteorCollectionFS;\n\t this.object = $meteorObject;\n\t this.subscribe = $meteorSubscribe.subscribe;\n\t this.call = $meteorMethods.call;\n\t this.session = $meteorSession;\n\t this.autorun = $meteorUtils.autorun;\n\t this.getCollectionByName = $meteorUtils.getCollectionByName;\n\t this.getPicture = $meteorCamera.getPicture;\n\t\n\t // $meteorUser\n\t ['loginWithPassword', 'requireUser', 'requireValidUser', 'waitForUser', 'createUser', 'changePassword', 'forgotPassword', 'resetPassword', 'verifyEmail', 'loginWithMeteorDeveloperAccount', 'loginWithFacebook', 'loginWithGithub', 'loginWithGoogle', 'loginWithMeetup', 'loginWithTwitter', 'loginWithWeibo', 'logout', 'logoutOtherClients'].forEach(function (method) {\n\t _this[method] = $meteorUser[method];\n\t });\n\t}]);\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict';\n\t\n\t// https://github.com/DAB0mB/get-updates\n\t/*global\n\t angular, _\n\t */\n\t\n\t(function () {\n\t var module = angular.module('getUpdates', []);\n\t\n\t var utils = function () {\n\t var rip = function rip(obj, level) {\n\t if (level < 1) return {};\n\t\n\t return _underscore2.default.reduce(obj, function (clone, v, k) {\n\t v = _underscore2.default.isObject(v) ? rip(v, --level) : v;\n\t clone[k] = v;\n\t return clone;\n\t }, {});\n\t };\n\t\n\t var toPaths = function toPaths(obj) {\n\t var keys = getKeyPaths(obj);\n\t var values = getDeepValues(obj);\n\t return _underscore2.default.object(keys, values);\n\t };\n\t\n\t var getKeyPaths = function getKeyPaths(obj) {\n\t var keys = _underscore2.default.keys(obj).map(function (k) {\n\t var v = obj[k];\n\t if (!_underscore2.default.isObject(v) || _underscore2.default.isEmpty(v) || _underscore2.default.isArray(v)) return k;\n\t\n\t return getKeyPaths(v).map(function (subKey) {\n\t return k + '.' + subKey;\n\t });\n\t });\n\t\n\t return _underscore2.default.flatten(keys);\n\t };\n\t\n\t var getDeepValues = function getDeepValues(obj, arr) {\n\t arr = arr || [];\n\t\n\t _underscore2.default.values(obj).forEach(function (v) {\n\t if (!_underscore2.default.isObject(v) || _underscore2.default.isEmpty(v) || _underscore2.default.isArray(v)) arr.push(v);else getDeepValues(v, arr);\n\t });\n\t\n\t return arr;\n\t };\n\t\n\t var flatten = function flatten(arr) {\n\t return arr.reduce(function (flattened, v, i) {\n\t if (_underscore2.default.isArray(v) && !_underscore2.default.isEmpty(v)) flattened.push.apply(flattened, flatten(v));else flattened.push(v);\n\t\n\t return flattened;\n\t }, []);\n\t };\n\t\n\t var setFilled = function setFilled(obj, k, v) {\n\t if (!_underscore2.default.isEmpty(v)) obj[k] = v;\n\t };\n\t\n\t var assert = function assert(result, msg) {\n\t if (!result) throwErr(msg);\n\t };\n\t\n\t var throwErr = function throwErr(msg) {\n\t throw Error('get-updates error - ' + msg);\n\t };\n\t\n\t return {\n\t rip: rip,\n\t toPaths: toPaths,\n\t getKeyPaths: getKeyPaths,\n\t getDeepValues: getDeepValues,\n\t setFilled: setFilled,\n\t assert: assert,\n\t throwErr: throwErr\n\t };\n\t }();\n\t\n\t var getDifference = function () {\n\t var getDifference = function getDifference(src, dst, isShallow) {\n\t var level;\n\t\n\t if (isShallow > 1) level = isShallow;else if (isShallow) level = 1;\n\t\n\t if (level) {\n\t src = utils.rip(src, level);\n\t dst = utils.rip(dst, level);\n\t }\n\t\n\t return compare(src, dst);\n\t };\n\t\n\t var compare = function compare(src, dst) {\n\t var srcKeys = _underscore2.default.keys(src);\n\t var dstKeys = _underscore2.default.keys(dst);\n\t\n\t var keys = _underscore2.default.chain([]).concat(srcKeys).concat(dstKeys).uniq().without('$$hashKey').value();\n\t\n\t return keys.reduce(function (diff, k) {\n\t var srcValue = src[k];\n\t var dstValue = dst[k];\n\t\n\t if (_underscore2.default.isDate(srcValue) && _underscore2.default.isDate(dstValue)) {\n\t if (srcValue.getTime() != dstValue.getTime()) diff[k] = dstValue;\n\t }\n\t\n\t if (_underscore2.default.isObject(srcValue) && _underscore2.default.isObject(dstValue)) {\n\t var valueDiff = getDifference(srcValue, dstValue);\n\t utils.setFilled(diff, k, valueDiff);\n\t } else if (srcValue !== dstValue) {\n\t diff[k] = dstValue;\n\t }\n\t\n\t return diff;\n\t }, {});\n\t };\n\t\n\t return getDifference;\n\t }();\n\t\n\t var getUpdates = function () {\n\t var getUpdates = function getUpdates(src, dst, isShallow) {\n\t utils.assert(_underscore2.default.isObject(src), 'first argument must be an object');\n\t utils.assert(_underscore2.default.isObject(dst), 'second argument must be an object');\n\t\n\t var diff = getDifference(src, dst, isShallow);\n\t var paths = utils.toPaths(diff);\n\t\n\t var set = createSet(paths);\n\t var unset = createUnset(paths);\n\t var pull = createPull(unset);\n\t\n\t var updates = {};\n\t utils.setFilled(updates, '$set', set);\n\t utils.setFilled(updates, '$unset', unset);\n\t utils.setFilled(updates, '$pull', pull);\n\t\n\t return updates;\n\t };\n\t\n\t var createSet = function createSet(paths) {\n\t var undefinedKeys = getUndefinedKeys(paths);\n\t return _underscore2.default.omit(paths, undefinedKeys);\n\t };\n\t\n\t var createUnset = function createUnset(paths) {\n\t var undefinedKeys = getUndefinedKeys(paths);\n\t var unset = _underscore2.default.pick(paths, undefinedKeys);\n\t\n\t return _underscore2.default.reduce(unset, function (result, v, k) {\n\t result[k] = true;\n\t return result;\n\t }, {});\n\t };\n\t\n\t var createPull = function createPull(unset) {\n\t var arrKeyPaths = _underscore2.default.keys(unset).map(function (k) {\n\t var split = k.match(/(.*)\\.\\d+$/);\n\t return split && split[1];\n\t });\n\t\n\t return _underscore2.default.compact(arrKeyPaths).reduce(function (pull, k) {\n\t pull[k] = null;\n\t return pull;\n\t }, {});\n\t };\n\t\n\t var getUndefinedKeys = function getUndefinedKeys(obj) {\n\t return _underscore2.default.keys(obj).filter(function (k) {\n\t var v = obj[k];\n\t return _underscore2.default.isUndefined(v);\n\t });\n\t };\n\t\n\t return getUpdates;\n\t }();\n\t\n\t module.value('getUpdates', getUpdates);\n\t})();\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _underscore = __webpack_require__(3);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tif (typeof _underscore2.default === 'undefined') {\n\t if (typeof Package.underscore === 'undefined') {\n\t throw new Error('underscore is missing');\n\t }\n\t}\n\t\n\texports.default = _underscore2.default || Package.underscore._;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Package\n\t */\n\t\n\tvar _module = angular.module('diffArray', ['getUpdates']);\n\t\n\t_module.factory('diffArray', ['getUpdates', function (getUpdates) {\n\t var LocalCollection = Package.minimongo.LocalCollection;\n\t var idStringify = LocalCollection._idStringify || Package['mongo-id'].MongoID.idStringify;\n\t var idParse = LocalCollection._idParse || Package['mongo-id'].MongoID.idParse;\n\t\n\t // Calculates the differences between `lastSeqArray` and\n\t // `seqArray` and calls appropriate functions from `callbacks`.\n\t // Reuses Minimongo's diff algorithm implementation.\n\t // XXX Should be replaced with the original diffArray function here:\n\t // https://github.com/meteor/meteor/blob/devel/packages/observe-sequence/observe_sequence.js#L152\n\t // When it will become nested as well, tracking here: https://github.com/meteor/meteor/issues/3764\n\t function diffArray(lastSeqArray, seqArray, callbacks, preventNestedDiff) {\n\t preventNestedDiff = !!preventNestedDiff;\n\t\n\t var diffFn = Package.minimongo.LocalCollection._diffQueryOrderedChanges || Package['diff-sequence'].DiffSequence.diffQueryOrderedChanges;\n\t\n\t var oldObjIds = [];\n\t var newObjIds = [];\n\t var posOld = {}; // maps from idStringify'd ids\n\t var posNew = {}; // ditto\n\t var posCur = {};\n\t var lengthCur = lastSeqArray.length;\n\t\n\t _underscore2.default.each(seqArray, function (doc, i) {\n\t newObjIds.push({ _id: doc._id });\n\t posNew[idStringify(doc._id)] = i;\n\t });\n\t\n\t _underscore2.default.each(lastSeqArray, function (doc, i) {\n\t oldObjIds.push({ _id: doc._id });\n\t posOld[idStringify(doc._id)] = i;\n\t posCur[idStringify(doc._id)] = i;\n\t });\n\t\n\t // Arrays can contain arbitrary objects. We don't diff the\n\t // objects. Instead we always fire 'changedAt' callback on every\n\t // object. The consumer of `observe-sequence` should deal with\n\t // it appropriately.\n\t diffFn(oldObjIds, newObjIds, {\n\t addedBefore: function addedBefore(id, doc, before) {\n\t var position = before ? posCur[idStringify(before)] : lengthCur;\n\t\n\t _underscore2.default.each(posCur, function (pos, id) {\n\t if (pos >= position) posCur[id]++;\n\t });\n\t\n\t lengthCur++;\n\t posCur[idStringify(id)] = position;\n\t\n\t callbacks.addedAt(id, seqArray[posNew[idStringify(id)]], position, before);\n\t },\n\t\n\t movedBefore: function movedBefore(id, before) {\n\t var prevPosition = posCur[idStringify(id)];\n\t var position = before ? posCur[idStringify(before)] : lengthCur - 1;\n\t\n\t _underscore2.default.each(posCur, function (pos, id) {\n\t if (pos >= prevPosition && pos <= position) posCur[id]--;else if (pos <= prevPosition && pos >= position) posCur[id]++;\n\t });\n\t\n\t posCur[idStringify(id)] = position;\n\t\n\t callbacks.movedTo(id, seqArray[posNew[idStringify(id)]], prevPosition, position, before);\n\t },\n\t removed: function removed(id) {\n\t var prevPosition = posCur[idStringify(id)];\n\t\n\t _underscore2.default.each(posCur, function (pos, id) {\n\t if (pos >= prevPosition) posCur[id]--;\n\t });\n\t\n\t delete posCur[idStringify(id)];\n\t lengthCur--;\n\t\n\t callbacks.removedAt(id, lastSeqArray[posOld[idStringify(id)]], prevPosition);\n\t }\n\t });\n\t\n\t _underscore2.default.each(posNew, function (pos, idString) {\n\t if (!_underscore2.default.has(posOld, idString)) return;\n\t\n\t var id = idParse(idString);\n\t var newItem = seqArray[pos] || {};\n\t var oldItem = lastSeqArray[posOld[idString]];\n\t var updates = getUpdates(oldItem, newItem, preventNestedDiff);\n\t\n\t if (!_underscore2.default.isEmpty(updates)) callbacks.changedAt(id, updates, pos, oldItem);\n\t });\n\t }\n\t\n\t diffArray.shallow = function (lastSeqArray, seqArray, callbacks) {\n\t return diffArray(lastSeqArray, seqArray, callbacks, true);\n\t };\n\t\n\t diffArray.deepCopyChanges = function (oldItem, newItem) {\n\t var setDiff = getUpdates(oldItem, newItem).$set;\n\t\n\t _underscore2.default.each(setDiff, function (v, deepKey) {\n\t setDeep(oldItem, deepKey, v);\n\t });\n\t };\n\t\n\t diffArray.deepCopyRemovals = function (oldItem, newItem) {\n\t var unsetDiff = getUpdates(oldItem, newItem).$unset;\n\t\n\t _underscore2.default.each(unsetDiff, function (v, deepKey) {\n\t unsetDeep(oldItem, deepKey);\n\t });\n\t };\n\t\n\t // Finds changes between two collections\n\t diffArray.getChanges = function (newCollection, oldCollection, diffMethod) {\n\t var changes = { added: [], removed: [], changed: [] };\n\t\n\t diffMethod(oldCollection, newCollection, {\n\t addedAt: function addedAt(id, item, index) {\n\t changes.added.push({ item: item, index: index });\n\t },\n\t\n\t removedAt: function removedAt(id, item, index) {\n\t changes.removed.push({ item: item, index: index });\n\t },\n\t\n\t changedAt: function changedAt(id, updates, index, oldItem) {\n\t changes.changed.push({ selector: id, modifier: updates });\n\t },\n\t\n\t movedTo: function movedTo(id, item, fromIndex, toIndex) {\n\t // XXX do we need this?\n\t }\n\t });\n\t\n\t return changes;\n\t };\n\t\n\t var setDeep = function setDeep(obj, deepKey, v) {\n\t var split = deepKey.split('.');\n\t var initialKeys = _underscore2.default.initial(split);\n\t var lastKey = _underscore2.default.last(split);\n\t\n\t initialKeys.reduce(function (subObj, k, i) {\n\t var nextKey = split[i + 1];\n\t\n\t if (isNumStr(nextKey)) {\n\t if (subObj[k] === null) subObj[k] = [];\n\t if (subObj[k].length == parseInt(nextKey)) subObj[k].push(null);\n\t } else if (subObj[k] === null || !isHash(subObj[k])) {\n\t subObj[k] = {};\n\t }\n\t\n\t return subObj[k];\n\t }, obj);\n\t\n\t var deepObj = getDeep(obj, initialKeys);\n\t deepObj[lastKey] = v;\n\t return v;\n\t };\n\t\n\t var unsetDeep = function unsetDeep(obj, deepKey) {\n\t var split = deepKey.split('.');\n\t var initialKeys = _underscore2.default.initial(split);\n\t var lastKey = _underscore2.default.last(split);\n\t var deepObj = getDeep(obj, initialKeys);\n\t\n\t if (_underscore2.default.isArray(deepObj) && isNumStr(lastKey)) return !!deepObj.splice(lastKey, 1);else return delete deepObj[lastKey];\n\t };\n\t\n\t var getDeep = function getDeep(obj, keys) {\n\t return keys.reduce(function (subObj, k) {\n\t return subObj[k];\n\t }, obj);\n\t };\n\t\n\t var isHash = function isHash(obj) {\n\t return _underscore2.default.isObject(obj) && Object.getPrototypeOf(obj) === Object.prototype;\n\t };\n\t\n\t var isNumStr = function isNumStr(str) {\n\t return str.match(/^\\d+$/);\n\t };\n\t\n\t return diffArray;\n\t}]);\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tangular.module('angular-meteor.settings', []).constant('$angularMeteorSettings', {\n\t suppressWarnings: true\n\t});\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tangular.module('angular-meteor.ironrouter', []).run(['$compile', '$document', '$rootScope', function ($compile, $document, $rootScope) {\n\t var Router = (Package['iron:router'] || {}).Router;\n\t if (!Router) return;\n\t\n\t var isLoaded = false;\n\t\n\t // Recompile after iron:router builds page\n\t Router.onAfterAction(function (req, res, next) {\n\t Tracker.afterFlush(function () {\n\t if (isLoaded) return;\n\t $compile($document)($rootScope);\n\t if (!$rootScope.$$phase) $rootScope.$apply();\n\t isLoaded = true;\n\t });\n\t });\n\t}]);\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; }; /*global\n\t angular, _, Tracker, EJSON, FS, Mongo\n\t */\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict';\n\t\n\tvar angularMeteorUtils = angular.module('angular-meteor.utils', ['angular-meteor.settings']);\n\t\n\tangularMeteorUtils.service('$meteorUtils', ['$q', '$timeout', '$angularMeteorSettings', function ($q, $timeout, $angularMeteorSettings) {\n\t\n\t var self = this;\n\t\n\t this.autorun = function (scope, fn) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t // wrapping around Deps.autorun\n\t var comp = Tracker.autorun(function (c) {\n\t fn(c);\n\t // this is run immediately for the first call\n\t // but after that, we need to $apply to start Angular digest\n\t if (!c.firstRun) $timeout(angular.noop, 0);\n\t });\n\t\n\t // stop autorun when scope is destroyed\n\t scope.$on('$destroy', function () {\n\t comp.stop();\n\t });\n\t\n\t // return autorun object so that it can be stopped manually\n\t return comp;\n\t };\n\t\n\t // Borrowed from angularFire\n\t // https://github.com/firebase/angularfire/blob/master/src/utils.js#L445-L454\n\t this.stripDollarPrefixedKeys = function (data) {\n\t if (!_underscore2.default.isObject(data) || data instanceof Date || data instanceof File || EJSON.toJSONValue(data).$type === 'oid' || (typeof FS === 'undefined' ? 'undefined' : _typeof(FS)) === 'object' && data instanceof FS.File) return data;\n\t\n\t var out = _underscore2.default.isArray(data) ? [] : {};\n\t\n\t _underscore2.default.each(data, function (v, k) {\n\t if (typeof k !== 'string' || k.charAt(0) !== '$') out[k] = self.stripDollarPrefixedKeys(v);\n\t });\n\t\n\t return out;\n\t };\n\t\n\t // Returns a callback which fulfills promise\n\t this.fulfill = function (deferred, boundError, boundResult) {\n\t return function (err, result) {\n\t if (err) deferred.reject(boundError == null ? err : boundError);else if (typeof boundResult == \"function\") deferred.resolve(boundResult == null ? result : boundResult(result));else deferred.resolve(boundResult == null ? result : boundResult);\n\t };\n\t };\n\t\n\t // creates a function which invokes method with the given arguments and returns a promise\n\t this.promissor = function (obj, method) {\n\t return function () {\n\t var deferred = $q.defer();\n\t var fulfill = self.fulfill(deferred);\n\t var args = _underscore2.default.toArray(arguments).concat(fulfill);\n\t obj[method].apply(obj, args);\n\t return deferred.promise;\n\t };\n\t };\n\t\n\t // creates a $q.all() promise and call digestion loop on fulfillment\n\t this.promiseAll = function (promises) {\n\t var allPromise = $q.all(promises);\n\t\n\t allPromise.finally(function () {\n\t // calls digestion loop with no conflicts\n\t $timeout(angular.noop);\n\t });\n\t\n\t return allPromise;\n\t };\n\t\n\t this.getCollectionByName = function (string) {\n\t return Mongo.Collection.get(string);\n\t };\n\t\n\t this.findIndexById = function (collection, doc) {\n\t var foundDoc = _underscore2.default.find(collection, function (colDoc) {\n\t // EJSON.equals used to compare Mongo.ObjectIDs and Strings.\n\t return EJSON.equals(colDoc._id, doc._id);\n\t });\n\t\n\t return _underscore2.default.indexOf(collection, foundDoc);\n\t };\n\t}]);\n\t\n\tangularMeteorUtils.run(['$rootScope', '$meteorUtils', function ($rootScope, $meteorUtils) {\n\t Object.getPrototypeOf($rootScope).$meteorAutorun = function (fn) {\n\t return $meteorUtils.autorun(this, fn);\n\t };\n\t}]);\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular, Meteor\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorSubscribe = angular.module('angular-meteor.subscribe', ['angular-meteor.settings']);\n\t\n\tangularMeteorSubscribe.service('$meteorSubscribe', ['$q', '$angularMeteorSettings', function ($q, $angularMeteorSettings) {\n\t\n\t var self = this;\n\t\n\t this._subscribe = function (scope, deferred, args) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var subscription = null;\n\t var lastArg = args[args.length - 1];\n\t\n\t // User supplied onStop callback\n\t // save it for later use and remove\n\t // from subscription arguments\n\t if (angular.isObject(lastArg) && angular.isFunction(lastArg.onStop)) {\n\t var _onStop = lastArg.onStop;\n\t\n\t args.pop();\n\t }\n\t\n\t args.push({\n\t onReady: function onReady() {\n\t deferred.resolve(subscription);\n\t },\n\t onStop: function onStop(err) {\n\t if (!deferred.promise.$$state.status) {\n\t if (err) deferred.reject(err);else deferred.reject(new Meteor.Error(\"Subscription Stopped\", \"Subscription stopped by a call to stop method. Either by the client or by the server.\"));\n\t } else if (_onStop)\n\t // After promise was resolved or rejected\n\t // call user supplied onStop callback.\n\t _onStop.apply(this, Array.prototype.slice.call(arguments));\n\t }\n\t });\n\t\n\t subscription = Meteor.subscribe.apply(scope, args);\n\t\n\t return subscription;\n\t };\n\t\n\t this.subscribe = function () {\n\t var deferred = $q.defer();\n\t var args = Array.prototype.slice.call(arguments);\n\t var subscription = null;\n\t\n\t self._subscribe(this, deferred, args);\n\t\n\t return deferred.promise;\n\t };\n\t}]);\n\t\n\tangularMeteorSubscribe.run(['$rootScope', '$q', '$meteorSubscribe', function ($rootScope, $q, $meteorSubscribe) {\n\t Object.getPrototypeOf($rootScope).$meteorSubscribe = function () {\n\t var deferred = $q.defer();\n\t var args = Array.prototype.slice.call(arguments);\n\t\n\t var subscription = $meteorSubscribe._subscribe(this, deferred, args);\n\t\n\t this.$on('$destroy', function () {\n\t subscription.stop();\n\t });\n\t\n\t return deferred.promise;\n\t };\n\t}]);\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Tracker, check, Match, Mongo\n\t */\n\t\n\tvar angularMeteorCollection = angular.module('angular-meteor.collection', ['angular-meteor.stopper', 'angular-meteor.subscribe', 'angular-meteor.utils', 'diffArray', 'angular-meteor.settings']);\n\t\n\t// The reason angular meteor collection is a factory function and not something\n\t// that inherit from array comes from here:\n\t// http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/\n\t// We went with the direct extensions approach.\n\tangularMeteorCollection.factory('AngularMeteorCollection', ['$q', '$meteorSubscribe', '$meteorUtils', '$rootScope', '$timeout', 'diffArray', '$angularMeteorSettings', function ($q, $meteorSubscribe, $meteorUtils, $rootScope, $timeout, diffArray, $angularMeteorSettings) {\n\t\n\t function AngularMeteorCollection(curDefFunc, collection, diffArrayFunc, autoClientSave) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var data = [];\n\t // Server backup data to evaluate what changes come from client\n\t // after each server update.\n\t data._serverBackup = [];\n\t // Array differ function.\n\t data._diffArrayFunc = diffArrayFunc;\n\t // Handler of the cursor observer.\n\t data._hObserve = null;\n\t // On new cursor autorun handler\n\t // (autorun for reactive variables).\n\t data._hNewCurAutorun = null;\n\t // On new data autorun handler\n\t // (autorun for cursor.fetch).\n\t data._hDataAutorun = null;\n\t\n\t if (angular.isDefined(collection)) {\n\t data.$$collection = collection;\n\t } else {\n\t var cursor = curDefFunc();\n\t data.$$collection = $meteorUtils.getCollectionByName(cursor.collection.name);\n\t }\n\t\n\t _underscore2.default.extend(data, AngularMeteorCollection);\n\t data._startCurAutorun(curDefFunc, autoClientSave);\n\t\n\t return data;\n\t }\n\t\n\t AngularMeteorCollection._startCurAutorun = function (curDefFunc, autoClientSave) {\n\t var self = this;\n\t\n\t self._hNewCurAutorun = Tracker.autorun(function () {\n\t // When the reactive func gets recomputated we need to stop any previous\n\t // observeChanges.\n\t Tracker.onInvalidate(function () {\n\t self._stopCursor();\n\t });\n\t\n\t if (autoClientSave) self._setAutoClientSave();\n\t self._updateCursor(curDefFunc(), autoClientSave);\n\t });\n\t };\n\t\n\t AngularMeteorCollection.subscribe = function () {\n\t $meteorSubscribe.subscribe.apply(this, arguments);\n\t return this;\n\t };\n\t\n\t AngularMeteorCollection.save = function (docs, useUnsetModifier) {\n\t // save whole collection\n\t if (!docs) docs = this;\n\t // save single doc\n\t docs = [].concat(docs);\n\t\n\t var promises = docs.map(function (doc) {\n\t return this._upsertDoc(doc, useUnsetModifier);\n\t }, this);\n\t\n\t return $meteorUtils.promiseAll(promises);\n\t };\n\t\n\t AngularMeteorCollection._upsertDoc = function (doc, useUnsetModifier) {\n\t var deferred = $q.defer();\n\t var collection = this.$$collection;\n\t var createFulfill = _underscore2.default.partial($meteorUtils.fulfill, deferred, null);\n\t\n\t // delete $$hashkey\n\t doc = $meteorUtils.stripDollarPrefixedKeys(doc);\n\t var docId = doc._id;\n\t var isExist = collection.findOne(docId);\n\t\n\t // update\n\t if (isExist) {\n\t // Deletes _id property (from the copy) so that\n\t // it can be $set using update.\n\t delete doc._id;\n\t var modifier = useUnsetModifier ? { $unset: doc } : { $set: doc };\n\t // NOTE: do not use #upsert() method, since it does not exist in some collections\n\t collection.update(docId, modifier, createFulfill(function () {\n\t return { _id: docId, action: 'updated' };\n\t }));\n\t }\n\t // insert\n\t else {\n\t collection.insert(doc, createFulfill(function (id) {\n\t return { _id: id, action: 'inserted' };\n\t }));\n\t }\n\t\n\t return deferred.promise;\n\t };\n\t\n\t // performs $pull operations parallely.\n\t // used for handling splice operations returned from getUpdates() to prevent conflicts.\n\t // see issue: https://github.com/Urigo/angular-meteor/issues/793\n\t AngularMeteorCollection._updateDiff = function (selector, update, callback) {\n\t callback = callback || angular.noop;\n\t var setters = _underscore2.default.omit(update, '$pull');\n\t var updates = [setters];\n\t\n\t _underscore2.default.each(update.$pull, function (pull, prop) {\n\t var puller = {};\n\t puller[prop] = pull;\n\t updates.push({ $pull: puller });\n\t });\n\t\n\t this._updateParallel(selector, updates, callback);\n\t };\n\t\n\t // performs each update operation parallely\n\t AngularMeteorCollection._updateParallel = function (selector, updates, callback) {\n\t var self = this;\n\t var done = _underscore2.default.after(updates.length, callback);\n\t\n\t var next = function next(err, affectedDocsNum) {\n\t if (err) return callback(err);\n\t done(null, affectedDocsNum);\n\t };\n\t\n\t _underscore2.default.each(updates, function (update) {\n\t self.$$collection.update(selector, update, next);\n\t });\n\t };\n\t\n\t AngularMeteorCollection.remove = function (keyOrDocs) {\n\t var keys;\n\t\n\t // remove whole collection\n\t if (!keyOrDocs) {\n\t keys = _underscore2.default.pluck(this, '_id');\n\t }\n\t // remove docs\n\t else {\n\t keyOrDocs = [].concat(keyOrDocs);\n\t\n\t keys = _underscore2.default.map(keyOrDocs, function (keyOrDoc) {\n\t return keyOrDoc._id || keyOrDoc;\n\t });\n\t }\n\t\n\t // Checks if all keys are correct.\n\t check(keys, [Match.OneOf(String, Mongo.ObjectID)]);\n\t\n\t var promises = keys.map(function (key) {\n\t return this._removeDoc(key);\n\t }, this);\n\t\n\t return $meteorUtils.promiseAll(promises);\n\t };\n\t\n\t AngularMeteorCollection._removeDoc = function (id) {\n\t var deferred = $q.defer();\n\t var collection = this.$$collection;\n\t var fulfill = $meteorUtils.fulfill(deferred, null, { _id: id, action: 'removed' });\n\t collection.remove(id, fulfill);\n\t return deferred.promise;\n\t };\n\t\n\t AngularMeteorCollection._updateCursor = function (cursor, autoClientSave) {\n\t var self = this;\n\t // XXX - consider adding an option for a non-orderd result for faster performance\n\t if (self._hObserve) self._stopObserving();\n\t\n\t self._hObserve = cursor.observe({\n\t addedAt: function addedAt(doc, atIndex) {\n\t self.splice(atIndex, 0, doc);\n\t self._serverBackup.splice(atIndex, 0, doc);\n\t self._setServerUpdateMode();\n\t },\n\t\n\t changedAt: function changedAt(doc, oldDoc, atIndex) {\n\t diffArray.deepCopyChanges(self[atIndex], doc);\n\t diffArray.deepCopyRemovals(self[atIndex], doc);\n\t self._serverBackup[atIndex] = self[atIndex];\n\t self._setServerUpdateMode();\n\t },\n\t\n\t movedTo: function movedTo(doc, fromIndex, toIndex) {\n\t self.splice(fromIndex, 1);\n\t self.splice(toIndex, 0, doc);\n\t self._serverBackup.splice(fromIndex, 1);\n\t self._serverBackup.splice(toIndex, 0, doc);\n\t self._setServerUpdateMode();\n\t },\n\t\n\t removedAt: function removedAt(oldDoc) {\n\t var removedIndex = $meteorUtils.findIndexById(self, oldDoc);\n\t\n\t if (removedIndex != -1) {\n\t self.splice(removedIndex, 1);\n\t self._serverBackup.splice(removedIndex, 1);\n\t self._setServerUpdateMode();\n\t } else {\n\t // If it's been removed on client then it's already not in collection\n\t // itself but still is in the _serverBackup.\n\t removedIndex = $meteorUtils.findIndexById(self._serverBackup, oldDoc);\n\t\n\t if (removedIndex != -1) {\n\t self._serverBackup.splice(removedIndex, 1);\n\t }\n\t }\n\t }\n\t });\n\t\n\t self._hDataAutorun = Tracker.autorun(function () {\n\t cursor.fetch();\n\t if (self._serverMode) self._unsetServerUpdateMode(autoClientSave);\n\t });\n\t };\n\t\n\t AngularMeteorCollection._stopObserving = function () {\n\t this._hObserve.stop();\n\t this._hDataAutorun.stop();\n\t delete this._serverMode;\n\t delete this._hUnsetTimeout;\n\t };\n\t\n\t AngularMeteorCollection._setServerUpdateMode = function (name) {\n\t this._serverMode = true;\n\t // To simplify server update logic, we don't follow\n\t // updates from the client at the same time.\n\t this._unsetAutoClientSave();\n\t };\n\t\n\t // Here we use $timeout to combine multiple updates that go\n\t // each one after another.\n\t AngularMeteorCollection._unsetServerUpdateMode = function (autoClientSave) {\n\t var self = this;\n\t\n\t if (self._hUnsetTimeout) {\n\t $timeout.cancel(self._hUnsetTimeout);\n\t self._hUnsetTimeout = null;\n\t }\n\t\n\t self._hUnsetTimeout = $timeout(function () {\n\t self._serverMode = false;\n\t // Finds updates that was potentially done from the client side\n\t // and saves them.\n\t var changes = diffArray.getChanges(self, self._serverBackup, self._diffArrayFunc);\n\t self._saveChanges(changes);\n\t // After, continues following client updates.\n\t if (autoClientSave) self._setAutoClientSave();\n\t }, 0);\n\t };\n\t\n\t AngularMeteorCollection.stop = function () {\n\t this._stopCursor();\n\t this._hNewCurAutorun.stop();\n\t };\n\t\n\t AngularMeteorCollection._stopCursor = function () {\n\t this._unsetAutoClientSave();\n\t\n\t if (this._hObserve) {\n\t this._hObserve.stop();\n\t this._hDataAutorun.stop();\n\t }\n\t\n\t this.splice(0);\n\t this._serverBackup.splice(0);\n\t };\n\t\n\t AngularMeteorCollection._unsetAutoClientSave = function (name) {\n\t if (this._hRegAutoBind) {\n\t this._hRegAutoBind();\n\t this._hRegAutoBind = null;\n\t }\n\t };\n\t\n\t AngularMeteorCollection._setAutoClientSave = function () {\n\t var self = this;\n\t\n\t // Always unsets auto save to keep only one $watch handler.\n\t self._unsetAutoClientSave();\n\t\n\t self._hRegAutoBind = $rootScope.$watch(function () {\n\t return self;\n\t }, function (nItems, oItems) {\n\t if (nItems === oItems) return;\n\t\n\t var changes = diffArray.getChanges(self, oItems, self._diffArrayFunc);\n\t self._unsetAutoClientSave();\n\t self._saveChanges(changes);\n\t self._setAutoClientSave();\n\t }, true);\n\t };\n\t\n\t AngularMeteorCollection._saveChanges = function (changes) {\n\t var self = this;\n\t\n\t // Saves added documents\n\t // Using reversed iteration to prevent indexes from changing during splice\n\t var addedDocs = changes.added.reverse().map(function (descriptor) {\n\t self.splice(descriptor.index, 1);\n\t return descriptor.item;\n\t });\n\t\n\t if (addedDocs.length) self.save(addedDocs);\n\t\n\t // Removes deleted documents\n\t var removedDocs = changes.removed.map(function (descriptor) {\n\t return descriptor.item;\n\t });\n\t\n\t if (removedDocs.length) self.remove(removedDocs);\n\t\n\t // Updates changed documents\n\t changes.changed.forEach(function (descriptor) {\n\t self._updateDiff(descriptor.selector, descriptor.modifier);\n\t });\n\t };\n\t\n\t return AngularMeteorCollection;\n\t}]);\n\t\n\tangularMeteorCollection.factory('$meteorCollectionFS', ['$meteorCollection', 'diffArray', '$angularMeteorSettings', function ($meteorCollection, diffArray, $angularMeteorSettings) {\n\t function $meteorCollectionFS(reactiveFunc, autoClientSave, collection) {\n\t\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t return new $meteorCollection(reactiveFunc, autoClientSave, collection, diffArray.shallow);\n\t }\n\t\n\t return $meteorCollectionFS;\n\t}]);\n\t\n\tangularMeteorCollection.factory('$meteorCollection', ['AngularMeteorCollection', '$rootScope', 'diffArray', function (AngularMeteorCollection, $rootScope, diffArray) {\n\t function $meteorCollection(reactiveFunc, autoClientSave, collection, diffFn) {\n\t // Validate parameters\n\t if (!reactiveFunc) {\n\t throw new TypeError('The first argument of $meteorCollection is undefined.');\n\t }\n\t\n\t if (!(angular.isFunction(reactiveFunc) || angular.isFunction(reactiveFunc.find))) {\n\t throw new TypeError('The first argument of $meteorCollection must be a function or ' + 'a have a find function property.');\n\t }\n\t\n\t if (!angular.isFunction(reactiveFunc)) {\n\t collection = angular.isDefined(collection) ? collection : reactiveFunc;\n\t reactiveFunc = _underscore2.default.bind(reactiveFunc.find, reactiveFunc);\n\t }\n\t\n\t // By default auto save - true.\n\t autoClientSave = angular.isDefined(autoClientSave) ? autoClientSave : true;\n\t diffFn = diffFn || diffArray;\n\t return new AngularMeteorCollection(reactiveFunc, collection, diffFn, autoClientSave);\n\t }\n\t\n\t return $meteorCollection;\n\t}]);\n\t\n\tangularMeteorCollection.run(['$rootScope', '$meteorCollection', '$meteorCollectionFS', '$meteorStopper', function ($rootScope, $meteorCollection, $meteorCollectionFS, $meteorStopper) {\n\t var scopeProto = Object.getPrototypeOf($rootScope);\n\t scopeProto.$meteorCollection = $meteorStopper($meteorCollection);\n\t scopeProto.$meteorCollectionFS = $meteorStopper($meteorCollectionFS);\n\t}]);\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Mongo\n\t */\n\t\n\tvar angularMeteorObject = angular.module('angular-meteor.object', ['angular-meteor.utils', 'angular-meteor.subscribe', 'angular-meteor.collection', 'getUpdates', 'diffArray', 'angular-meteor.settings']);\n\t\n\tangularMeteorObject.factory('AngularMeteorObject', ['$q', '$meteorSubscribe', '$meteorUtils', 'diffArray', 'getUpdates', 'AngularMeteorCollection', '$angularMeteorSettings', function ($q, $meteorSubscribe, $meteorUtils, diffArray, getUpdates, AngularMeteorCollection, $angularMeteorSettings) {\n\t\n\t // A list of internals properties to not watch for, nor pass to the Document on update and etc.\n\t AngularMeteorObject.$$internalProps = ['$$collection', '$$options', '$$id', '$$hashkey', '$$internalProps', '$$scope', 'bind', 'save', 'reset', 'subscribe', 'stop', 'autorunComputation', 'unregisterAutoBind', 'unregisterAutoDestroy', 'getRawObject', '_auto', '_setAutos', '_eventEmitter', '_serverBackup', '_updateDiff', '_updateParallel', '_getId'];\n\t\n\t function AngularMeteorObject(collection, selector, options) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t // Make data not be an object so we can extend it to preserve\n\t // Collection Helpers and the like\n\t var helpers = collection._helpers;\n\t var data = _underscore2.default.isFunction(helpers) ? Object.create(helpers.prototype) : {};\n\t var doc = collection.findOne(selector, options);\n\t var collectionExtension = _underscore2.default.pick(AngularMeteorCollection, '_updateParallel');\n\t _underscore2.default.extend(data, doc);\n\t _underscore2.default.extend(data, AngularMeteorObject);\n\t _underscore2.default.extend(data, collectionExtension);\n\t\n\t // Omit options that may spoil document finding\n\t data.$$options = _underscore2.default.omit(options, 'skip', 'limit');\n\t data.$$collection = collection;\n\t data.$$id = data._getId(selector);\n\t data._serverBackup = doc || {};\n\t\n\t return data;\n\t }\n\t\n\t AngularMeteorObject.getRawObject = function () {\n\t return angular.copy(_underscore2.default.omit(this, this.$$internalProps));\n\t };\n\t\n\t AngularMeteorObject.subscribe = function () {\n\t $meteorSubscribe.subscribe.apply(this, arguments);\n\t return this;\n\t };\n\t\n\t AngularMeteorObject.save = function (custom) {\n\t var deferred = $q.defer();\n\t var collection = this.$$collection;\n\t var createFulfill = _underscore2.default.partial($meteorUtils.fulfill, deferred, null);\n\t var oldDoc = collection.findOne(this.$$id);\n\t var mods;\n\t\n\t // update\n\t if (oldDoc) {\n\t if (custom) mods = { $set: custom };else {\n\t mods = getUpdates(oldDoc, this.getRawObject());\n\t // If there are no updates, there is nothing to do here, returning\n\t if (_underscore2.default.isEmpty(mods)) {\n\t return $q.when({ action: 'updated' });\n\t }\n\t }\n\t\n\t // NOTE: do not use #upsert() method, since it does not exist in some collections\n\t this._updateDiff(mods, createFulfill({ action: 'updated' }));\n\t }\n\t // insert\n\t else {\n\t if (custom) mods = _underscore2.default.clone(custom);else mods = this.getRawObject();\n\t\n\t mods._id = mods._id || this.$$id;\n\t collection.insert(mods, createFulfill({ action: 'inserted' }));\n\t }\n\t\n\t return deferred.promise;\n\t };\n\t\n\t AngularMeteorObject._updateDiff = function (update, callback) {\n\t var selector = this.$$id;\n\t AngularMeteorCollection._updateDiff.call(this, selector, update, callback);\n\t };\n\t\n\t AngularMeteorObject.reset = function (keepClientProps) {\n\t var self = this;\n\t var options = this.$$options;\n\t var id = this.$$id;\n\t var doc = this.$$collection.findOne(id, options);\n\t\n\t if (doc) {\n\t // extend SubObject\n\t var docKeys = _underscore2.default.keys(doc);\n\t var docExtension = _underscore2.default.pick(doc, docKeys);\n\t var clientProps;\n\t\n\t _underscore2.default.extend(self, docExtension);\n\t _underscore2.default.extend(self._serverBackup, docExtension);\n\t\n\t if (keepClientProps) {\n\t clientProps = _underscore2.default.intersection(_underscore2.default.keys(self), _underscore2.default.keys(self._serverBackup));\n\t } else {\n\t clientProps = _underscore2.default.keys(self);\n\t }\n\t\n\t var serverProps = _underscore2.default.keys(doc);\n\t var removedKeys = _underscore2.default.difference(clientProps, serverProps, self.$$internalProps);\n\t\n\t removedKeys.forEach(function (prop) {\n\t delete self[prop];\n\t delete self._serverBackup[prop];\n\t });\n\t } else {\n\t _underscore2.default.keys(this.getRawObject()).forEach(function (prop) {\n\t delete self[prop];\n\t });\n\t\n\t self._serverBackup = {};\n\t }\n\t };\n\t\n\t AngularMeteorObject.stop = function () {\n\t if (this.unregisterAutoDestroy) this.unregisterAutoDestroy();\n\t\n\t if (this.unregisterAutoBind) this.unregisterAutoBind();\n\t\n\t if (this.autorunComputation && this.autorunComputation.stop) this.autorunComputation.stop();\n\t };\n\t\n\t AngularMeteorObject._getId = function (selector) {\n\t var options = _underscore2.default.extend({}, this.$$options, {\n\t fields: { _id: 1 },\n\t reactive: false,\n\t transform: null\n\t });\n\t\n\t var doc = this.$$collection.findOne(selector, options);\n\t\n\t if (doc) return doc._id;\n\t if (selector instanceof Mongo.ObjectID) return selector;\n\t if (_underscore2.default.isString(selector)) return selector;\n\t return new Mongo.ObjectID();\n\t };\n\t\n\t return AngularMeteorObject;\n\t}]);\n\t\n\tangularMeteorObject.factory('$meteorObject', ['$rootScope', '$meteorUtils', 'getUpdates', 'AngularMeteorObject', function ($rootScope, $meteorUtils, getUpdates, AngularMeteorObject) {\n\t function $meteorObject(collection, id, auto, options) {\n\t // Validate parameters\n\t if (!collection) {\n\t throw new TypeError(\"The first argument of $meteorObject is undefined.\");\n\t }\n\t\n\t if (!angular.isFunction(collection.findOne)) {\n\t throw new TypeError(\"The first argument of $meteorObject must be a function or a have a findOne function property.\");\n\t }\n\t\n\t var data = new AngularMeteorObject(collection, id, options);\n\t // Making auto default true - http://stackoverflow.com/a/15464208/1426570\n\t data._auto = auto !== false;\n\t _underscore2.default.extend(data, $meteorObject);\n\t data._setAutos();\n\t return data;\n\t }\n\t\n\t $meteorObject._setAutos = function () {\n\t var self = this;\n\t\n\t this.autorunComputation = $meteorUtils.autorun($rootScope, function () {\n\t self.reset(true);\n\t });\n\t\n\t // Deep watches the model and performs autobind\n\t this.unregisterAutoBind = this._auto && $rootScope.$watch(function () {\n\t return self.getRawObject();\n\t }, function (item, oldItem) {\n\t if (item !== oldItem) self.save();\n\t }, true);\n\t\n\t this.unregisterAutoDestroy = $rootScope.$on('$destroy', function () {\n\t if (self && self.stop) self.pop();\n\t });\n\t };\n\t\n\t return $meteorObject;\n\t}]);\n\t\n\tangularMeteorObject.run(['$rootScope', '$meteorObject', '$meteorStopper', function ($rootScope, $meteorObject, $meteorStopper) {\n\t var scopeProto = Object.getPrototypeOf($rootScope);\n\t scopeProto.$meteorObject = $meteorStopper($meteorObject);\n\t}]);\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Package, Meteor\n\t */\n\t\n\tvar angularMeteorUser = angular.module('angular-meteor.user', ['angular-meteor.utils', 'angular-meteor.core', 'angular-meteor.settings']);\n\t\n\t// requires package 'accounts-password'\n\tangularMeteorUser.service('$meteorUser', ['$rootScope', '$meteorUtils', '$q', '$angularMeteorSettings', function ($rootScope, $meteorUtils, $q, $angularMeteorSettings) {\n\t\n\t var pack = Package['accounts-base'];\n\t if (!pack) return;\n\t\n\t var self = this;\n\t var Accounts = pack.Accounts;\n\t\n\t this.waitForUser = function () {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var deferred = $q.defer();\n\t\n\t $meteorUtils.autorun($rootScope, function () {\n\t if (!Meteor.loggingIn()) deferred.resolve(Meteor.user());\n\t }, true);\n\t\n\t return deferred.promise;\n\t };\n\t\n\t this.requireUser = function () {\n\t if (!$angularMeteorSettings.suppressWarnings) {\n\t console.warn('[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t }\n\t\n\t var deferred = $q.defer();\n\t\n\t $meteorUtils.autorun($rootScope, function () {\n\t if (!Meteor.loggingIn()) {\n\t if (Meteor.user() === null) deferred.reject(\"AUTH_REQUIRED\");else deferred.resolve(Meteor.user());\n\t }\n\t }, true);\n\t\n\t return deferred.promise;\n\t };\n\t\n\t this.requireValidUser = function (validatorFn) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t return self.requireUser(true).then(function (user) {\n\t var valid = validatorFn(user);\n\t\n\t if (valid === true) return user;else if (typeof valid === \"string\") return $q.reject(valid);else return $q.reject(\"FORBIDDEN\");\n\t });\n\t };\n\t\n\t this.loginWithPassword = $meteorUtils.promissor(Meteor, 'loginWithPassword');\n\t this.createUser = $meteorUtils.promissor(Accounts, 'createUser');\n\t this.changePassword = $meteorUtils.promissor(Accounts, 'changePassword');\n\t this.forgotPassword = $meteorUtils.promissor(Accounts, 'forgotPassword');\n\t this.resetPassword = $meteorUtils.promissor(Accounts, 'resetPassword');\n\t this.verifyEmail = $meteorUtils.promissor(Accounts, 'verifyEmail');\n\t this.logout = $meteorUtils.promissor(Meteor, 'logout');\n\t this.logoutOtherClients = $meteorUtils.promissor(Meteor, 'logoutOtherClients');\n\t this.loginWithFacebook = $meteorUtils.promissor(Meteor, 'loginWithFacebook');\n\t this.loginWithTwitter = $meteorUtils.promissor(Meteor, 'loginWithTwitter');\n\t this.loginWithGoogle = $meteorUtils.promissor(Meteor, 'loginWithGoogle');\n\t this.loginWithGithub = $meteorUtils.promissor(Meteor, 'loginWithGithub');\n\t this.loginWithMeteorDeveloperAccount = $meteorUtils.promissor(Meteor, 'loginWithMeteorDeveloperAccount');\n\t this.loginWithMeetup = $meteorUtils.promissor(Meteor, 'loginWithMeetup');\n\t this.loginWithWeibo = $meteorUtils.promissor(Meteor, 'loginWithWeibo');\n\t}]);\n\t\n\tangularMeteorUser.run(['$rootScope', '$angularMeteorSettings', '$$Core', function ($rootScope, $angularMeteorSettings, $$Core) {\n\t\n\t var ScopeProto = Object.getPrototypeOf($rootScope);\n\t _underscore2.default.extend(ScopeProto, $$Core);\n\t\n\t $rootScope.autorun(function () {\n\t if (!Meteor.user) return;\n\t $rootScope.currentUser = Meteor.user();\n\t $rootScope.loggingIn = Meteor.loggingIn();\n\t });\n\t}]);\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Meteor\n\t */\n\t\n\tvar angularMeteorMethods = angular.module('angular-meteor.methods', ['angular-meteor.utils', 'angular-meteor.settings']);\n\t\n\tangularMeteorMethods.service('$meteorMethods', ['$q', '$meteorUtils', '$angularMeteorSettings', function ($q, $meteorUtils, $angularMeteorSettings) {\n\t this.call = function () {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var deferred = $q.defer();\n\t var fulfill = $meteorUtils.fulfill(deferred);\n\t var args = _underscore2.default.toArray(arguments).concat(fulfill);\n\t Meteor.call.apply(this, args);\n\t return deferred.promise;\n\t };\n\t}]);\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular, Session\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorSession = angular.module('angular-meteor.session', ['angular-meteor.utils', 'angular-meteor.settings']);\n\t\n\tangularMeteorSession.factory('$meteorSession', ['$meteorUtils', '$parse', '$angularMeteorSettings', function ($meteorUtils, $parse, $angularMeteorSettings) {\n\t return function (session) {\n\t\n\t return {\n\t\n\t bind: function bind(scope, model) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var getter = $parse(model);\n\t var setter = getter.assign;\n\t $meteorUtils.autorun(scope, function () {\n\t setter(scope, Session.get(session));\n\t });\n\t\n\t scope.$watch(model, function (newItem, oldItem) {\n\t Session.set(session, getter(scope));\n\t }, true);\n\t }\n\t };\n\t };\n\t}]);\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular, Package\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorCamera = angular.module('angular-meteor.camera', ['angular-meteor.utils', 'angular-meteor.settings']);\n\t\n\t// requires package 'mdg:camera'\n\tangularMeteorCamera.service('$meteorCamera', ['$q', '$meteorUtils', '$angularMeteorSettings', function ($q, $meteorUtils, $angularMeteorSettings) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t var pack = Package['mdg:camera'];\n\t if (!pack) return;\n\t\n\t var MeteorCamera = pack.MeteorCamera;\n\t\n\t this.getPicture = function (options) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t options = options || {};\n\t var deferred = $q.defer();\n\t MeteorCamera.getPicture(options, $meteorUtils.fulfill(deferred));\n\t return deferred.promise;\n\t };\n\t}]);\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorStopper = angular.module('angular-meteor.stopper', ['angular-meteor.subscribe']);\n\t\n\tangularMeteorStopper.factory('$meteorStopper', ['$q', '$meteorSubscribe', function ($q, $meteorSubscribe) {\n\t function $meteorStopper($meteorEntity) {\n\t return function () {\n\t var args = Array.prototype.slice.call(arguments);\n\t var meteorEntity = $meteorEntity.apply(this, args);\n\t\n\t angular.extend(meteorEntity, $meteorStopper);\n\t meteorEntity.$$scope = this;\n\t\n\t this.$on('$destroy', function () {\n\t meteorEntity.stop();\n\t if (meteorEntity.subscription) meteorEntity.subscription.stop();\n\t });\n\t\n\t return meteorEntity;\n\t };\n\t }\n\t\n\t $meteorStopper.subscribe = function () {\n\t var args = Array.prototype.slice.call(arguments);\n\t this.subscription = $meteorSubscribe._subscribe(this.$$scope, $q.defer(), args);\n\t return this;\n\t };\n\t\n\t return $meteorStopper;\n\t}]);\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.utils = exports.name = undefined;\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar name = exports.name = 'angular-meteor.utilities';\n\tvar utils = exports.utils = '$$utils';\n\t\n\tangular.module(name, [])\n\t\n\t/*\n\t A utility service which is provided with general utility functions\n\t */\n\t.service(utils, ['$rootScope', function ($rootScope) {\n\t var self = this;\n\t\n\t // Checks if an object is a cursor\n\t this.isCursor = function (obj) {\n\t return obj instanceof Meteor.Collection.Cursor;\n\t };\n\t\n\t // Cheecks if an object is a scope\n\t this.isScope = function (obj) {\n\t return obj instanceof $rootScope.constructor;\n\t };\n\t\n\t // Checks if an object is a view model\n\t this.isViewModel = function (obj) {\n\t return _underscore2.default.isObject(obj) && obj.$$dependencies;\n\t };\n\t\n\t // Checks if two objects are siblings\n\t this.areSiblings = function (obj1, obj2) {\n\t return _underscore2.default.isObject(obj1) && _underscore2.default.isObject(obj2) && Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2);\n\t };\n\t\n\t // Binds function into a scpecified context. If an object is provided, will bind every\n\t // value in the object which is a function. If a tap function is provided, it will be\n\t // called right after the function has been invoked.\n\t this.bind = function (fn, context, tap) {\n\t tap = _underscore2.default.isFunction(tap) ? tap : angular.noop;\n\t if (_underscore2.default.isFunction(fn)) return bindFn(fn, context, tap);\n\t if (_underscore2.default.isObject(fn)) return bindObj(fn, context, tap);\n\t return fn;\n\t };\n\t\n\t function bindFn(fn, context, tap) {\n\t return function () {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t var result = fn.apply(context, args);\n\t tap.call(context, {\n\t result: result,\n\t args: args\n\t });\n\t return result;\n\t };\n\t }\n\t\n\t function bindObj(obj, context, tap) {\n\t return _underscore2.default.keys(obj).reduce(function (bound, k) {\n\t bound[k] = self.bind(obj[k], context, tap);\n\t return bound;\n\t }, {});\n\t }\n\t}]);\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Mixer = exports.name = undefined;\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tvar name = exports.name = 'angular-meteor.mixer';\n\tvar Mixer = exports.Mixer = '$Mixer';\n\t\n\tangular.module(name, [])\n\t\n\t/*\n\t A service which lets us apply mixins into Scope.prototype.\n\t The flow is simple. Once we define a mixin, it will be stored in the `$Mixer`,\n\t and any time a `ChildScope` prototype is created\n\t it will be extended by the `$Mixer`.\n\t This concept is good because it keeps our code\n\t clean and simple, and easy to extend.\n\t So any time we would like to define a new behaviour to our scope,\n\t we will just use the `$Mixer` service.\n\t */\n\t.service(Mixer, function () {\n\t var _this = this;\n\t\n\t // Used to store method's caller\n\t var caller = undefined;\n\t\n\t this._mixins = [];\n\t // Apply mixins automatically on specified contexts\n\t this._autoExtend = [];\n\t this._autoConstruct = [];\n\t\n\t // Adds a new mixin\n\t this.mixin = function (mixin) {\n\t if (!_underscore2.default.isObject(mixin)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t\n\t _this._mixins = _underscore2.default.union(_this._mixins, [mixin]);\n\t // Apply mixins to stored contexts\n\t _this._autoExtend.forEach(function (context) {\n\t return _this._extend(context);\n\t });\n\t _this._autoConstruct.forEach(function (context) {\n\t return _this._construct(context);\n\t });\n\t return _this;\n\t };\n\t\n\t // Removes a mixin. Useful mainly for test purposes\n\t this._mixout = function (mixin) {\n\t _this._mixins = _underscore2.default.without(_this._mixins, mixin);\n\t return _this;\n\t };\n\t\n\t // Invoke function mixins with the provided context and arguments\n\t this._construct = function (context) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t _this._mixins.filter(_underscore2.default.isFunction).forEach(function (mixin) {\n\t mixin.call.apply(mixin, [context].concat(args));\n\t });\n\t\n\t return context;\n\t };\n\t\n\t // Extend prototype with the defined mixins\n\t this._extend = function (obj, options) {\n\t var _$defaults = _underscore2.default.defaults({}, options, {\n\t pattern: /.*/ });\n\t\n\t var pattern = _$defaults.pattern;\n\t var context = _$defaults.context;\n\t // The patterns of the keys which will be filtered\n\t\n\t\n\t var mixins = _this._mixins.map(function (mixin) {\n\t // Filtering the keys by the specified pattern\n\t var keys = _underscore2.default.keys(mixin).filter(function (k) {\n\t return k.match(pattern);\n\t }).filter(function (k) {\n\t return _underscore2.default.isFunction(mixin[k]);\n\t });\n\t\n\t return keys.reduce(function (boundMixin, methodName) {\n\t var methodHandler = mixin[methodName];\n\t\n\t // Note that this is not an arrow function so we can conserve the conetxt\n\t boundMixin[methodName] = function () {\n\t // Storing original caller so we will know who actually called the\n\t // method event though it is bound to another context\n\t var methodContext = context || this;\n\t var recentCaller = caller;\n\t caller = this;\n\t\n\t try {\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return methodHandler.apply(methodContext, args);\n\t } finally {\n\t // No matter what happens, restore variable to the previous one\n\t caller = recentCaller;\n\t }\n\t };\n\t\n\t return boundMixin;\n\t }, {});\n\t });\n\t\n\t return _underscore2.default.extend.apply(_underscore2.default, [obj].concat(_toConsumableArray(mixins)));\n\t };\n\t\n\t // Caller property can not be set\n\t Object.defineProperty(this, 'caller', {\n\t configurable: true,\n\t enumerable: true,\n\t\n\t get: function get() {\n\t return caller;\n\t }\n\t });\n\t});\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.name = undefined;\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar name = exports.name = 'angular-meteor.scope';\n\t\n\tangular.module(name, [_mixer.name]).run(['$rootScope', _mixer.Mixer, function ($rootScope, $Mixer) {\n\t var Scope = $rootScope.constructor;\n\t var $new = $rootScope.$new;\n\t\n\t // Apply extensions whether a mixin in defined.\n\t // Note that this way mixins which are initialized later\n\t // can be applied on rootScope.\n\t $Mixer._autoExtend.push(Scope.prototype);\n\t $Mixer._autoConstruct.push($rootScope);\n\t\n\t Scope.prototype.$new = function () {\n\t var scope = $new.apply(this, arguments);\n\t // Apply constructors to newly created scopes\n\t return $Mixer._construct(scope);\n\t };\n\t}]);\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Core = exports.name = undefined;\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tvar name = exports.name = 'angular-meteor.core';\n\tvar Core = exports.Core = '$$Core';\n\t\n\tangular.module(name, [_utils.name, _mixer.name])\n\t\n\t/*\n\t A mixin which provides us with core Meteor functions.\n\t */\n\t.factory(Core, ['$q', _utils.utils, _mixer.Mixer, function ($q, $$utils, $Mixer) {\n\t function $$Core() {}\n\t\n\t // Calls Meteor.autorun() which will be digested after each run and automatically destroyed\n\t $$Core.autorun = function (fn) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t fn = this.$bindToContext($Mixer.caller, fn);\n\t\n\t if (!_underscore2.default.isFunction(fn)) {\n\t throw Error('argument 1 must be a function');\n\t }\n\t if (!_underscore2.default.isObject(options)) {\n\t throw Error('argument 2 must be an object');\n\t }\n\t\n\t var computation = Tracker.autorun(fn, options);\n\t this.$$autoStop(computation);\n\t return computation;\n\t };\n\t\n\t // Calls Meteor.subscribe() which will be digested after each invokation\n\t // and automatically destroyed\n\t $$Core.subscribe = function (subName, fn, cb) {\n\t fn = this.$bindToContext($Mixer.caller, fn || angular.noop);\n\t cb = cb ? this.$bindToContext($Mixer.caller, cb) : angular.noop;\n\t\n\t if (!_underscore2.default.isString(subName)) {\n\t throw Error('argument 1 must be a string');\n\t }\n\t if (!_underscore2.default.isFunction(fn)) {\n\t throw Error('argument 2 must be a function');\n\t }\n\t if (!_underscore2.default.isFunction(cb) && !_underscore2.default.isObject(cb)) {\n\t throw Error('argument 3 must be a function or an object');\n\t }\n\t\n\t var result = {};\n\t\n\t var computation = this.autorun(function () {\n\t var _Meteor;\n\t\n\t var args = fn();\n\t if (angular.isUndefined(args)) args = [];\n\t\n\t if (!_underscore2.default.isArray(args)) {\n\t throw Error('reactive function\\'s return value must be an array');\n\t }\n\t\n\t var subscription = (_Meteor = Meteor).subscribe.apply(_Meteor, [subName].concat(_toConsumableArray(args), [cb]));\n\t result.ready = subscription.ready.bind(subscription);\n\t result.subscriptionId = subscription.subscriptionId;\n\t });\n\t\n\t // Once the computation has been stopped,\n\t // any subscriptions made inside will be stopped as well\n\t result.stop = computation.stop.bind(computation);\n\t return result;\n\t };\n\t\n\t // Calls Meteor.call() wrapped by a digestion cycle\n\t $$Core.callMethod = function () {\n\t var _Meteor2;\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t var fn = args.pop();\n\t if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n\t return (_Meteor2 = Meteor).call.apply(_Meteor2, args.concat([fn]));\n\t };\n\t\n\t // Calls Meteor.apply() wrapped by a digestion cycle\n\t $$Core.applyMethod = function () {\n\t var _Meteor3;\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t var fn = args.pop();\n\t if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n\t return (_Meteor3 = Meteor).apply.apply(_Meteor3, args.concat([fn]));\n\t };\n\t\n\t $$Core.$$autoStop = function (stoppable) {\n\t this.$on('$destroy', stoppable.stop.bind(stoppable));\n\t };\n\t\n\t // Digests scope only if there is no phase at the moment\n\t $$Core.$$throttledDigest = function () {\n\t var isDigestable = !this.$$destroyed && !this.$$phase && !this.$root.$$phase;\n\t\n\t if (isDigestable) this.$digest();\n\t };\n\t\n\t // Creates a promise only that the digestion cycle will be called at its fulfillment\n\t $$Core.$$defer = function () {\n\t var deferred = $q.defer();\n\t // Once promise has been fulfilled, digest\n\t deferred.promise = deferred.promise.finally(this.$$throttledDigest.bind(this));\n\t return deferred;\n\t };\n\t\n\t // Binds an object or a function to the provided context and digest it once it is invoked\n\t $$Core.$bindToContext = function (context, fn) {\n\t return $$utils.bind(fn, context, this.$$throttledDigest.bind(this));\n\t };\n\t\n\t return $$Core;\n\t}]);\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.reactive = exports.ViewModel = exports.name = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar _core = __webpack_require__(19);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar name = exports.name = 'angular-meteor.view-model';\n\tvar ViewModel = exports.ViewModel = '$$ViewModel';\n\tvar reactive = exports.reactive = '$reactive';\n\t\n\tangular.module(name, [_utils.name, _mixer.name, _core.name])\n\t\n\t/*\n\t A mixin which lets us bind a view model into a scope.\n\t Note that only a single view model can be bound,\n\t otherwise the scope might behave unexpectedly.\n\t Mainly used to define the controller as the view model,\n\t and very useful when wanting to use Angular's `controllerAs` syntax.\n\t */\n\t.factory(ViewModel, [_utils.utils, _mixer.Mixer, function ($$utils, $Mixer) {\n\t function $$ViewModel() {}\n\t\n\t // Gets an object, wraps it with scope functions and returns it\n\t $$ViewModel.viewModel = function (vm) {\n\t if (!_underscore2.default.isObject(vm)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t\n\t // Extend view model with mixin functions\n\t $Mixer._extend(vm, {\n\t pattern: /^(?!\\$\\$).*$/, // Omitting methods which start with a $$ notation\n\t context: this // Binding methods to scope\n\t });\n\t\n\t // Apply mixin constructors on scope with view model\n\t $Mixer._construct(this, vm);\n\t return vm;\n\t };\n\t\n\t return $$ViewModel;\n\t}])\n\t\n\t/*\n\t Illustrates the old API where a view model is created using $reactive service\n\t */\n\t.service(reactive, [_utils.utils, function ($$utils) {\n\t var Reactive = function () {\n\t function Reactive(vm) {\n\t var _this = this;\n\t\n\t _classCallCheck(this, Reactive);\n\t\n\t if (!_underscore2.default.isObject(vm)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t\n\t _underscore2.default.defer(function () {\n\t if (!_this._attached) {\n\t console.warn('view model was not attached to any scope');\n\t }\n\t });\n\t\n\t this._vm = vm;\n\t }\n\t\n\t _createClass(Reactive, [{\n\t key: 'attach',\n\t value: function attach(scope) {\n\t this._attached = true;\n\t\n\t if (!$$utils.isScope(scope)) {\n\t throw Error('argument 1 must be a scope');\n\t }\n\t\n\t var viewModel = scope.viewModel(this._vm);\n\t\n\t // Similar to the old/Meteor API\n\t viewModel.call = viewModel.callMethod;\n\t viewModel.apply = viewModel.applyMethod;\n\t\n\t return viewModel;\n\t }\n\t }]);\n\t\n\t return Reactive;\n\t }();\n\t\n\t return function (vm) {\n\t return new Reactive(vm);\n\t };\n\t}]);\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Reactive = exports.name = undefined;\n\t\n\tvar _jsondiffpatch = __webpack_require__(22);\n\t\n\tvar _jsondiffpatch2 = _interopRequireDefault(_jsondiffpatch);\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar _core = __webpack_require__(19);\n\t\n\tvar _viewModel = __webpack_require__(20);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar name = exports.name = 'angular-meteor.reactive';\n\tvar Reactive = exports.Reactive = '$$Reactive';\n\t\n\tangular.module(name, [_utils.name, _mixer.name, _core.name, _viewModel.name])\n\t\n\t/*\n\t A mixin which enhance our reactive abilities by providing methods\n\t that are capable of updating our scope reactively.\n\t */\n\t.factory(Reactive, ['$parse', _utils.utils, _mixer.Mixer, function ($parse, $$utils, $Mixer) {\n\t function $$Reactive() {\n\t var vm = arguments.length <= 0 || arguments[0] === undefined ? this : arguments[0];\n\t\n\t // Helps us track changes made in the view model\n\t vm.$$dependencies = {};\n\t }\n\t\n\t // Gets an object containing functions and define their results as reactive properties.\n\t // Once a return value has been changed the property will be reset.\n\t $$Reactive.helpers = function (vm, props) {\n\t var _this = this;\n\t\n\t if ($$utils.isViewModel(vm)) {\n\t if (!_underscore2.default.isObject(props)) {\n\t throw Error('argument 2 must be an object');\n\t }\n\t } else {\n\t props = vm;\n\t vm = $Mixer.caller;\n\t\n\t if (!_underscore2.default.isObject(props)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t }\n\t\n\t _underscore2.default.each(props, function (v, k) {\n\t if (!_underscore2.default.isFunction(v)) {\n\t throw Error('helper \\'' + k + '\\' must be a function');\n\t }\n\t });\n\t\n\t _underscore2.default.each(props, function (v, k) {\n\t if (!vm.$$dependencies[k]) {\n\t // Registers a new dependency to the specified helper\n\t vm.$$dependencies[k] = new Tracker.Dependency();\n\t }\n\t\n\t _this.$$setFnHelper(vm, k, v);\n\t });\n\t };\n\t\n\t // Gets a model reactively\n\t $$Reactive.getReactively = function (vm, k, isDeep) {\n\t if ($$utils.isViewModel(vm)) {\n\t if (angular.isUndefined(isDeep)) isDeep = false;\n\t\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 2 must be a string');\n\t }\n\t if (!_underscore2.default.isBoolean(isDeep)) {\n\t throw Error('argument 3 must be a boolean');\n\t }\n\t } else {\n\t isDeep = angular.isDefined(k) ? k : false;\n\t k = vm;\n\t vm = $Mixer.caller;\n\t\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 1 must be a string');\n\t }\n\t if (!_underscore2.default.isBoolean(isDeep)) {\n\t throw Error('argument 2 must be a boolean');\n\t }\n\t }\n\t\n\t return this.$$reactivateEntity(vm, k, this.$watch, isDeep);\n\t };\n\t\n\t // Gets a collection reactively\n\t $$Reactive.getCollectionReactively = function (vm, k) {\n\t if ($$utils.isViewModel(vm)) {\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 2 must be a string');\n\t }\n\t } else {\n\t k = vm;\n\t vm = $Mixer.caller;\n\t\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 1 must be a string');\n\t }\n\t }\n\t\n\t return this.$$reactivateEntity(vm, k, this.$watchCollection);\n\t };\n\t\n\t // Gets an entity reactively, and once it has been changed the computation will be recomputed\n\t $$Reactive.$$reactivateEntity = function (vm, k, watcher) {\n\t if (!vm.$$dependencies[k]) {\n\t vm.$$dependencies[k] = new Tracker.Dependency();\n\t\n\t for (var _len = arguments.length, watcherArgs = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n\t watcherArgs[_key - 3] = arguments[_key];\n\t }\n\t\n\t this.$$watchEntity.apply(this, [vm, k, watcher].concat(watcherArgs));\n\t }\n\t\n\t vm.$$dependencies[k].depend();\n\t return $parse(k)(vm);\n\t };\n\t\n\t // Watches for changes in the view model, and if so will notify a change\n\t $$Reactive.$$watchEntity = function (vm, k, watcher) {\n\t var _this2 = this;\n\t\n\t // Gets a deep property from the caller\n\t var getVal = _underscore2.default.partial($parse(k), vm);\n\t var initialVal = getVal();\n\t\n\t // Watches for changes in the view model\n\t\n\t for (var _len2 = arguments.length, watcherArgs = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n\t watcherArgs[_key2 - 3] = arguments[_key2];\n\t }\n\t\n\t watcher.call.apply(watcher, [this, getVal, function (val, oldVal) {\n\t var hasChanged = val !== initialVal || val !== oldVal;\n\t\n\t // Notify if a change has been detected\n\t if (hasChanged) _this2.$$changed(vm, k);\n\t }].concat(watcherArgs));\n\t };\n\t\n\t // Invokes a function and sets the return value as a property\n\t $$Reactive.$$setFnHelper = function (vm, k, fn) {\n\t var _this3 = this;\n\t\n\t var activeObservation = null;\n\t var lastModel = null;\n\t var lastModelData = [];\n\t\n\t this.autorun(function () /* computation */{\n\t // Invokes the reactive functon\n\t var model = fn.apply(vm);\n\t\n\t // Ignore notifications made by the following handler\n\t Tracker.nonreactive(function () {\n\t // If a cursor, observe its changes and update acoordingly\n\t if ($$utils.isCursor(model)) {\n\t var modelData = undefined;\n\t\n\t if (angular.isUndefined(vm[k])) {\n\t _this3.$$setValHelper(vm, k, [], false);\n\t }\n\t\n\t if (activeObservation) {\n\t lastModelData = lastModel.fetch();\n\t activeObservation.stop();\n\t activeObservation = null;\n\t }\n\t\n\t var handle = _this3.$$handleCursor(vm, k, model);\n\t\n\t activeObservation = handle.observation;\n\t modelData = handle.data;\n\t\n\t if (lastModelData.length !== 0) {\n\t var diff = _jsondiffpatch2.default.diff(lastModelData, modelData);\n\t vm[k] = _jsondiffpatch2.default.patch(lastModelData, diff);\n\t } else {\n\t vm[k] = modelData;\n\t }\n\t\n\t lastModel = model;\n\t lastModelData = modelData;\n\t\n\t /* computation.onInvalidate(() => {\n\t activeObservation.stop();\n\t });*/\n\t } else {\n\t _this3.$$handleNonCursor(vm, k, model);\n\t }\n\t\n\t // Notify change and update the view model\n\t _this3.$$changed(vm, k);\n\t });\n\t });\n\t };\n\t\n\t // Sets a value helper as a setter and a getter which will notify computations once used\n\t $$Reactive.$$setValHelper = function (vm, k, v) {\n\t var _this4 = this;\n\t\n\t var watch = arguments.length <= 3 || arguments[3] === undefined ? true : arguments[3];\n\t\n\t // If set, reactives property\n\t if (watch) {\n\t var isDeep = _underscore2.default.isObject(v);\n\t this.getReactively(vm, k, isDeep);\n\t }\n\t\n\t Object.defineProperty(vm, k, {\n\t configurable: true,\n\t enumerable: true,\n\t\n\t get: function get() {\n\t return v;\n\t },\n\t set: function set(newVal) {\n\t v = newVal;\n\t _this4.$$changed(vm, k);\n\t }\n\t });\n\t };\n\t\n\t // Fetching a cursor and updates properties once the result set has been changed\n\t $$Reactive.$$handleCursor = function (vm, k, cursor) {\n\t var _this5 = this;\n\t\n\t var data = [];\n\t // Observe changes made in the result set\n\t var observation = cursor.observe({\n\t addedAt: function addedAt(doc, atIndex) {\n\t if (!observation) {\n\t data.push(doc);\n\t return;\n\t }\n\t vm[k].splice(atIndex, 0, doc);\n\t _this5.$$changed(vm, k);\n\t },\n\t changedAt: function changedAt(doc, oldDoc, atIndex) {\n\t var diff = _jsondiffpatch2.default.diff(vm[k][atIndex], doc);\n\t _jsondiffpatch2.default.patch(vm[k][atIndex], diff);\n\t _this5.$$changed(vm, k);\n\t },\n\t movedTo: function movedTo(doc, fromIndex, toIndex) {\n\t vm[k].splice(fromIndex, 1);\n\t vm[k].splice(toIndex, 0, doc);\n\t _this5.$$changed(vm, k);\n\t },\n\t removedAt: function removedAt(oldDoc, atIndex) {\n\t vm[k].splice(atIndex, 1);\n\t _this5.$$changed(vm, k);\n\t }\n\t });\n\t\n\t return {\n\t observation: observation,\n\t data: data\n\t };\n\t };\n\t\n\t $$Reactive.$$handleNonCursor = function (vm, k, data) {\n\t var v = vm[k];\n\t\n\t if (angular.isDefined(v)) {\n\t delete vm[k];\n\t v = null;\n\t }\n\t\n\t if (angular.isUndefined(v)) {\n\t this.$$setValHelper(vm, k, data);\n\t }\n\t // Update property if the new value is from the same type\n\t else if ($$utils.areSiblings(v, data)) {\n\t var diff = _jsondiffpatch2.default.diff(v, data);\n\t _jsondiffpatch2.default.patch(v, diff);\n\t this.$$changed(vm, k);\n\t } else {\n\t vm[k] = data;\n\t }\n\t };\n\t\n\t // Notifies dependency in view model\n\t $$Reactive.$$depend = function (vm, k) {\n\t vm.$$dependencies[k].depend();\n\t };\n\t\n\t // Notifies change in view model\n\t $$Reactive.$$changed = function (vm, k) {\n\t this.$$throttledDigest();\n\t vm.$$dependencies[k].changed();\n\t };\n\t\n\t return $$Reactive;\n\t}]);\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar name = exports.name = 'angular-templates';\n\t\n\ttry {\n\t angular.module(name);\n\t} catch (e) {\n\t angular.module(name, []);\n\t}\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** dist/angular-meteor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap f4a730afaadc2702df46\n **/","// lib\nimport './lib/get-updates';\nimport './lib/diff-array';\n// legacy\nimport './modules/angular-meteor-settings';\nimport './modules/angular-meteor-ironrouter';\nimport './modules/angular-meteor-utils';\nimport './modules/angular-meteor-subscribe';\nimport './modules/angular-meteor-collection';\nimport './modules/angular-meteor-object';\nimport './modules/angular-meteor-user';\nimport './modules/angular-meteor-methods';\nimport './modules/angular-meteor-session';\nimport './modules/angular-meteor-camera';\nimport './modules/angular-meteor-stopper';\n\n// new\nimport { name as utilsName } from './modules/utils';\nimport { name as mixerName, Mixer } from './modules/mixer';\nimport { name as scopeName } from './modules/scope';\nimport { name as coreName, Core } from './modules/core';\nimport { name as viewModelName, ViewModel } from './modules/view-model';\nimport { name as reactiveName, Reactive } from './modules/reactive';\nimport { name as templatesName } from './modules/templates';\n\nconst name = 'angular-meteor';\nexport default name;\n\nangular.module(name, [\n // new\n utilsName,\n mixerName,\n scopeName,\n coreName,\n viewModelName,\n reactiveName,\n templatesName,\n\n // legacy\n 'angular-meteor.ironrouter',\n 'angular-meteor.utils',\n 'angular-meteor.subscribe',\n 'angular-meteor.collection',\n 'angular-meteor.object',\n 'angular-meteor.user',\n 'angular-meteor.methods',\n 'angular-meteor.session',\n 'angular-meteor.camera'\n\n])\n\n.run([\n Mixer,\n Core,\n ViewModel,\n Reactive,\n\n function($Mixer, $$Core, $$ViewModel, $$Reactive) {\n // Load all mixins\n $Mixer\n .mixin($$Core)\n .mixin($$ViewModel)\n .mixin($$Reactive);\n }\n])\n\n// legacy\n// Putting all services under $meteor service for syntactic sugar\n.service('$meteor', [\n '$meteorCollection',\n '$meteorCollectionFS',\n '$meteorObject',\n '$meteorMethods',\n '$meteorSession',\n '$meteorSubscribe',\n '$meteorUtils',\n '$meteorCamera',\n '$meteorUser',\n function($meteorCollection, $meteorCollectionFS, $meteorObject,\n $meteorMethods, $meteorSession, $meteorSubscribe, $meteorUtils,\n $meteorCamera, $meteorUser) {\n this.collection = $meteorCollection;\n this.collectionFS = $meteorCollectionFS;\n this.object = $meteorObject;\n this.subscribe = $meteorSubscribe.subscribe;\n this.call = $meteorMethods.call;\n this.session = $meteorSession;\n this.autorun = $meteorUtils.autorun;\n this.getCollectionByName = $meteorUtils.getCollectionByName;\n this.getPicture = $meteorCamera.getPicture;\n\n // $meteorUser\n [\n 'loginWithPassword',\n 'requireUser',\n 'requireValidUser',\n 'waitForUser',\n 'createUser',\n 'changePassword',\n 'forgotPassword',\n 'resetPassword',\n 'verifyEmail',\n 'loginWithMeteorDeveloperAccount',\n 'loginWithFacebook',\n 'loginWithGithub',\n 'loginWithGoogle',\n 'loginWithMeetup',\n 'loginWithTwitter',\n 'loginWithWeibo',\n 'logout',\n 'logoutOtherClients'\n ].forEach((method) => {\n this[method] = $meteorUser[method];\n });\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/angular-meteor.js\n **/","/*global\n angular, _\n */\n\nimport _ from './underscore';\n\n'use strict';\n\n// https://github.com/DAB0mB/get-updates\n(function() {\n var module = angular.module('getUpdates', []);\n\n var utils = (function() {\n var rip = function(obj, level) {\n if (level < 1) return {};\n\n return _.reduce(obj, function(clone, v, k) {\n v = _.isObject(v) ? rip(v, --level) : v;\n clone[k] = v;\n return clone;\n }, {});\n };\n\n var toPaths = function(obj) {\n var keys = getKeyPaths(obj);\n var values = getDeepValues(obj);\n return _.object(keys, values);\n };\n\n var getKeyPaths = function(obj) {\n var keys = _.keys(obj).map(function(k) {\n var v = obj[k];\n if (!_.isObject(v) || _.isEmpty(v) || _.isArray(v)) return k;\n\n return getKeyPaths(v).map(function(subKey) {\n return k + '.' + subKey;\n });\n });\n\n return _.flatten(keys);\n };\n\n var getDeepValues = function(obj,arr) {\n arr = arr || [];\n\n _.values(obj).forEach(function(v) {\n if (!_.isObject(v) || _.isEmpty(v) || _.isArray(v))\n arr.push(v);\n else\n getDeepValues(v, arr);\n });\n\n return arr;\n };\n\n var flatten = function(arr) {\n return arr.reduce(function(flattened, v, i) {\n if (_.isArray(v) && !_.isEmpty(v))\n flattened.push.apply(flattened, flatten(v));\n else\n flattened.push(v);\n\n return flattened;\n }, []);\n };\n\n var setFilled = function(obj, k, v) {\n if (!_.isEmpty(v)) obj[k] = v;\n };\n\n var assert = function(result, msg) {\n if (!result) throwErr(msg);\n };\n\n var throwErr = function(msg) {\n throw Error('get-updates error - ' + msg);\n };\n\n return {\n rip: rip,\n toPaths: toPaths,\n getKeyPaths: getKeyPaths,\n getDeepValues: getDeepValues,\n setFilled: setFilled,\n assert: assert,\n throwErr: throwErr\n };\n })();\n\n var getDifference = (function() {\n var getDifference = function(src, dst, isShallow) {\n var level;\n\n if (isShallow > 1)\n level = isShallow;\n else if (isShallow)\n level = 1;\n\n if (level) {\n src = utils.rip(src, level);\n dst = utils.rip(dst, level);\n }\n\n return compare(src, dst);\n };\n\n var compare = function(src, dst) {\n var srcKeys = _.keys(src);\n var dstKeys = _.keys(dst);\n\n var keys = _.chain([])\n .concat(srcKeys)\n .concat(dstKeys)\n .uniq()\n .without('$$hashKey')\n .value();\n\n return keys.reduce(function(diff, k) {\n var srcValue = src[k];\n var dstValue = dst[k];\n\n if (_.isDate(srcValue) && _.isDate(dstValue)) {\n if (srcValue.getTime() != dstValue.getTime()) diff[k] = dstValue;\n }\n\n if (_.isObject(srcValue) && _.isObject(dstValue)) {\n var valueDiff = getDifference(srcValue, dstValue);\n utils.setFilled(diff, k, valueDiff);\n }\n\n else if (srcValue !== dstValue) {\n diff[k] = dstValue;\n }\n\n return diff;\n }, {});\n };\n\n return getDifference;\n })();\n\n var getUpdates = (function() {\n var getUpdates = function(src, dst, isShallow) {\n utils.assert(_.isObject(src), 'first argument must be an object');\n utils.assert(_.isObject(dst), 'second argument must be an object');\n\n var diff = getDifference(src, dst, isShallow);\n var paths = utils.toPaths(diff);\n\n var set = createSet(paths);\n var unset = createUnset(paths);\n var pull = createPull(unset);\n\n var updates = {};\n utils.setFilled(updates, '$set', set);\n utils.setFilled(updates, '$unset', unset);\n utils.setFilled(updates, '$pull', pull);\n\n return updates;\n };\n\n var createSet = function(paths) {\n var undefinedKeys = getUndefinedKeys(paths);\n return _.omit(paths, undefinedKeys);\n };\n\n var createUnset = function(paths) {\n var undefinedKeys = getUndefinedKeys(paths);\n var unset = _.pick(paths, undefinedKeys);\n\n return _.reduce(unset, function(result, v, k) {\n result[k] = true;\n return result;\n }, {});\n };\n\n var createPull = function(unset) {\n var arrKeyPaths = _.keys(unset).map(function(k) {\n var split = k.match(/(.*)\\.\\d+$/);\n return split && split[1];\n });\n\n return _.compact(arrKeyPaths).reduce(function(pull, k) {\n pull[k] = null;\n return pull;\n }, {});\n };\n\n var getUndefinedKeys = function(obj) {\n return _.keys(obj).filter(function (k) {\n var v = obj[k];\n return _.isUndefined(v);\n });\n };\n\n return getUpdates;\n })();\n\n module.value('getUpdates', getUpdates);\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lib/get-updates.js\n **/","import _ from 'underscore';\n\nif (typeof _ === 'undefined') {\n if (typeof Package.underscore === 'undefined') {\n throw new Error('underscore is missing');\n }\n}\n\nexport default _ || Package.underscore._;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lib/underscore.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"root\":\"_\",\"amd\":\"underscore\",\"commonjs2\":\"underscore\",\"commonjs\":\"underscore\"}\n ** module id = 3\n ** module chunks = 0\n **/","/*global\n angular, _, Package\n */\n\nimport _ from './underscore';\n\n'use strict';\n\nvar _module = angular.module('diffArray', ['getUpdates']);\n\n_module.factory('diffArray', ['getUpdates',\n function(getUpdates) {\n var LocalCollection = Package.minimongo.LocalCollection;\n var idStringify = LocalCollection._idStringify || Package['mongo-id'].MongoID.idStringify;\n var idParse = LocalCollection._idParse || Package['mongo-id'].MongoID.idParse;\n\n // Calculates the differences between `lastSeqArray` and\n // `seqArray` and calls appropriate functions from `callbacks`.\n // Reuses Minimongo's diff algorithm implementation.\n // XXX Should be replaced with the original diffArray function here:\n // https://github.com/meteor/meteor/blob/devel/packages/observe-sequence/observe_sequence.js#L152\n // When it will become nested as well, tracking here: https://github.com/meteor/meteor/issues/3764\n function diffArray(lastSeqArray, seqArray, callbacks, preventNestedDiff) {\n preventNestedDiff = !!preventNestedDiff;\n\n var diffFn = Package.minimongo.LocalCollection._diffQueryOrderedChanges ||\n Package['diff-sequence'].DiffSequence.diffQueryOrderedChanges;\n\n var oldObjIds = [];\n var newObjIds = [];\n var posOld = {}; // maps from idStringify'd ids\n var posNew = {}; // ditto\n var posCur = {};\n var lengthCur = lastSeqArray.length;\n\n _.each(seqArray, function (doc, i) {\n newObjIds.push({_id: doc._id});\n posNew[idStringify(doc._id)] = i;\n });\n\n _.each(lastSeqArray, function (doc, i) {\n oldObjIds.push({_id: doc._id});\n posOld[idStringify(doc._id)] = i;\n posCur[idStringify(doc._id)] = i;\n });\n\n // Arrays can contain arbitrary objects. We don't diff the\n // objects. Instead we always fire 'changedAt' callback on every\n // object. The consumer of `observe-sequence` should deal with\n // it appropriately.\n diffFn(oldObjIds, newObjIds, {\n addedBefore: function (id, doc, before) {\n var position = before ? posCur[idStringify(before)] : lengthCur;\n\n _.each(posCur, function (pos, id) {\n if (pos >= position) posCur[id]++;\n });\n\n lengthCur++;\n posCur[idStringify(id)] = position;\n\n callbacks.addedAt(\n id,\n seqArray[posNew[idStringify(id)]],\n position,\n before\n );\n },\n\n movedBefore: function (id, before) {\n var prevPosition = posCur[idStringify(id)];\n var position = before ? posCur[idStringify(before)] : lengthCur - 1;\n\n _.each(posCur, function (pos, id) {\n if (pos >= prevPosition && pos <= position)\n posCur[id]--;\n else if (pos <= prevPosition && pos >= position)\n posCur[id]++;\n });\n\n posCur[idStringify(id)] = position;\n\n callbacks.movedTo(\n id,\n seqArray[posNew[idStringify(id)]],\n prevPosition,\n position,\n before\n );\n },\n removed: function (id) {\n var prevPosition = posCur[idStringify(id)];\n\n _.each(posCur, function (pos, id) {\n if (pos >= prevPosition) posCur[id]--;\n });\n\n delete posCur[idStringify(id)];\n lengthCur--;\n\n callbacks.removedAt(\n id,\n lastSeqArray[posOld[idStringify(id)]],\n prevPosition\n );\n }\n });\n\n _.each(posNew, function (pos, idString) {\n if (!_.has(posOld, idString)) return;\n\n var id = idParse(idString);\n var newItem = seqArray[pos] || {};\n var oldItem = lastSeqArray[posOld[idString]];\n var updates = getUpdates(oldItem, newItem, preventNestedDiff);\n\n if (!_.isEmpty(updates))\n callbacks.changedAt(id, updates, pos, oldItem);\n });\n }\n\n diffArray.shallow = function(lastSeqArray, seqArray, callbacks) {\n return diffArray(lastSeqArray, seqArray, callbacks, true);\n };\n\n diffArray.deepCopyChanges = function (oldItem, newItem) {\n var setDiff = getUpdates(oldItem, newItem).$set;\n\n _.each(setDiff, function(v, deepKey) {\n setDeep(oldItem, deepKey, v);\n });\n };\n\n diffArray.deepCopyRemovals = function (oldItem, newItem) {\n var unsetDiff = getUpdates(oldItem, newItem).$unset;\n\n _.each(unsetDiff, function(v, deepKey) {\n unsetDeep(oldItem, deepKey);\n });\n };\n\n // Finds changes between two collections\n diffArray.getChanges = function(newCollection, oldCollection, diffMethod) {\n var changes = {added: [], removed: [], changed: []};\n\n diffMethod(oldCollection, newCollection, {\n addedAt: function(id, item, index) {\n changes.added.push({item: item, index: index});\n },\n\n removedAt: function(id, item, index) {\n changes.removed.push({item: item, index: index});\n },\n\n changedAt: function(id, updates, index, oldItem) {\n changes.changed.push({selector: id, modifier: updates});\n },\n\n movedTo: function(id, item, fromIndex, toIndex) {\n // XXX do we need this?\n }\n });\n\n return changes;\n };\n\n var setDeep = function(obj, deepKey, v) {\n var split = deepKey.split('.');\n var initialKeys = _.initial(split);\n var lastKey = _.last(split);\n\n initialKeys.reduce(function(subObj, k, i) {\n var nextKey = split[i + 1];\n\n if (isNumStr(nextKey)) {\n if (subObj[k] === null) subObj[k] = [];\n if (subObj[k].length == parseInt(nextKey)) subObj[k].push(null);\n }\n\n else if (subObj[k] === null || !isHash(subObj[k])) {\n subObj[k] = {};\n }\n\n return subObj[k];\n }, obj);\n\n var deepObj = getDeep(obj, initialKeys);\n deepObj[lastKey] = v;\n return v;\n };\n\n var unsetDeep = function(obj, deepKey) {\n var split = deepKey.split('.');\n var initialKeys = _.initial(split);\n var lastKey = _.last(split);\n var deepObj = getDeep(obj, initialKeys);\n\n if (_.isArray(deepObj) && isNumStr(lastKey))\n return !!deepObj.splice(lastKey, 1);\n else\n return delete deepObj[lastKey];\n };\n\n var getDeep = function(obj, keys) {\n return keys.reduce(function(subObj, k) {\n return subObj[k];\n }, obj);\n };\n\n var isHash = function(obj) {\n return _.isObject(obj) &&\n Object.getPrototypeOf(obj) === Object.prototype;\n };\n\n var isNumStr = function(str) {\n return str.match(/^\\d+$/);\n };\n\n return diffArray;\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lib/diff-array.js\n **/","angular.module('angular-meteor.settings', [])\n .constant('$angularMeteorSettings', {\n suppressWarnings: true\n });\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-settings.js\n **/","angular.module('angular-meteor.ironrouter', [])\n\n\n.run([\n '$compile',\n '$document',\n '$rootScope',\n\nfunction ($compile, $document, $rootScope) {\n const Router = (Package['iron:router'] || {}).Router;\n if (!Router) return;\n\n let isLoaded = false;\n\n // Recompile after iron:router builds page\n Router.onAfterAction((req, res, next) => {\n Tracker.afterFlush(() => {\n if (isLoaded) return;\n $compile($document)($rootScope);\n if (!$rootScope.$$phase) $rootScope.$apply();\n isLoaded = true;\n });\n });\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-ironrouter.js\n **/","/*global\n angular, _, Tracker, EJSON, FS, Mongo\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorUtils = angular.module('angular-meteor.utils', ['angular-meteor.settings']);\n\nangularMeteorUtils.service('$meteorUtils', [\n '$q', '$timeout', '$angularMeteorSettings',\n function ($q, $timeout, $angularMeteorSettings) {\n\n var self = this;\n\n this.autorun = function(scope, fn) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n\n // wrapping around Deps.autorun\n var comp = Tracker.autorun(function(c) {\n fn(c);\n // this is run immediately for the first call\n // but after that, we need to $apply to start Angular digest\n if (!c.firstRun) $timeout(angular.noop, 0);\n });\n\n // stop autorun when scope is destroyed\n scope.$on('$destroy', function() {\n comp.stop();\n });\n\n // return autorun object so that it can be stopped manually\n return comp;\n };\n\n // Borrowed from angularFire\n // https://github.com/firebase/angularfire/blob/master/src/utils.js#L445-L454\n this.stripDollarPrefixedKeys = function (data) {\n if (!_.isObject(data) ||\n data instanceof Date ||\n data instanceof File ||\n EJSON.toJSONValue(data).$type === 'oid' ||\n (typeof FS === 'object' && data instanceof FS.File))\n return data;\n\n var out = _.isArray(data) ? [] : {};\n\n _.each(data, function(v,k) {\n if(typeof k !== 'string' || k.charAt(0) !== '$')\n out[k] = self.stripDollarPrefixedKeys(v);\n });\n\n return out;\n };\n\n // Returns a callback which fulfills promise\n this.fulfill = function(deferred, boundError, boundResult) {\n return function(err, result) {\n if (err)\n deferred.reject(boundError == null ? err : boundError);\n else if (typeof boundResult == \"function\")\n deferred.resolve(boundResult == null ? result : boundResult(result));\n else\n deferred.resolve(boundResult == null ? result : boundResult);\n };\n };\n\n // creates a function which invokes method with the given arguments and returns a promise\n this.promissor = function(obj, method) {\n return function() {\n var deferred = $q.defer();\n var fulfill = self.fulfill(deferred);\n var args = _.toArray(arguments).concat(fulfill);\n obj[method].apply(obj, args);\n return deferred.promise;\n };\n };\n\n // creates a $q.all() promise and call digestion loop on fulfillment\n this.promiseAll = function(promises) {\n var allPromise = $q.all(promises);\n\n allPromise.finally(function() {\n // calls digestion loop with no conflicts\n $timeout(angular.noop);\n });\n\n return allPromise;\n };\n\n this.getCollectionByName = function(string){\n return Mongo.Collection.get(string);\n };\n\n this.findIndexById = function(collection, doc) {\n var foundDoc = _.find(collection, function(colDoc) {\n // EJSON.equals used to compare Mongo.ObjectIDs and Strings.\n return EJSON.equals(colDoc._id, doc._id);\n });\n\n return _.indexOf(collection, foundDoc);\n };\n }\n]);\n\nangularMeteorUtils.run([\n '$rootScope', '$meteorUtils',\n function($rootScope, $meteorUtils) {\n Object.getPrototypeOf($rootScope).$meteorAutorun = function(fn) {\n return $meteorUtils.autorun(this, fn);\n };\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-utils.js\n **/","/*global\n angular, Meteor\n */\n\n'use strict';\nvar angularMeteorSubscribe = angular.module('angular-meteor.subscribe', ['angular-meteor.settings']);\n\nangularMeteorSubscribe.service('$meteorSubscribe', ['$q', '$angularMeteorSettings',\n function ($q, $angularMeteorSettings) {\n\n var self = this;\n\n this._subscribe = function(scope, deferred, args) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var subscription = null;\n var lastArg = args[args.length - 1];\n\n // User supplied onStop callback\n // save it for later use and remove\n // from subscription arguments\n if (angular.isObject(lastArg) &&\n angular.isFunction(lastArg.onStop)) {\n var onStop = lastArg.onStop;\n\n args.pop();\n }\n\n args.push({\n onReady: function() {\n deferred.resolve(subscription);\n },\n onStop: function(err) {\n if (!deferred.promise.$$state.status) {\n if (err)\n deferred.reject(err);\n else\n deferred.reject(new Meteor.Error(\"Subscription Stopped\",\n \"Subscription stopped by a call to stop method. Either by the client or by the server.\"));\n } else if (onStop)\n // After promise was resolved or rejected\n // call user supplied onStop callback.\n onStop.apply(this, Array.prototype.slice.call(arguments));\n\n }\n });\n\n subscription = Meteor.subscribe.apply(scope, args);\n\n return subscription;\n };\n\n this.subscribe = function(){\n var deferred = $q.defer();\n var args = Array.prototype.slice.call(arguments);\n var subscription = null;\n\n self._subscribe(this, deferred, args);\n\n return deferred.promise;\n };\n }]);\n\nangularMeteorSubscribe.run(['$rootScope', '$q', '$meteorSubscribe',\n function($rootScope, $q, $meteorSubscribe) {\n Object.getPrototypeOf($rootScope).$meteorSubscribe = function() {\n var deferred = $q.defer();\n var args = Array.prototype.slice.call(arguments);\n\n var subscription = $meteorSubscribe._subscribe(this, deferred, args);\n\n this.$on('$destroy', function() {\n subscription.stop();\n });\n\n return deferred.promise;\n };\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-subscribe.js\n **/","/*global\n angular, _, Tracker, check, Match, Mongo\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorCollection = angular.module('angular-meteor.collection',\n ['angular-meteor.stopper', 'angular-meteor.subscribe', 'angular-meteor.utils', 'diffArray', 'angular-meteor.settings']);\n\n// The reason angular meteor collection is a factory function and not something\n// that inherit from array comes from here:\n// http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/\n// We went with the direct extensions approach.\nangularMeteorCollection.factory('AngularMeteorCollection', [\n '$q', '$meteorSubscribe', '$meteorUtils', '$rootScope', '$timeout', 'diffArray', '$angularMeteorSettings',\n function($q, $meteorSubscribe, $meteorUtils, $rootScope, $timeout, diffArray, $angularMeteorSettings) {\n\n function AngularMeteorCollection(curDefFunc, collection, diffArrayFunc, autoClientSave) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var data = [];\n // Server backup data to evaluate what changes come from client\n // after each server update.\n data._serverBackup = [];\n // Array differ function.\n data._diffArrayFunc = diffArrayFunc;\n // Handler of the cursor observer.\n data._hObserve = null;\n // On new cursor autorun handler\n // (autorun for reactive variables).\n data._hNewCurAutorun = null;\n // On new data autorun handler\n // (autorun for cursor.fetch).\n data._hDataAutorun = null;\n\n if (angular.isDefined(collection)) {\n data.$$collection = collection;\n } else {\n var cursor = curDefFunc();\n data.$$collection = $meteorUtils.getCollectionByName(cursor.collection.name);\n }\n\n _.extend(data, AngularMeteorCollection);\n data._startCurAutorun(curDefFunc, autoClientSave);\n\n return data;\n }\n\n AngularMeteorCollection._startCurAutorun = function(curDefFunc, autoClientSave) {\n var self = this;\n\n self._hNewCurAutorun = Tracker.autorun(function() {\n // When the reactive func gets recomputated we need to stop any previous\n // observeChanges.\n Tracker.onInvalidate(function() {\n self._stopCursor();\n });\n\n if (autoClientSave) self._setAutoClientSave();\n self._updateCursor(curDefFunc(), autoClientSave);\n });\n };\n\n AngularMeteorCollection.subscribe = function() {\n $meteorSubscribe.subscribe.apply(this, arguments);\n return this;\n };\n\n AngularMeteorCollection.save = function(docs, useUnsetModifier) {\n // save whole collection\n if (!docs) docs = this;\n // save single doc\n docs = [].concat(docs);\n\n var promises = docs.map(function(doc) {\n return this._upsertDoc(doc, useUnsetModifier);\n }, this);\n\n return $meteorUtils.promiseAll(promises);\n };\n\n AngularMeteorCollection._upsertDoc = function(doc, useUnsetModifier) {\n var deferred = $q.defer();\n var collection = this.$$collection;\n var createFulfill = _.partial($meteorUtils.fulfill, deferred, null);\n\n // delete $$hashkey\n doc = $meteorUtils.stripDollarPrefixedKeys(doc);\n var docId = doc._id;\n var isExist = collection.findOne(docId);\n\n // update\n if (isExist) {\n // Deletes _id property (from the copy) so that\n // it can be $set using update.\n delete doc._id;\n var modifier = useUnsetModifier ? {$unset: doc} : {$set: doc};\n // NOTE: do not use #upsert() method, since it does not exist in some collections\n collection.update(docId, modifier, createFulfill(function() {\n return {_id: docId, action: 'updated'};\n }));\n }\n // insert\n else {\n collection.insert(doc, createFulfill(function(id) {\n return {_id: id, action: 'inserted'};\n }));\n }\n\n return deferred.promise;\n };\n\n // performs $pull operations parallely.\n // used for handling splice operations returned from getUpdates() to prevent conflicts.\n // see issue: https://github.com/Urigo/angular-meteor/issues/793\n AngularMeteorCollection._updateDiff = function(selector, update, callback) {\n callback = callback || angular.noop;\n var setters = _.omit(update, '$pull');\n var updates = [setters];\n\n _.each(update.$pull, function(pull, prop) {\n var puller = {};\n puller[prop] = pull;\n updates.push({ $pull: puller });\n });\n\n this._updateParallel(selector, updates, callback);\n };\n\n // performs each update operation parallely\n AngularMeteorCollection._updateParallel = function(selector, updates, callback) {\n var self = this;\n var done = _.after(updates.length, callback);\n\n var next = function(err, affectedDocsNum) {\n if (err) return callback(err);\n done(null, affectedDocsNum);\n };\n\n _.each(updates, function(update) {\n self.$$collection.update(selector, update, next);\n });\n };\n\n AngularMeteorCollection.remove = function(keyOrDocs) {\n var keys;\n\n // remove whole collection\n if (!keyOrDocs) {\n keys = _.pluck(this, '_id');\n }\n // remove docs\n else {\n keyOrDocs = [].concat(keyOrDocs);\n\n keys = _.map(keyOrDocs, function(keyOrDoc) {\n return keyOrDoc._id || keyOrDoc;\n });\n }\n\n // Checks if all keys are correct.\n check(keys, [Match.OneOf(String, Mongo.ObjectID)]);\n\n var promises = keys.map(function(key) {\n return this._removeDoc(key);\n }, this);\n\n return $meteorUtils.promiseAll(promises);\n };\n\n AngularMeteorCollection._removeDoc = function(id) {\n var deferred = $q.defer();\n var collection = this.$$collection;\n var fulfill = $meteorUtils.fulfill(deferred, null, { _id: id, action: 'removed' });\n collection.remove(id, fulfill);\n return deferred.promise;\n };\n\n AngularMeteorCollection._updateCursor = function(cursor, autoClientSave) {\n var self = this;\n // XXX - consider adding an option for a non-orderd result for faster performance\n if (self._hObserve) self._stopObserving();\n\n\n self._hObserve = cursor.observe({\n addedAt: function(doc, atIndex) {\n self.splice(atIndex, 0, doc);\n self._serverBackup.splice(atIndex, 0, doc);\n self._setServerUpdateMode();\n },\n\n changedAt: function(doc, oldDoc, atIndex) {\n diffArray.deepCopyChanges(self[atIndex], doc);\n diffArray.deepCopyRemovals(self[atIndex], doc);\n self._serverBackup[atIndex] = self[atIndex];\n self._setServerUpdateMode();\n },\n\n movedTo: function(doc, fromIndex, toIndex) {\n self.splice(fromIndex, 1);\n self.splice(toIndex, 0, doc);\n self._serverBackup.splice(fromIndex, 1);\n self._serverBackup.splice(toIndex, 0, doc);\n self._setServerUpdateMode();\n },\n\n removedAt: function(oldDoc) {\n var removedIndex = $meteorUtils.findIndexById(self, oldDoc);\n\n if (removedIndex != -1) {\n self.splice(removedIndex, 1);\n self._serverBackup.splice(removedIndex, 1);\n self._setServerUpdateMode();\n } else {\n // If it's been removed on client then it's already not in collection\n // itself but still is in the _serverBackup.\n removedIndex = $meteorUtils.findIndexById(self._serverBackup, oldDoc);\n\n if (removedIndex != -1) {\n self._serverBackup.splice(removedIndex, 1);\n }\n }\n }\n });\n\n self._hDataAutorun = Tracker.autorun(function() {\n cursor.fetch();\n if (self._serverMode) self._unsetServerUpdateMode(autoClientSave);\n });\n };\n\n AngularMeteorCollection._stopObserving = function() {\n this._hObserve.stop();\n this._hDataAutorun.stop();\n delete this._serverMode;\n delete this._hUnsetTimeout;\n };\n\n AngularMeteorCollection._setServerUpdateMode = function(name) {\n this._serverMode = true;\n // To simplify server update logic, we don't follow\n // updates from the client at the same time.\n this._unsetAutoClientSave();\n };\n\n // Here we use $timeout to combine multiple updates that go\n // each one after another.\n AngularMeteorCollection._unsetServerUpdateMode = function(autoClientSave) {\n var self = this;\n\n if (self._hUnsetTimeout) {\n $timeout.cancel(self._hUnsetTimeout);\n self._hUnsetTimeout = null;\n }\n\n self._hUnsetTimeout = $timeout(function() {\n self._serverMode = false;\n // Finds updates that was potentially done from the client side\n // and saves them.\n var changes = diffArray.getChanges(self, self._serverBackup, self._diffArrayFunc);\n self._saveChanges(changes);\n // After, continues following client updates.\n if (autoClientSave) self._setAutoClientSave();\n }, 0);\n };\n\n AngularMeteorCollection.stop = function() {\n this._stopCursor();\n this._hNewCurAutorun.stop();\n };\n\n AngularMeteorCollection._stopCursor = function() {\n this._unsetAutoClientSave();\n\n if (this._hObserve) {\n this._hObserve.stop();\n this._hDataAutorun.stop();\n }\n\n this.splice(0);\n this._serverBackup.splice(0);\n };\n\n AngularMeteorCollection._unsetAutoClientSave = function(name) {\n if (this._hRegAutoBind) {\n this._hRegAutoBind();\n this._hRegAutoBind = null;\n }\n };\n\n AngularMeteorCollection._setAutoClientSave = function() {\n var self = this;\n\n // Always unsets auto save to keep only one $watch handler.\n self._unsetAutoClientSave();\n\n self._hRegAutoBind = $rootScope.$watch(function() {\n return self;\n }, function(nItems, oItems) {\n if (nItems === oItems) return;\n\n var changes = diffArray.getChanges(self, oItems, self._diffArrayFunc);\n self._unsetAutoClientSave();\n self._saveChanges(changes);\n self._setAutoClientSave();\n }, true);\n };\n\n AngularMeteorCollection._saveChanges = function(changes) {\n var self = this;\n\n // Saves added documents\n // Using reversed iteration to prevent indexes from changing during splice\n var addedDocs = changes.added.reverse().map(function(descriptor) {\n self.splice(descriptor.index, 1);\n return descriptor.item;\n });\n\n if (addedDocs.length) self.save(addedDocs);\n\n // Removes deleted documents\n var removedDocs = changes.removed.map(function(descriptor) {\n return descriptor.item;\n });\n\n if (removedDocs.length) self.remove(removedDocs);\n\n // Updates changed documents\n changes.changed.forEach(function(descriptor) {\n self._updateDiff(descriptor.selector, descriptor.modifier);\n });\n };\n\n return AngularMeteorCollection;\n}]);\n\nangularMeteorCollection.factory('$meteorCollectionFS', [\n '$meteorCollection', 'diffArray', '$angularMeteorSettings',\n function($meteorCollection, diffArray, $angularMeteorSettings) {\n function $meteorCollectionFS(reactiveFunc, autoClientSave, collection) {\n\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n return new $meteorCollection(reactiveFunc, autoClientSave, collection, diffArray.shallow);\n }\n\n return $meteorCollectionFS;\n}]);\n\nangularMeteorCollection.factory('$meteorCollection', [\n 'AngularMeteorCollection', '$rootScope', 'diffArray',\n function(AngularMeteorCollection, $rootScope, diffArray) {\n function $meteorCollection(reactiveFunc, autoClientSave, collection, diffFn) {\n // Validate parameters\n if (!reactiveFunc) {\n throw new TypeError('The first argument of $meteorCollection is undefined.');\n }\n\n if (!(angular.isFunction(reactiveFunc) || angular.isFunction(reactiveFunc.find))) {\n throw new TypeError(\n 'The first argument of $meteorCollection must be a function or ' +\n 'a have a find function property.');\n }\n\n if (!angular.isFunction(reactiveFunc)) {\n collection = angular.isDefined(collection) ? collection : reactiveFunc;\n reactiveFunc = _.bind(reactiveFunc.find, reactiveFunc);\n }\n\n // By default auto save - true.\n autoClientSave = angular.isDefined(autoClientSave) ? autoClientSave : true;\n diffFn = diffFn || diffArray;\n return new AngularMeteorCollection(reactiveFunc, collection, diffFn, autoClientSave);\n }\n\n return $meteorCollection;\n}]);\n\nangularMeteorCollection.run([\n '$rootScope', '$meteorCollection', '$meteorCollectionFS', '$meteorStopper',\n function($rootScope, $meteorCollection, $meteorCollectionFS, $meteorStopper) {\n var scopeProto = Object.getPrototypeOf($rootScope);\n scopeProto.$meteorCollection = $meteorStopper($meteorCollection);\n scopeProto.$meteorCollectionFS = $meteorStopper($meteorCollectionFS);\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-collection.js\n **/","/*global\n angular, _, Mongo\n*/\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorObject = angular.module('angular-meteor.object',\n ['angular-meteor.utils', 'angular-meteor.subscribe', 'angular-meteor.collection', 'getUpdates', 'diffArray', 'angular-meteor.settings']);\n\nangularMeteorObject.factory('AngularMeteorObject', [\n '$q', '$meteorSubscribe', '$meteorUtils', 'diffArray', 'getUpdates', 'AngularMeteorCollection', '$angularMeteorSettings',\n function($q, $meteorSubscribe, $meteorUtils, diffArray, getUpdates, AngularMeteorCollection, $angularMeteorSettings) {\n\n // A list of internals properties to not watch for, nor pass to the Document on update and etc.\n AngularMeteorObject.$$internalProps = [\n '$$collection', '$$options', '$$id', '$$hashkey', '$$internalProps', '$$scope',\n 'bind', 'save', 'reset', 'subscribe', 'stop', 'autorunComputation', 'unregisterAutoBind', 'unregisterAutoDestroy', 'getRawObject',\n '_auto', '_setAutos', '_eventEmitter', '_serverBackup', '_updateDiff', '_updateParallel', '_getId'\n ];\n\n function AngularMeteorObject (collection, selector, options){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n // Make data not be an object so we can extend it to preserve\n // Collection Helpers and the like\n var helpers = collection._helpers;\n var data = _.isFunction(helpers) ? Object.create(helpers.prototype) : {};\n var doc = collection.findOne(selector, options);\n var collectionExtension = _.pick(AngularMeteorCollection, '_updateParallel');\n _.extend(data, doc);\n _.extend(data, AngularMeteorObject);\n _.extend(data, collectionExtension);\n\n // Omit options that may spoil document finding\n data.$$options = _.omit(options, 'skip', 'limit');\n data.$$collection = collection;\n data.$$id = data._getId(selector);\n data._serverBackup = doc || {};\n\n return data;\n }\n\n AngularMeteorObject.getRawObject = function () {\n return angular.copy(_.omit(this, this.$$internalProps));\n };\n\n AngularMeteorObject.subscribe = function () {\n $meteorSubscribe.subscribe.apply(this, arguments);\n return this;\n };\n\n AngularMeteorObject.save = function(custom) {\n var deferred = $q.defer();\n var collection = this.$$collection;\n var createFulfill = _.partial($meteorUtils.fulfill, deferred, null);\n var oldDoc = collection.findOne(this.$$id);\n var mods;\n\n // update\n if (oldDoc) {\n if (custom)\n mods = { $set: custom };\n else {\n mods = getUpdates(oldDoc, this.getRawObject());\n // If there are no updates, there is nothing to do here, returning\n if (_.isEmpty(mods)) {\n return $q.when({ action: 'updated' });\n }\n }\n\n // NOTE: do not use #upsert() method, since it does not exist in some collections\n this._updateDiff(mods, createFulfill({ action: 'updated' }));\n }\n // insert\n else {\n if (custom)\n mods = _.clone(custom);\n else\n mods = this.getRawObject();\n\n mods._id = mods._id || this.$$id;\n collection.insert(mods, createFulfill({ action: 'inserted' }));\n }\n\n return deferred.promise;\n };\n\n AngularMeteorObject._updateDiff = function(update, callback) {\n var selector = this.$$id;\n AngularMeteorCollection._updateDiff.call(this, selector, update, callback);\n };\n\n AngularMeteorObject.reset = function(keepClientProps) {\n var self = this;\n var options = this.$$options;\n var id = this.$$id;\n var doc = this.$$collection.findOne(id, options);\n\n if (doc) {\n // extend SubObject\n var docKeys = _.keys(doc);\n var docExtension = _.pick(doc, docKeys);\n var clientProps;\n\n _.extend(self, docExtension);\n _.extend(self._serverBackup, docExtension);\n\n if (keepClientProps) {\n clientProps = _.intersection(_.keys(self), _.keys(self._serverBackup));\n } else {\n clientProps = _.keys(self);\n }\n\n var serverProps = _.keys(doc);\n var removedKeys = _.difference(clientProps, serverProps, self.$$internalProps);\n\n removedKeys.forEach(function (prop) {\n delete self[prop];\n delete self._serverBackup[prop];\n });\n }\n\n else {\n _.keys(this.getRawObject()).forEach(function(prop) {\n delete self[prop];\n });\n\n self._serverBackup = {};\n }\n };\n\n AngularMeteorObject.stop = function () {\n if (this.unregisterAutoDestroy)\n this.unregisterAutoDestroy();\n\n if (this.unregisterAutoBind)\n this.unregisterAutoBind();\n\n if (this.autorunComputation && this.autorunComputation.stop)\n this.autorunComputation.stop();\n };\n\n AngularMeteorObject._getId = function(selector) {\n var options = _.extend({}, this.$$options, {\n fields: { _id: 1 },\n reactive: false,\n transform: null\n });\n\n var doc = this.$$collection.findOne(selector, options);\n\n if (doc) return doc._id;\n if (selector instanceof Mongo.ObjectID) return selector;\n if (_.isString(selector)) return selector;\n return new Mongo.ObjectID();\n };\n\n return AngularMeteorObject;\n}]);\n\n\nangularMeteorObject.factory('$meteorObject', [\n '$rootScope', '$meteorUtils', 'getUpdates', 'AngularMeteorObject',\n function($rootScope, $meteorUtils, getUpdates, AngularMeteorObject) {\n function $meteorObject(collection, id, auto, options) {\n // Validate parameters\n if (!collection) {\n throw new TypeError(\"The first argument of $meteorObject is undefined.\");\n }\n\n if (!angular.isFunction(collection.findOne)) {\n throw new TypeError(\"The first argument of $meteorObject must be a function or a have a findOne function property.\");\n }\n\n var data = new AngularMeteorObject(collection, id, options);\n // Making auto default true - http://stackoverflow.com/a/15464208/1426570\n data._auto = auto !== false;\n _.extend(data, $meteorObject);\n data._setAutos();\n return data;\n }\n\n $meteorObject._setAutos = function() {\n var self = this;\n\n this.autorunComputation = $meteorUtils.autorun($rootScope, function() {\n self.reset(true);\n });\n\n // Deep watches the model and performs autobind\n this.unregisterAutoBind = this._auto && $rootScope.$watch(function(){\n return self.getRawObject();\n }, function (item, oldItem) {\n if (item !== oldItem) self.save();\n }, true);\n\n this.unregisterAutoDestroy = $rootScope.$on('$destroy', function() {\n if (self && self.stop) self.pop();\n });\n };\n\n return $meteorObject;\n}]);\n\nangularMeteorObject.run([\n '$rootScope', '$meteorObject', '$meteorStopper',\n function ($rootScope, $meteorObject, $meteorStopper) {\n var scopeProto = Object.getPrototypeOf($rootScope);\n scopeProto.$meteorObject = $meteorStopper($meteorObject);\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-object.js\n **/","/*global\n angular, _, Package, Meteor\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorUser = angular.module('angular-meteor.user', [\n 'angular-meteor.utils',\n 'angular-meteor.core',\n 'angular-meteor.settings'\n]);\n\n// requires package 'accounts-password'\nangularMeteorUser.service('$meteorUser', [\n '$rootScope', '$meteorUtils', '$q', '$angularMeteorSettings',\n function($rootScope, $meteorUtils, $q, $angularMeteorSettings){\n\n var pack = Package['accounts-base'];\n if (!pack) return;\n\n var self = this;\n var Accounts = pack.Accounts;\n\n this.waitForUser = function(){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var deferred = $q.defer();\n\n $meteorUtils.autorun($rootScope, function(){\n if ( !Meteor.loggingIn() )\n deferred.resolve( Meteor.user() );\n }, true);\n\n return deferred.promise;\n };\n\n this.requireUser = function(){\n if (!$angularMeteorSettings.suppressWarnings) {\n console.warn('[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n }\n\n var deferred = $q.defer();\n\n $meteorUtils.autorun($rootScope, function(){\n if ( !Meteor.loggingIn() ) {\n if ( Meteor.user() === null)\n deferred.reject(\"AUTH_REQUIRED\");\n else\n deferred.resolve( Meteor.user() );\n }\n }, true);\n\n return deferred.promise;\n };\n\n this.requireValidUser = function(validatorFn) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n return self.requireUser(true).then(function(user){\n var valid = validatorFn( user );\n\n if ( valid === true )\n return user;\n else if ( typeof valid === \"string\" )\n return $q.reject( valid );\n else\n return $q.reject( \"FORBIDDEN\" );\n\t });\n\t };\n\n this.loginWithPassword = $meteorUtils.promissor(Meteor, 'loginWithPassword');\n this.createUser = $meteorUtils.promissor(Accounts, 'createUser');\n this.changePassword = $meteorUtils.promissor(Accounts, 'changePassword');\n this.forgotPassword = $meteorUtils.promissor(Accounts, 'forgotPassword');\n this.resetPassword = $meteorUtils.promissor(Accounts, 'resetPassword');\n this.verifyEmail = $meteorUtils.promissor(Accounts, 'verifyEmail');\n this.logout = $meteorUtils.promissor(Meteor, 'logout');\n this.logoutOtherClients = $meteorUtils.promissor(Meteor, 'logoutOtherClients');\n this.loginWithFacebook = $meteorUtils.promissor(Meteor, 'loginWithFacebook');\n this.loginWithTwitter = $meteorUtils.promissor(Meteor, 'loginWithTwitter');\n this.loginWithGoogle = $meteorUtils.promissor(Meteor, 'loginWithGoogle');\n this.loginWithGithub = $meteorUtils.promissor(Meteor, 'loginWithGithub');\n this.loginWithMeteorDeveloperAccount = $meteorUtils.promissor(Meteor, 'loginWithMeteorDeveloperAccount');\n this.loginWithMeetup = $meteorUtils.promissor(Meteor, 'loginWithMeetup');\n this.loginWithWeibo = $meteorUtils.promissor(Meteor, 'loginWithWeibo');\n }\n]);\n\nangularMeteorUser.run([\n '$rootScope', '$angularMeteorSettings', '$$Core',\n function($rootScope, $angularMeteorSettings, $$Core){\n\n let ScopeProto = Object.getPrototypeOf($rootScope);\n _.extend(ScopeProto, $$Core);\n\n $rootScope.autorun(function(){\n if (!Meteor.user) return;\n $rootScope.currentUser = Meteor.user();\n $rootScope.loggingIn = Meteor.loggingIn();\n });\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-user.js\n **/","/*global\n angular, _, Meteor\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorMethods = angular.module('angular-meteor.methods', ['angular-meteor.utils', 'angular-meteor.settings']);\n\nangularMeteorMethods.service('$meteorMethods', [\n '$q', '$meteorUtils', '$angularMeteorSettings',\n function($q, $meteorUtils, $angularMeteorSettings) {\n this.call = function(){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var deferred = $q.defer();\n var fulfill = $meteorUtils.fulfill(deferred);\n var args = _.toArray(arguments).concat(fulfill);\n Meteor.call.apply(this, args);\n return deferred.promise;\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-methods.js\n **/","/*global\n angular, Session\n */\n\n'use strict';\nvar angularMeteorSession = angular.module('angular-meteor.session', ['angular-meteor.utils', 'angular-meteor.settings']);\n\nangularMeteorSession.factory('$meteorSession', ['$meteorUtils', '$parse', '$angularMeteorSettings',\n function ($meteorUtils, $parse, $angularMeteorSettings) {\n return function (session) {\n\n return {\n\n bind: function(scope, model) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var getter = $parse(model);\n var setter = getter.assign;\n $meteorUtils.autorun(scope, function() {\n setter(scope, Session.get(session));\n });\n\n scope.$watch(model, function(newItem, oldItem) {\n Session.set(session, getter(scope));\n }, true);\n\n }\n };\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-session.js\n **/","/*global\n angular, Package\n */\n\n'use strict';\n\nvar angularMeteorCamera = angular.module('angular-meteor.camera', ['angular-meteor.utils', 'angular-meteor.settings']);\n\n// requires package 'mdg:camera'\nangularMeteorCamera.service('$meteorCamera', [\n '$q', '$meteorUtils', '$angularMeteorSettings',\n function ($q, $meteorUtils, $angularMeteorSettings) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n var pack = Package['mdg:camera'];\n if (!pack) return;\n\n var MeteorCamera = pack.MeteorCamera;\n\n this.getPicture = function(options){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n options = options || {};\n var deferred = $q.defer();\n MeteorCamera.getPicture(options, $meteorUtils.fulfill(deferred));\n return deferred.promise;\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-camera.js\n **/","/*global\n angular\n */\n\n'use strict';\n\nvar angularMeteorStopper = angular.module('angular-meteor.stopper',\n ['angular-meteor.subscribe']);\n\nangularMeteorStopper.factory('$meteorStopper', ['$q', '$meteorSubscribe',\n function($q, $meteorSubscribe) {\n function $meteorStopper($meteorEntity) {\n return function() {\n var args = Array.prototype.slice.call(arguments);\n var meteorEntity = $meteorEntity.apply(this, args);\n\n angular.extend(meteorEntity, $meteorStopper);\n meteorEntity.$$scope = this;\n\n this.$on('$destroy', function () {\n meteorEntity.stop();\n if (meteorEntity.subscription) meteorEntity.subscription.stop();\n });\n\n return meteorEntity;\n };\n }\n\n $meteorStopper.subscribe = function() {\n var args = Array.prototype.slice.call(arguments);\n this.subscription = $meteorSubscribe._subscribe(this.$$scope, $q.defer(), args);\n return this;\n };\n\n return $meteorStopper;\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-stopper.js\n **/","import _ from '../lib/underscore';\n\nexport const name = 'angular-meteor.utilities';\nexport const utils = '$$utils';\n\nangular.module(name, [])\n\n/*\n A utility service which is provided with general utility functions\n */\n.service(utils, [\n '$rootScope',\n\n function($rootScope) {\n const self = this;\n\n // Checks if an object is a cursor\n this.isCursor = (obj) => {\n return obj instanceof Meteor.Collection.Cursor;\n };\n\n // Cheecks if an object is a scope\n this.isScope = (obj) => {\n return obj instanceof $rootScope.constructor;\n };\n\n // Checks if an object is a view model\n this.isViewModel = (obj) => {\n return _.isObject(obj) && obj.$$dependencies;\n };\n\n // Checks if two objects are siblings\n this.areSiblings = (obj1, obj2) => {\n return _.isObject(obj1) && _.isObject(obj2) &&\n Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2);\n };\n\n // Binds function into a scpecified context. If an object is provided, will bind every\n // value in the object which is a function. If a tap function is provided, it will be\n // called right after the function has been invoked.\n this.bind = (fn, context, tap) => {\n tap = _.isFunction(tap) ? tap : angular.noop;\n if (_.isFunction(fn)) return bindFn(fn, context, tap);\n if (_.isObject(fn)) return bindObj(fn, context, tap);\n return fn;\n };\n\n function bindFn(fn, context, tap) {\n return (...args) => {\n const result = fn.apply(context, args);\n tap.call(context, {\n result,\n args\n });\n return result;\n };\n }\n\n function bindObj(obj, context, tap) {\n return _.keys(obj).reduce((bound, k) => {\n bound[k] = self.bind(obj[k], context, tap);\n return bound;\n }, {});\n }\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/utils.js\n **/","import _ from '../lib/underscore';\n\nexport const name = 'angular-meteor.mixer';\nexport const Mixer = '$Mixer';\n\nangular.module(name, [])\n\n/*\n A service which lets us apply mixins into Scope.prototype.\n The flow is simple. Once we define a mixin, it will be stored in the `$Mixer`,\n and any time a `ChildScope` prototype is created\n it will be extended by the `$Mixer`.\n This concept is good because it keeps our code\n clean and simple, and easy to extend.\n So any time we would like to define a new behaviour to our scope,\n we will just use the `$Mixer` service.\n */\n.service(Mixer, function() {\n // Used to store method's caller\n let caller;\n\n this._mixins = [];\n // Apply mixins automatically on specified contexts\n this._autoExtend = [];\n this._autoConstruct = [];\n\n // Adds a new mixin\n this.mixin = (mixin) => {\n if (!_.isObject(mixin)) {\n throw Error('argument 1 must be an object');\n }\n\n this._mixins = _.union(this._mixins, [mixin]);\n // Apply mixins to stored contexts\n this._autoExtend.forEach(context => this._extend(context));\n this._autoConstruct.forEach(context => this._construct(context));\n return this;\n };\n\n // Removes a mixin. Useful mainly for test purposes\n this._mixout = (mixin) => {\n this._mixins = _.without(this._mixins, mixin);\n return this;\n };\n\n // Invoke function mixins with the provided context and arguments\n this._construct = (context, ...args) => {\n this._mixins.filter(_.isFunction).forEach((mixin) => {\n mixin.call(context, ...args);\n });\n\n return context;\n };\n\n // Extend prototype with the defined mixins\n this._extend = (obj, options) => {\n const { pattern, context } = _.defaults({}, options, {\n pattern: /.*/, // The patterns of the keys which will be filtered\n });\n\n const mixins = this._mixins.map((mixin) => {\n // Filtering the keys by the specified pattern\n const keys = _.keys(mixin)\n .filter(k => k.match(pattern))\n .filter(k => _.isFunction(mixin[k]));\n\n return keys.reduce((boundMixin, methodName) => {\n const methodHandler = mixin[methodName];\n\n // Note that this is not an arrow function so we can conserve the conetxt\n boundMixin[methodName] = function(...args) {\n // Storing original caller so we will know who actually called the\n // method event though it is bound to another context\n const methodContext = context || this;\n const recentCaller = caller;\n caller = this;\n\n try {\n return methodHandler.apply(methodContext, args);\n }\n finally {\n // No matter what happens, restore variable to the previous one\n caller = recentCaller;\n }\n };\n\n return boundMixin;\n }, {});\n });\n\n return _.extend(obj, ...mixins);\n };\n\n // Caller property can not be set\n Object.defineProperty(this, 'caller', {\n configurable: true,\n enumerable: true,\n\n get: () => {\n return caller;\n }\n });\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/mixer.js\n **/","import { name as mixerName, Mixer } from './mixer';\n\nexport const name = 'angular-meteor.scope';\n\nangular.module(name, [\n mixerName\n])\n\n.run([\n '$rootScope',\n Mixer,\n function($rootScope, $Mixer) {\n const Scope = $rootScope.constructor;\n const $new = $rootScope.$new;\n\n // Apply extensions whether a mixin in defined.\n // Note that this way mixins which are initialized later\n // can be applied on rootScope.\n $Mixer._autoExtend.push(Scope.prototype);\n $Mixer._autoConstruct.push($rootScope);\n\n Scope.prototype.$new = function() {\n const scope = $new.apply(this, arguments);\n // Apply constructors to newly created scopes\n return $Mixer._construct(scope);\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/scope.js\n **/","import _ from '../lib/underscore';\nimport { name as utilsName, utils } from './utils';\nimport { name as mixerName, Mixer } from './mixer';\n\nexport const name = 'angular-meteor.core';\nexport const Core = '$$Core';\n\nangular.module(name, [\n utilsName,\n mixerName\n])\n\n\n/*\n A mixin which provides us with core Meteor functions.\n */\n.factory(Core, [\n '$q',\n utils,\n Mixer,\n\n function($q, $$utils, $Mixer) {\n function $$Core() {}\n\n // Calls Meteor.autorun() which will be digested after each run and automatically destroyed\n $$Core.autorun = function(fn, options = {}) {\n fn = this.$bindToContext($Mixer.caller, fn);\n\n if (!_.isFunction(fn)) {\n throw Error('argument 1 must be a function');\n }\n if (!_.isObject(options)) {\n throw Error('argument 2 must be an object');\n }\n\n const computation = Tracker.autorun(fn, options);\n this.$$autoStop(computation);\n return computation;\n };\n\n // Calls Meteor.subscribe() which will be digested after each invokation\n // and automatically destroyed\n $$Core.subscribe = function(subName, fn, cb) {\n fn = this.$bindToContext($Mixer.caller, fn || angular.noop);\n cb = cb ? this.$bindToContext($Mixer.caller, cb) : angular.noop;\n\n if (!_.isString(subName)) {\n throw Error('argument 1 must be a string');\n }\n if (!_.isFunction(fn)) {\n throw Error('argument 2 must be a function');\n }\n if (!_.isFunction(cb) && !_.isObject(cb)) {\n throw Error('argument 3 must be a function or an object');\n }\n\n const result = {};\n\n const computation = this.autorun(() => {\n let args = fn();\n if (angular.isUndefined(args)) args = [];\n\n if (!_.isArray(args)) {\n throw Error(`reactive function's return value must be an array`);\n }\n\n const subscription = Meteor.subscribe(subName, ...args, cb);\n result.ready = subscription.ready.bind(subscription);\n result.subscriptionId = subscription.subscriptionId;\n });\n\n // Once the computation has been stopped,\n // any subscriptions made inside will be stopped as well\n result.stop = computation.stop.bind(computation);\n return result;\n };\n\n // Calls Meteor.call() wrapped by a digestion cycle\n $$Core.callMethod = function(...args) {\n let fn = args.pop();\n if (_.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n return Meteor.call(...args, fn);\n };\n\n // Calls Meteor.apply() wrapped by a digestion cycle\n $$Core.applyMethod = function(...args) {\n let fn = args.pop();\n if (_.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n return Meteor.apply(...args, fn);\n };\n\n $$Core.$$autoStop = function(stoppable) {\n this.$on('$destroy', stoppable.stop.bind(stoppable));\n };\n\n // Digests scope only if there is no phase at the moment\n $$Core.$$throttledDigest = function() {\n const isDigestable = !this.$$destroyed &&\n !this.$$phase &&\n !this.$root.$$phase;\n\n if (isDigestable) this.$digest();\n };\n\n // Creates a promise only that the digestion cycle will be called at its fulfillment\n $$Core.$$defer = function() {\n const deferred = $q.defer();\n // Once promise has been fulfilled, digest\n deferred.promise = deferred.promise.finally(this.$$throttledDigest.bind(this));\n return deferred;\n };\n\n // Binds an object or a function to the provided context and digest it once it is invoked\n $$Core.$bindToContext = function(context, fn) {\n return $$utils.bind(fn, context, this.$$throttledDigest.bind(this));\n };\n\n return $$Core;\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/core.js\n **/","import _ from '../lib/underscore';\nimport { name as utilsName, utils } from './utils';\nimport { name as mixerName, Mixer } from './mixer';\nimport { name as coreName } from './core';\n\nexport const name = 'angular-meteor.view-model';\nexport const ViewModel = '$$ViewModel';\nexport const reactive = '$reactive';\n\nangular.module(name, [\n utilsName,\n mixerName,\n coreName\n])\n\n/*\n A mixin which lets us bind a view model into a scope.\n Note that only a single view model can be bound,\n otherwise the scope might behave unexpectedly.\n Mainly used to define the controller as the view model,\n and very useful when wanting to use Angular's `controllerAs` syntax.\n */\n.factory(ViewModel, [\n utils,\n Mixer,\n\n function($$utils, $Mixer) {\n function $$ViewModel() {}\n\n // Gets an object, wraps it with scope functions and returns it\n $$ViewModel.viewModel = function(vm) {\n if (!_.isObject(vm)) {\n throw Error('argument 1 must be an object');\n }\n\n // Extend view model with mixin functions\n $Mixer._extend(vm, {\n pattern: /^(?!\\$\\$).*$/, // Omitting methods which start with a $$ notation\n context: this // Binding methods to scope\n });\n\n // Apply mixin constructors on scope with view model\n $Mixer._construct(this, vm);\n return vm;\n };\n\n return $$ViewModel;\n }\n])\n\n\n/*\n Illustrates the old API where a view model is created using $reactive service\n */\n.service(reactive, [\n utils,\n\n function($$utils) {\n class Reactive {\n constructor(vm) {\n if (!_.isObject(vm)) {\n throw Error('argument 1 must be an object');\n }\n\n _.defer(() => {\n if (!this._attached) {\n console.warn('view model was not attached to any scope');\n }\n });\n\n this._vm = vm;\n }\n\n attach(scope) {\n this._attached = true;\n\n if (!$$utils.isScope(scope)) {\n throw Error('argument 1 must be a scope');\n }\n\n const viewModel = scope.viewModel(this._vm);\n\n // Similar to the old/Meteor API\n viewModel.call = viewModel.callMethod;\n viewModel.apply = viewModel.applyMethod;\n\n return viewModel;\n }\n }\n\n return (vm) => new Reactive(vm);\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/view-model.js\n **/","import jsondiffpatch from 'jsondiffpatch';\nimport _ from '../lib/underscore';\nimport { name as utilsName, utils } from './utils';\nimport { name as mixerName, Mixer } from './mixer';\nimport { name as coreName } from './core';\nimport { name as viewModelName } from './view-model';\n\nexport const name = 'angular-meteor.reactive';\nexport const Reactive = '$$Reactive';\n\nangular.module(name, [\n utilsName,\n mixerName,\n coreName,\n viewModelName\n])\n\n\n/*\n A mixin which enhance our reactive abilities by providing methods\n that are capable of updating our scope reactively.\n */\n.factory(Reactive, [\n '$parse',\n utils,\n Mixer,\n\n function($parse, $$utils, $Mixer) {\n function $$Reactive(vm = this) {\n // Helps us track changes made in the view model\n vm.$$dependencies = {};\n }\n\n // Gets an object containing functions and define their results as reactive properties.\n // Once a return value has been changed the property will be reset.\n $$Reactive.helpers = function(vm, props) {\n if ($$utils.isViewModel(vm)) {\n if (!_.isObject(props)) {\n throw Error('argument 2 must be an object');\n }\n } else {\n props = vm;\n vm = $Mixer.caller;\n\n if (!_.isObject(props)) {\n throw Error('argument 1 must be an object');\n }\n }\n\n _.each(props, (v, k) => {\n if (!_.isFunction(v)) {\n throw Error(`helper '${k}' must be a function`);\n }\n });\n\n _.each(props, (v, k) => {\n if (!vm.$$dependencies[k]) {\n // Registers a new dependency to the specified helper\n vm.$$dependencies[k] = new Tracker.Dependency();\n }\n\n this.$$setFnHelper(vm, k, v);\n });\n };\n\n // Gets a model reactively\n $$Reactive.getReactively = function(vm, k, isDeep) {\n if ($$utils.isViewModel(vm)) {\n if (angular.isUndefined(isDeep)) isDeep = false;\n\n if (!_.isString(k)) {\n throw Error('argument 2 must be a string');\n }\n if (!_.isBoolean(isDeep)) {\n throw Error('argument 3 must be a boolean');\n }\n } else {\n isDeep = angular.isDefined(k) ? k : false;\n k = vm;\n vm = $Mixer.caller;\n\n if (!_.isString(k)) {\n throw Error('argument 1 must be a string');\n }\n if (!_.isBoolean(isDeep)) {\n throw Error('argument 2 must be a boolean');\n }\n }\n\n return this.$$reactivateEntity(vm, k, this.$watch, isDeep);\n };\n\n // Gets a collection reactively\n $$Reactive.getCollectionReactively = function(vm, k) {\n if ($$utils.isViewModel(vm)) {\n if (!_.isString(k)) {\n throw Error('argument 2 must be a string');\n }\n } else {\n k = vm;\n vm = $Mixer.caller;\n\n if (!_.isString(k)) {\n throw Error('argument 1 must be a string');\n }\n }\n\n return this.$$reactivateEntity(vm, k, this.$watchCollection);\n };\n\n // Gets an entity reactively, and once it has been changed the computation will be recomputed\n $$Reactive.$$reactivateEntity = function(vm, k, watcher, ...watcherArgs) {\n if (!vm.$$dependencies[k]) {\n vm.$$dependencies[k] = new Tracker.Dependency();\n this.$$watchEntity(vm, k, watcher, ...watcherArgs);\n }\n\n vm.$$dependencies[k].depend();\n return $parse(k)(vm);\n };\n\n // Watches for changes in the view model, and if so will notify a change\n $$Reactive.$$watchEntity = function(vm, k, watcher, ...watcherArgs) {\n // Gets a deep property from the caller\n const getVal = _.partial($parse(k), vm);\n const initialVal = getVal();\n\n // Watches for changes in the view model\n watcher.call(this, getVal, (val, oldVal) => {\n const hasChanged =\n val !== initialVal ||\n val !== oldVal;\n\n // Notify if a change has been detected\n if (hasChanged) this.$$changed(vm, k);\n }, ...watcherArgs);\n };\n\n // Invokes a function and sets the return value as a property\n $$Reactive.$$setFnHelper = function(vm, k, fn) {\n let activeObservation = null;\n let lastModel = null;\n let lastModelData = [];\n\n this.autorun((/* computation */) => {\n // Invokes the reactive functon\n const model = fn.apply(vm);\n\n // Ignore notifications made by the following handler\n Tracker.nonreactive(() => {\n // If a cursor, observe its changes and update acoordingly\n if ($$utils.isCursor(model)) {\n let modelData;\n\n if (angular.isUndefined(vm[k])) {\n this.$$setValHelper(vm, k, [], false);\n }\n\n if (activeObservation) {\n lastModelData = lastModel.fetch();\n activeObservation.stop();\n activeObservation = null;\n }\n\n const handle = this.$$handleCursor(vm, k, model);\n\n activeObservation = handle.observation;\n modelData = handle.data;\n\n if (lastModelData.length !== 0) {\n const diff = jsondiffpatch.diff(lastModelData, modelData);\n vm[k] = jsondiffpatch.patch(lastModelData, diff);\n } else {\n vm[k] = modelData;\n }\n\n lastModel = model;\n lastModelData = modelData;\n\n /* computation.onInvalidate(() => {\n activeObservation.stop();\n });*/\n } else {\n this.$$handleNonCursor(vm, k, model);\n }\n\n // Notify change and update the view model\n this.$$changed(vm, k);\n });\n });\n };\n\n // Sets a value helper as a setter and a getter which will notify computations once used\n $$Reactive.$$setValHelper = function(vm, k, v, watch = true) {\n // If set, reactives property\n if (watch) {\n const isDeep = _.isObject(v);\n this.getReactively(vm, k, isDeep);\n }\n\n Object.defineProperty(vm, k, {\n configurable: true,\n enumerable: true,\n\n get: () => {\n return v;\n },\n set: (newVal) => {\n v = newVal;\n this.$$changed(vm, k);\n }\n });\n };\n\n // Fetching a cursor and updates properties once the result set has been changed\n $$Reactive.$$handleCursor = function(vm, k, cursor) {\n const data = [];\n // Observe changes made in the result set\n const observation = cursor.observe({\n addedAt: (doc, atIndex) => {\n if (!observation) {\n data.push(doc);\n return;\n }\n vm[k].splice(atIndex, 0, doc);\n this.$$changed(vm, k);\n },\n changedAt: (doc, oldDoc, atIndex) => {\n const diff = jsondiffpatch.diff(vm[k][atIndex], doc);\n jsondiffpatch.patch(vm[k][atIndex], diff);\n this.$$changed(vm, k);\n },\n movedTo: (doc, fromIndex, toIndex) => {\n vm[k].splice(fromIndex, 1);\n vm[k].splice(toIndex, 0, doc);\n this.$$changed(vm, k);\n },\n removedAt: (oldDoc, atIndex) => {\n vm[k].splice(atIndex, 1);\n this.$$changed(vm, k);\n }\n });\n\n return {\n observation,\n data\n };\n };\n\n $$Reactive.$$handleNonCursor = function(vm, k, data) {\n let v = vm[k];\n\n if (angular.isDefined(v)) {\n delete vm[k];\n v = null;\n }\n\n if (angular.isUndefined(v)) {\n this.$$setValHelper(vm, k, data);\n }\n // Update property if the new value is from the same type\n else if ($$utils.areSiblings(v, data)) {\n const diff = jsondiffpatch.diff(v, data);\n jsondiffpatch.patch(v, diff);\n this.$$changed(vm, k);\n } else {\n vm[k] = data;\n }\n };\n\n // Notifies dependency in view model\n $$Reactive.$$depend = function(vm, k) {\n vm.$$dependencies[k].depend();\n };\n\n // Notifies change in view model\n $$Reactive.$$changed = function(vm, k) {\n this.$$throttledDigest();\n vm.$$dependencies[k].changed();\n };\n\n return $$Reactive;\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/reactive.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"jsondiffpatch\"\n ** module id = 22\n ** module chunks = 0\n **/","export const name = 'angular-templates';\n\ntry {\n angular.module(name);\n} catch (e) {\n angular.module(name, []);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/templates.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/angular-meteor.min.js","webpack:///webpack/bootstrap b9a34ba732c935f19d98","webpack:///./src/angular-meteor.js","webpack:///./src/lib/get-updates.js","webpack:///./src/lib/underscore.js","webpack:///external {\"root\":\"_\",\"amd\":\"underscore\",\"commonjs2\":\"underscore\",\"commonjs\":\"underscore\"}","webpack:///./src/lib/diff-array.js","webpack:///./src/modules/angular-meteor-settings.js","webpack:///./src/modules/angular-meteor-ironrouter.js","webpack:///./src/modules/angular-meteor-utils.js","webpack:///./src/modules/angular-meteor-subscribe.js","webpack:///./src/modules/angular-meteor-collection.js","webpack:///./src/modules/angular-meteor-object.js","webpack:///./src/modules/angular-meteor-user.js","webpack:///./src/modules/angular-meteor-methods.js","webpack:///./src/modules/angular-meteor-session.js","webpack:///./src/modules/angular-meteor-camera.js","webpack:///./src/modules/angular-meteor-stopper.js","webpack:///./src/modules/utils.js","webpack:///./src/modules/mixer.js","webpack:///./src/modules/scope.js","webpack:///./src/modules/core.js","webpack:///./src/modules/view-model.js","webpack:///./src/modules/reactive.js","webpack:///external \"jsondiffpatch\"","webpack:///./src/modules/templates.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_3__","__WEBPACK_EXTERNAL_MODULE_22__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","Object","defineProperty","value","_utils","_mixer","_scope","_core","_viewModel","_reactive","_templates","name","angular","run","Mixer","Core","ViewModel","Reactive","$Mixer","$$Core","$$ViewModel","$$Reactive","mixin","service","$meteorCollection","$meteorCollectionFS","$meteorObject","$meteorMethods","$meteorSession","$meteorSubscribe","$meteorUtils","$meteorCamera","$meteorUser","_this","collection","collectionFS","object","subscribe","session","autorun","getCollectionByName","getPicture","forEach","method","_interopRequireDefault","obj","__esModule","default","_underscore","_underscore2","utils","rip","level","reduce","clone","v","k","isObject","toPaths","keys","getKeyPaths","values","getDeepValues","map","isEmpty","isArray","subKey","flatten","arr","push","setFilled","assert","result","msg","throwErr","Error","getDifference","src","dst","isShallow","compare","srcKeys","dstKeys","chain","concat","uniq","without","diff","srcValue","dstValue","isDate","getTime","valueDiff","getUpdates","paths","set","createSet","unset","createUnset","pull","createPull","updates","undefinedKeys","getUndefinedKeys","omit","pick","arrKeyPaths","split","match","compact","filter","isUndefined","Package","underscore","_","_module","diffArray","lastSeqArray","seqArray","callbacks","preventNestedDiff","diffFn","minimongo","LocalCollection","_diffQueryOrderedChanges","DiffSequence","diffQueryOrderedChanges","oldObjIds","newObjIds","posOld","posNew","posCur","lengthCur","length","each","doc","i","_id","idStringify","addedBefore","before","position","pos","addedAt","movedBefore","prevPosition","movedTo","removed","removedAt","idString","has","idParse","newItem","oldItem","changedAt","_idStringify","MongoID","_idParse","shallow","deepCopyChanges","setDiff","$set","deepKey","setDeep","deepCopyRemovals","unsetDiff","$unset","unsetDeep","getChanges","newCollection","oldCollection","diffMethod","changes","added","changed","item","index","selector","modifier","fromIndex","toIndex","initialKeys","initial","lastKey","last","subObj","nextKey","isNumStr","parseInt","isHash","deepObj","getDeep","splice","getPrototypeOf","prototype","str","constant","suppressWarnings","$compile","$document","$rootScope","Router","isLoaded","onAfterAction","req","res","next","Tracker","afterFlush","$$phase","$apply","_typeof","Symbol","iterator","constructor","angularMeteorUtils","$q","$timeout","$angularMeteorSettings","self","scope","fn","console","warn","comp","firstRun","noop","$on","stop","stripDollarPrefixedKeys","data","Date","File","EJSON","toJSONValue","$type","FS","out","charAt","fulfill","deferred","boundError","boundResult","err","reject","resolve","promissor","defer","args","toArray","arguments","apply","promise","promiseAll","promises","allPromise","all","string","Mongo","Collection","get","findIndexById","foundDoc","find","colDoc","equals","indexOf","$meteorAutorun","angularMeteorSubscribe","_subscribe","subscription","lastArg","isFunction","onStop","_onStop","pop","onReady","$$state","status","Array","slice","Meteor","angularMeteorCollection","AngularMeteorCollection","curDefFunc","diffArrayFunc","autoClientSave","_serverBackup","_diffArrayFunc","_hObserve","_hNewCurAutorun","_hDataAutorun","isDefined","$$collection","cursor","extend","_startCurAutorun","onInvalidate","_stopCursor","_setAutoClientSave","_updateCursor","save","docs","useUnsetModifier","_upsertDoc","createFulfill","partial","docId","isExist","findOne","update","action","insert","_updateDiff","callback","setters","$pull","prop","puller","_updateParallel","done","after","affectedDocsNum","remove","keyOrDocs","keyOrDoc","pluck","check","Match","OneOf","String","ObjectID","key","_removeDoc","_stopObserving","observe","atIndex","_setServerUpdateMode","oldDoc","removedIndex","fetch","_serverMode","_unsetServerUpdateMode","_hUnsetTimeout","_unsetAutoClientSave","cancel","_saveChanges","_hRegAutoBind","$watch","nItems","oItems","addedDocs","reverse","descriptor","removedDocs","reactiveFunc","TypeError","bind","$meteorStopper","scopeProto","angularMeteorObject","AngularMeteorObject","options","helpers","_helpers","create","collectionExtension","$$options","$$id","_getId","$$internalProps","getRawObject","copy","custom","mods","when","reset","keepClientProps","clientProps","docKeys","docExtension","intersection","serverProps","removedKeys","difference","unregisterAutoDestroy","unregisterAutoBind","autorunComputation","fields","reactive","transform","isString","auto","_auto","_setAutos","angularMeteorUser","pack","Accounts","waitForUser","loggingIn","user","requireUser","requireValidUser","validatorFn","then","valid","loginWithPassword","createUser","changePassword","forgotPassword","resetPassword","verifyEmail","logout","logoutOtherClients","loginWithFacebook","loginWithTwitter","loginWithGoogle","loginWithGithub","loginWithMeteorDeveloperAccount","loginWithMeetup","loginWithWeibo","ScopeProto","currentUser","angularMeteorMethods","angularMeteorSession","$parse","model","getter","setter","assign","Session","angularMeteorCamera","MeteorCamera","angularMeteorStopper","$meteorEntity","meteorEntity","$$scope","undefined","bindFn","context","tap","_len","_key","bindObj","bound","isCursor","Cursor","isScope","isViewModel","$$dependencies","areSiblings","obj1","obj2","_toConsumableArray","arr2","from","caller","_mixins","_autoExtend","_autoConstruct","union","_extend","_construct","_mixout","_$defaults","defaults","pattern","mixins","boundMixin","methodName","methodHandler","methodContext","recentCaller","_len2","_key2","configurable","enumerable","Scope","$new","$$utils","$bindToContext","computation","$$autoStop","subName","cb","_Meteor","ready","subscriptionId","callMethod","_Meteor2","applyMethod","_Meteor3","stoppable","removeListener","baseStop","$$throttledDigest","isDigestable","$$destroyed","$root","$digest","$$defer","_classCallCheck","instance","Constructor","_createClass","defineProperties","target","props","writable","protoProps","staticProps","viewModel","vm","_attached","_vm","_jsondiffpatch","_jsondiffpatch2","Dependency","$$setFnHelper","getReactively","isDeep","isBoolean","$$reactivateEntity","getCollectionReactively","$watchCollection","watcher","watcherArgs","$$watchEntity","depend","_this2","getVal","initialVal","val","oldVal","hasChanged","$$changed","_this3","activeObservation","lastModel","lastModelData","nonreactive","modelData","$$setValHelper","handle","$$handleCursor","observation","patch","$$handleNonCursor","_this4","watch","newVal","_this5","$$depend","e"],"mappings":"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","file":"dist/angular-meteor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"jsondiffpatch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angularMeteor\"] = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse\n\t\troot[\"angularMeteor\"] = factory(root[\"_\"], root[\"jsondiffpatch\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_22__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","/*! angular-meteor v1.3.10 */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"jsondiffpatch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angularMeteor\"] = factory(require(\"underscore\"), require(\"jsondiffpatch\"));\n\telse\n\t\troot[\"angularMeteor\"] = factory(root[\"_\"], root[\"jsondiffpatch\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_22__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\t__webpack_require__(1);\n\t\n\t__webpack_require__(4);\n\t\n\t__webpack_require__(5);\n\t\n\t__webpack_require__(6);\n\t\n\t__webpack_require__(7);\n\t\n\t__webpack_require__(8);\n\t\n\t__webpack_require__(9);\n\t\n\t__webpack_require__(10);\n\t\n\t__webpack_require__(11);\n\t\n\t__webpack_require__(12);\n\t\n\t__webpack_require__(13);\n\t\n\t__webpack_require__(14);\n\t\n\t__webpack_require__(15);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar _scope = __webpack_require__(18);\n\t\n\tvar _core = __webpack_require__(19);\n\t\n\tvar _viewModel = __webpack_require__(20);\n\t\n\tvar _reactive = __webpack_require__(21);\n\t\n\tvar _templates = __webpack_require__(23);\n\t\n\t// legacy\n\t// lib\n\t\n\t\n\tvar name = 'angular-meteor';\n\t\n\t// new\n\t\n\texports.default = name;\n\t\n\t\n\tangular.module(name, [\n\t// new\n\t_utils.name, _mixer.name, _scope.name, _core.name, _viewModel.name, _reactive.name, _templates.name,\n\t\n\t// legacy\n\t'angular-meteor.ironrouter', 'angular-meteor.utils', 'angular-meteor.subscribe', 'angular-meteor.collection', 'angular-meteor.object', 'angular-meteor.user', 'angular-meteor.methods', 'angular-meteor.session', 'angular-meteor.camera']).run([_mixer.Mixer, _core.Core, _viewModel.ViewModel, _reactive.Reactive, function ($Mixer, $$Core, $$ViewModel, $$Reactive) {\n\t // Load all mixins\n\t $Mixer.mixin($$Core).mixin($$ViewModel).mixin($$Reactive);\n\t}])\n\t\n\t// legacy\n\t// Putting all services under $meteor service for syntactic sugar\n\t.service('$meteor', ['$meteorCollection', '$meteorCollectionFS', '$meteorObject', '$meteorMethods', '$meteorSession', '$meteorSubscribe', '$meteorUtils', '$meteorCamera', '$meteorUser', function ($meteorCollection, $meteorCollectionFS, $meteorObject, $meteorMethods, $meteorSession, $meteorSubscribe, $meteorUtils, $meteorCamera, $meteorUser) {\n\t var _this = this;\n\t\n\t this.collection = $meteorCollection;\n\t this.collectionFS = $meteorCollectionFS;\n\t this.object = $meteorObject;\n\t this.subscribe = $meteorSubscribe.subscribe;\n\t this.call = $meteorMethods.call;\n\t this.session = $meteorSession;\n\t this.autorun = $meteorUtils.autorun;\n\t this.getCollectionByName = $meteorUtils.getCollectionByName;\n\t this.getPicture = $meteorCamera.getPicture;\n\t\n\t // $meteorUser\n\t ['loginWithPassword', 'requireUser', 'requireValidUser', 'waitForUser', 'createUser', 'changePassword', 'forgotPassword', 'resetPassword', 'verifyEmail', 'loginWithMeteorDeveloperAccount', 'loginWithFacebook', 'loginWithGithub', 'loginWithGoogle', 'loginWithMeetup', 'loginWithTwitter', 'loginWithWeibo', 'logout', 'logoutOtherClients'].forEach(function (method) {\n\t _this[method] = $meteorUser[method];\n\t });\n\t}]);\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict';\n\t\n\t// https://github.com/DAB0mB/get-updates\n\t/*global\n\t angular, _\n\t */\n\t\n\t(function () {\n\t var module = angular.module('getUpdates', []);\n\t\n\t var utils = function () {\n\t var rip = function rip(obj, level) {\n\t if (level < 1) return {};\n\t\n\t return _underscore2.default.reduce(obj, function (clone, v, k) {\n\t v = _underscore2.default.isObject(v) ? rip(v, --level) : v;\n\t clone[k] = v;\n\t return clone;\n\t }, {});\n\t };\n\t\n\t var toPaths = function toPaths(obj) {\n\t var keys = getKeyPaths(obj);\n\t var values = getDeepValues(obj);\n\t return _underscore2.default.object(keys, values);\n\t };\n\t\n\t var getKeyPaths = function getKeyPaths(obj) {\n\t var keys = _underscore2.default.keys(obj).map(function (k) {\n\t var v = obj[k];\n\t if (!_underscore2.default.isObject(v) || _underscore2.default.isEmpty(v) || _underscore2.default.isArray(v)) return k;\n\t\n\t return getKeyPaths(v).map(function (subKey) {\n\t return k + '.' + subKey;\n\t });\n\t });\n\t\n\t return _underscore2.default.flatten(keys);\n\t };\n\t\n\t var getDeepValues = function getDeepValues(obj, arr) {\n\t arr = arr || [];\n\t\n\t _underscore2.default.values(obj).forEach(function (v) {\n\t if (!_underscore2.default.isObject(v) || _underscore2.default.isEmpty(v) || _underscore2.default.isArray(v)) arr.push(v);else getDeepValues(v, arr);\n\t });\n\t\n\t return arr;\n\t };\n\t\n\t var flatten = function flatten(arr) {\n\t return arr.reduce(function (flattened, v, i) {\n\t if (_underscore2.default.isArray(v) && !_underscore2.default.isEmpty(v)) flattened.push.apply(flattened, flatten(v));else flattened.push(v);\n\t\n\t return flattened;\n\t }, []);\n\t };\n\t\n\t var setFilled = function setFilled(obj, k, v) {\n\t if (!_underscore2.default.isEmpty(v)) obj[k] = v;\n\t };\n\t\n\t var assert = function assert(result, msg) {\n\t if (!result) throwErr(msg);\n\t };\n\t\n\t var throwErr = function throwErr(msg) {\n\t throw Error('get-updates error - ' + msg);\n\t };\n\t\n\t return {\n\t rip: rip,\n\t toPaths: toPaths,\n\t getKeyPaths: getKeyPaths,\n\t getDeepValues: getDeepValues,\n\t setFilled: setFilled,\n\t assert: assert,\n\t throwErr: throwErr\n\t };\n\t }();\n\t\n\t var getDifference = function () {\n\t var getDifference = function getDifference(src, dst, isShallow) {\n\t var level;\n\t\n\t if (isShallow > 1) level = isShallow;else if (isShallow) level = 1;\n\t\n\t if (level) {\n\t src = utils.rip(src, level);\n\t dst = utils.rip(dst, level);\n\t }\n\t\n\t return compare(src, dst);\n\t };\n\t\n\t var compare = function compare(src, dst) {\n\t var srcKeys = _underscore2.default.keys(src);\n\t var dstKeys = _underscore2.default.keys(dst);\n\t\n\t var keys = _underscore2.default.chain([]).concat(srcKeys).concat(dstKeys).uniq().without('$$hashKey').value();\n\t\n\t return keys.reduce(function (diff, k) {\n\t var srcValue = src[k];\n\t var dstValue = dst[k];\n\t\n\t if (_underscore2.default.isDate(srcValue) && _underscore2.default.isDate(dstValue)) {\n\t if (srcValue.getTime() != dstValue.getTime()) diff[k] = dstValue;\n\t }\n\t\n\t if (_underscore2.default.isObject(srcValue) && _underscore2.default.isObject(dstValue)) {\n\t var valueDiff = getDifference(srcValue, dstValue);\n\t utils.setFilled(diff, k, valueDiff);\n\t } else if (srcValue !== dstValue) {\n\t diff[k] = dstValue;\n\t }\n\t\n\t return diff;\n\t }, {});\n\t };\n\t\n\t return getDifference;\n\t }();\n\t\n\t var getUpdates = function () {\n\t var getUpdates = function getUpdates(src, dst, isShallow) {\n\t utils.assert(_underscore2.default.isObject(src), 'first argument must be an object');\n\t utils.assert(_underscore2.default.isObject(dst), 'second argument must be an object');\n\t\n\t var diff = getDifference(src, dst, isShallow);\n\t var paths = utils.toPaths(diff);\n\t\n\t var set = createSet(paths);\n\t var unset = createUnset(paths);\n\t var pull = createPull(unset);\n\t\n\t var updates = {};\n\t utils.setFilled(updates, '$set', set);\n\t utils.setFilled(updates, '$unset', unset);\n\t utils.setFilled(updates, '$pull', pull);\n\t\n\t return updates;\n\t };\n\t\n\t var createSet = function createSet(paths) {\n\t var undefinedKeys = getUndefinedKeys(paths);\n\t return _underscore2.default.omit(paths, undefinedKeys);\n\t };\n\t\n\t var createUnset = function createUnset(paths) {\n\t var undefinedKeys = getUndefinedKeys(paths);\n\t var unset = _underscore2.default.pick(paths, undefinedKeys);\n\t\n\t return _underscore2.default.reduce(unset, function (result, v, k) {\n\t result[k] = true;\n\t return result;\n\t }, {});\n\t };\n\t\n\t var createPull = function createPull(unset) {\n\t var arrKeyPaths = _underscore2.default.keys(unset).map(function (k) {\n\t var split = k.match(/(.*)\\.\\d+$/);\n\t return split && split[1];\n\t });\n\t\n\t return _underscore2.default.compact(arrKeyPaths).reduce(function (pull, k) {\n\t pull[k] = null;\n\t return pull;\n\t }, {});\n\t };\n\t\n\t var getUndefinedKeys = function getUndefinedKeys(obj) {\n\t return _underscore2.default.keys(obj).filter(function (k) {\n\t var v = obj[k];\n\t return _underscore2.default.isUndefined(v);\n\t });\n\t };\n\t\n\t return getUpdates;\n\t }();\n\t\n\t module.value('getUpdates', getUpdates);\n\t})();\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _underscore = __webpack_require__(3);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tif (typeof _underscore2.default === 'undefined') {\n\t if (typeof Package.underscore === 'undefined') {\n\t throw new Error('underscore is missing');\n\t }\n\t}\n\t\n\texports.default = _underscore2.default || Package.underscore._;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Package\n\t */\n\t\n\tvar _module = angular.module('diffArray', ['getUpdates']);\n\t\n\t_module.factory('diffArray', ['getUpdates', function (getUpdates) {\n\t var LocalCollection = Package.minimongo.LocalCollection;\n\t var idStringify = LocalCollection._idStringify || Package['mongo-id'].MongoID.idStringify;\n\t var idParse = LocalCollection._idParse || Package['mongo-id'].MongoID.idParse;\n\t\n\t // Calculates the differences between `lastSeqArray` and\n\t // `seqArray` and calls appropriate functions from `callbacks`.\n\t // Reuses Minimongo's diff algorithm implementation.\n\t // XXX Should be replaced with the original diffArray function here:\n\t // https://github.com/meteor/meteor/blob/devel/packages/observe-sequence/observe_sequence.js#L152\n\t // When it will become nested as well, tracking here: https://github.com/meteor/meteor/issues/3764\n\t function diffArray(lastSeqArray, seqArray, callbacks, preventNestedDiff) {\n\t preventNestedDiff = !!preventNestedDiff;\n\t\n\t var diffFn = Package.minimongo.LocalCollection._diffQueryOrderedChanges || Package['diff-sequence'].DiffSequence.diffQueryOrderedChanges;\n\t\n\t var oldObjIds = [];\n\t var newObjIds = [];\n\t var posOld = {}; // maps from idStringify'd ids\n\t var posNew = {}; // ditto\n\t var posCur = {};\n\t var lengthCur = lastSeqArray.length;\n\t\n\t _underscore2.default.each(seqArray, function (doc, i) {\n\t newObjIds.push({ _id: doc._id });\n\t posNew[idStringify(doc._id)] = i;\n\t });\n\t\n\t _underscore2.default.each(lastSeqArray, function (doc, i) {\n\t oldObjIds.push({ _id: doc._id });\n\t posOld[idStringify(doc._id)] = i;\n\t posCur[idStringify(doc._id)] = i;\n\t });\n\t\n\t // Arrays can contain arbitrary objects. We don't diff the\n\t // objects. Instead we always fire 'changedAt' callback on every\n\t // object. The consumer of `observe-sequence` should deal with\n\t // it appropriately.\n\t diffFn(oldObjIds, newObjIds, {\n\t addedBefore: function addedBefore(id, doc, before) {\n\t var position = before ? posCur[idStringify(before)] : lengthCur;\n\t\n\t _underscore2.default.each(posCur, function (pos, id) {\n\t if (pos >= position) posCur[id]++;\n\t });\n\t\n\t lengthCur++;\n\t posCur[idStringify(id)] = position;\n\t\n\t callbacks.addedAt(id, seqArray[posNew[idStringify(id)]], position, before);\n\t },\n\t\n\t movedBefore: function movedBefore(id, before) {\n\t var prevPosition = posCur[idStringify(id)];\n\t var position = before ? posCur[idStringify(before)] : lengthCur - 1;\n\t\n\t _underscore2.default.each(posCur, function (pos, id) {\n\t if (pos >= prevPosition && pos <= position) posCur[id]--;else if (pos <= prevPosition && pos >= position) posCur[id]++;\n\t });\n\t\n\t posCur[idStringify(id)] = position;\n\t\n\t callbacks.movedTo(id, seqArray[posNew[idStringify(id)]], prevPosition, position, before);\n\t },\n\t removed: function removed(id) {\n\t var prevPosition = posCur[idStringify(id)];\n\t\n\t _underscore2.default.each(posCur, function (pos, id) {\n\t if (pos >= prevPosition) posCur[id]--;\n\t });\n\t\n\t delete posCur[idStringify(id)];\n\t lengthCur--;\n\t\n\t callbacks.removedAt(id, lastSeqArray[posOld[idStringify(id)]], prevPosition);\n\t }\n\t });\n\t\n\t _underscore2.default.each(posNew, function (pos, idString) {\n\t if (!_underscore2.default.has(posOld, idString)) return;\n\t\n\t var id = idParse(idString);\n\t var newItem = seqArray[pos] || {};\n\t var oldItem = lastSeqArray[posOld[idString]];\n\t var updates = getUpdates(oldItem, newItem, preventNestedDiff);\n\t\n\t if (!_underscore2.default.isEmpty(updates)) callbacks.changedAt(id, updates, pos, oldItem);\n\t });\n\t }\n\t\n\t diffArray.shallow = function (lastSeqArray, seqArray, callbacks) {\n\t return diffArray(lastSeqArray, seqArray, callbacks, true);\n\t };\n\t\n\t diffArray.deepCopyChanges = function (oldItem, newItem) {\n\t var setDiff = getUpdates(oldItem, newItem).$set;\n\t\n\t _underscore2.default.each(setDiff, function (v, deepKey) {\n\t setDeep(oldItem, deepKey, v);\n\t });\n\t };\n\t\n\t diffArray.deepCopyRemovals = function (oldItem, newItem) {\n\t var unsetDiff = getUpdates(oldItem, newItem).$unset;\n\t\n\t _underscore2.default.each(unsetDiff, function (v, deepKey) {\n\t unsetDeep(oldItem, deepKey);\n\t });\n\t };\n\t\n\t // Finds changes between two collections\n\t diffArray.getChanges = function (newCollection, oldCollection, diffMethod) {\n\t var changes = { added: [], removed: [], changed: [] };\n\t\n\t diffMethod(oldCollection, newCollection, {\n\t addedAt: function addedAt(id, item, index) {\n\t changes.added.push({ item: item, index: index });\n\t },\n\t\n\t removedAt: function removedAt(id, item, index) {\n\t changes.removed.push({ item: item, index: index });\n\t },\n\t\n\t changedAt: function changedAt(id, updates, index, oldItem) {\n\t changes.changed.push({ selector: id, modifier: updates });\n\t },\n\t\n\t movedTo: function movedTo(id, item, fromIndex, toIndex) {\n\t // XXX do we need this?\n\t }\n\t });\n\t\n\t return changes;\n\t };\n\t\n\t var setDeep = function setDeep(obj, deepKey, v) {\n\t var split = deepKey.split('.');\n\t var initialKeys = _underscore2.default.initial(split);\n\t var lastKey = _underscore2.default.last(split);\n\t\n\t initialKeys.reduce(function (subObj, k, i) {\n\t var nextKey = split[i + 1];\n\t\n\t if (isNumStr(nextKey)) {\n\t if (subObj[k] === null) subObj[k] = [];\n\t if (subObj[k].length == parseInt(nextKey)) subObj[k].push(null);\n\t } else if (subObj[k] === null || !isHash(subObj[k])) {\n\t subObj[k] = {};\n\t }\n\t\n\t return subObj[k];\n\t }, obj);\n\t\n\t var deepObj = getDeep(obj, initialKeys);\n\t deepObj[lastKey] = v;\n\t return v;\n\t };\n\t\n\t var unsetDeep = function unsetDeep(obj, deepKey) {\n\t var split = deepKey.split('.');\n\t var initialKeys = _underscore2.default.initial(split);\n\t var lastKey = _underscore2.default.last(split);\n\t var deepObj = getDeep(obj, initialKeys);\n\t\n\t if (_underscore2.default.isArray(deepObj) && isNumStr(lastKey)) return !!deepObj.splice(lastKey, 1);else return delete deepObj[lastKey];\n\t };\n\t\n\t var getDeep = function getDeep(obj, keys) {\n\t return keys.reduce(function (subObj, k) {\n\t return subObj[k];\n\t }, obj);\n\t };\n\t\n\t var isHash = function isHash(obj) {\n\t return _underscore2.default.isObject(obj) && Object.getPrototypeOf(obj) === Object.prototype;\n\t };\n\t\n\t var isNumStr = function isNumStr(str) {\n\t return str.match(/^\\d+$/);\n\t };\n\t\n\t return diffArray;\n\t}]);\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tangular.module('angular-meteor.settings', []).constant('$angularMeteorSettings', {\n\t suppressWarnings: true\n\t});\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tangular.module('angular-meteor.ironrouter', []).run(['$compile', '$document', '$rootScope', function ($compile, $document, $rootScope) {\n\t var Router = (Package['iron:router'] || {}).Router;\n\t if (!Router) return;\n\t\n\t var isLoaded = false;\n\t\n\t // Recompile after iron:router builds page\n\t Router.onAfterAction(function (req, res, next) {\n\t Tracker.afterFlush(function () {\n\t if (isLoaded) return;\n\t $compile($document)($rootScope);\n\t if (!$rootScope.$$phase) $rootScope.$apply();\n\t isLoaded = true;\n\t });\n\t });\n\t}]);\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; }; /*global\n\t angular, _, Tracker, EJSON, FS, Mongo\n\t */\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict';\n\t\n\tvar angularMeteorUtils = angular.module('angular-meteor.utils', ['angular-meteor.settings']);\n\t\n\tangularMeteorUtils.service('$meteorUtils', ['$q', '$timeout', '$angularMeteorSettings', function ($q, $timeout, $angularMeteorSettings) {\n\t\n\t var self = this;\n\t\n\t this.autorun = function (scope, fn) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t // wrapping around Deps.autorun\n\t var comp = Tracker.autorun(function (c) {\n\t fn(c);\n\t // this is run immediately for the first call\n\t // but after that, we need to $apply to start Angular digest\n\t if (!c.firstRun) $timeout(angular.noop, 0);\n\t });\n\t\n\t // stop autorun when scope is destroyed\n\t scope.$on('$destroy', function () {\n\t comp.stop();\n\t });\n\t\n\t // return autorun object so that it can be stopped manually\n\t return comp;\n\t };\n\t\n\t // Borrowed from angularFire\n\t // https://github.com/firebase/angularfire/blob/master/src/utils.js#L445-L454\n\t this.stripDollarPrefixedKeys = function (data) {\n\t if (!_underscore2.default.isObject(data) || data instanceof Date || data instanceof File || EJSON.toJSONValue(data).$type === 'oid' || (typeof FS === 'undefined' ? 'undefined' : _typeof(FS)) === 'object' && data instanceof FS.File) return data;\n\t\n\t var out = _underscore2.default.isArray(data) ? [] : {};\n\t\n\t _underscore2.default.each(data, function (v, k) {\n\t if (typeof k !== 'string' || k.charAt(0) !== '$') out[k] = self.stripDollarPrefixedKeys(v);\n\t });\n\t\n\t return out;\n\t };\n\t\n\t // Returns a callback which fulfills promise\n\t this.fulfill = function (deferred, boundError, boundResult) {\n\t return function (err, result) {\n\t if (err) deferred.reject(boundError == null ? err : boundError);else if (typeof boundResult == \"function\") deferred.resolve(boundResult == null ? result : boundResult(result));else deferred.resolve(boundResult == null ? result : boundResult);\n\t };\n\t };\n\t\n\t // creates a function which invokes method with the given arguments and returns a promise\n\t this.promissor = function (obj, method) {\n\t return function () {\n\t var deferred = $q.defer();\n\t var fulfill = self.fulfill(deferred);\n\t var args = _underscore2.default.toArray(arguments).concat(fulfill);\n\t obj[method].apply(obj, args);\n\t return deferred.promise;\n\t };\n\t };\n\t\n\t // creates a $q.all() promise and call digestion loop on fulfillment\n\t this.promiseAll = function (promises) {\n\t var allPromise = $q.all(promises);\n\t\n\t allPromise.finally(function () {\n\t // calls digestion loop with no conflicts\n\t $timeout(angular.noop);\n\t });\n\t\n\t return allPromise;\n\t };\n\t\n\t this.getCollectionByName = function (string) {\n\t return Mongo.Collection.get(string);\n\t };\n\t\n\t this.findIndexById = function (collection, doc) {\n\t var foundDoc = _underscore2.default.find(collection, function (colDoc) {\n\t // EJSON.equals used to compare Mongo.ObjectIDs and Strings.\n\t return EJSON.equals(colDoc._id, doc._id);\n\t });\n\t\n\t return _underscore2.default.indexOf(collection, foundDoc);\n\t };\n\t}]);\n\t\n\tangularMeteorUtils.run(['$rootScope', '$meteorUtils', function ($rootScope, $meteorUtils) {\n\t Object.getPrototypeOf($rootScope).$meteorAutorun = function (fn) {\n\t return $meteorUtils.autorun(this, fn);\n\t };\n\t}]);\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular, Meteor\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorSubscribe = angular.module('angular-meteor.subscribe', ['angular-meteor.settings']);\n\t\n\tangularMeteorSubscribe.service('$meteorSubscribe', ['$q', '$angularMeteorSettings', function ($q, $angularMeteorSettings) {\n\t\n\t var self = this;\n\t\n\t this._subscribe = function (scope, deferred, args) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var subscription = null;\n\t var lastArg = args[args.length - 1];\n\t\n\t // User supplied onStop callback\n\t // save it for later use and remove\n\t // from subscription arguments\n\t if (angular.isObject(lastArg) && angular.isFunction(lastArg.onStop)) {\n\t var _onStop = lastArg.onStop;\n\t\n\t args.pop();\n\t }\n\t\n\t args.push({\n\t onReady: function onReady() {\n\t deferred.resolve(subscription);\n\t },\n\t onStop: function onStop(err) {\n\t if (!deferred.promise.$$state.status) {\n\t if (err) deferred.reject(err);else deferred.reject(new Meteor.Error(\"Subscription Stopped\", \"Subscription stopped by a call to stop method. Either by the client or by the server.\"));\n\t } else if (_onStop)\n\t // After promise was resolved or rejected\n\t // call user supplied onStop callback.\n\t _onStop.apply(this, Array.prototype.slice.call(arguments));\n\t }\n\t });\n\t\n\t subscription = Meteor.subscribe.apply(scope, args);\n\t\n\t return subscription;\n\t };\n\t\n\t this.subscribe = function () {\n\t var deferred = $q.defer();\n\t var args = Array.prototype.slice.call(arguments);\n\t var subscription = null;\n\t\n\t self._subscribe(this, deferred, args);\n\t\n\t return deferred.promise;\n\t };\n\t}]);\n\t\n\tangularMeteorSubscribe.run(['$rootScope', '$q', '$meteorSubscribe', function ($rootScope, $q, $meteorSubscribe) {\n\t Object.getPrototypeOf($rootScope).$meteorSubscribe = function () {\n\t var deferred = $q.defer();\n\t var args = Array.prototype.slice.call(arguments);\n\t\n\t var subscription = $meteorSubscribe._subscribe(this, deferred, args);\n\t\n\t this.$on('$destroy', function () {\n\t subscription.stop();\n\t });\n\t\n\t return deferred.promise;\n\t };\n\t}]);\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Tracker, check, Match, Mongo\n\t */\n\t\n\tvar angularMeteorCollection = angular.module('angular-meteor.collection', ['angular-meteor.stopper', 'angular-meteor.subscribe', 'angular-meteor.utils', 'diffArray', 'angular-meteor.settings']);\n\t\n\t// The reason angular meteor collection is a factory function and not something\n\t// that inherit from array comes from here:\n\t// http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/\n\t// We went with the direct extensions approach.\n\tangularMeteorCollection.factory('AngularMeteorCollection', ['$q', '$meteorSubscribe', '$meteorUtils', '$rootScope', '$timeout', 'diffArray', '$angularMeteorSettings', function ($q, $meteorSubscribe, $meteorUtils, $rootScope, $timeout, diffArray, $angularMeteorSettings) {\n\t\n\t function AngularMeteorCollection(curDefFunc, collection, diffArrayFunc, autoClientSave) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var data = [];\n\t // Server backup data to evaluate what changes come from client\n\t // after each server update.\n\t data._serverBackup = [];\n\t // Array differ function.\n\t data._diffArrayFunc = diffArrayFunc;\n\t // Handler of the cursor observer.\n\t data._hObserve = null;\n\t // On new cursor autorun handler\n\t // (autorun for reactive variables).\n\t data._hNewCurAutorun = null;\n\t // On new data autorun handler\n\t // (autorun for cursor.fetch).\n\t data._hDataAutorun = null;\n\t\n\t if (angular.isDefined(collection)) {\n\t data.$$collection = collection;\n\t } else {\n\t var cursor = curDefFunc();\n\t data.$$collection = $meteorUtils.getCollectionByName(cursor.collection.name);\n\t }\n\t\n\t _underscore2.default.extend(data, AngularMeteorCollection);\n\t data._startCurAutorun(curDefFunc, autoClientSave);\n\t\n\t return data;\n\t }\n\t\n\t AngularMeteorCollection._startCurAutorun = function (curDefFunc, autoClientSave) {\n\t var self = this;\n\t\n\t self._hNewCurAutorun = Tracker.autorun(function () {\n\t // When the reactive func gets recomputated we need to stop any previous\n\t // observeChanges.\n\t Tracker.onInvalidate(function () {\n\t self._stopCursor();\n\t });\n\t\n\t if (autoClientSave) self._setAutoClientSave();\n\t self._updateCursor(curDefFunc(), autoClientSave);\n\t });\n\t };\n\t\n\t AngularMeteorCollection.subscribe = function () {\n\t $meteorSubscribe.subscribe.apply(this, arguments);\n\t return this;\n\t };\n\t\n\t AngularMeteorCollection.save = function (docs, useUnsetModifier) {\n\t // save whole collection\n\t if (!docs) docs = this;\n\t // save single doc\n\t docs = [].concat(docs);\n\t\n\t var promises = docs.map(function (doc) {\n\t return this._upsertDoc(doc, useUnsetModifier);\n\t }, this);\n\t\n\t return $meteorUtils.promiseAll(promises);\n\t };\n\t\n\t AngularMeteorCollection._upsertDoc = function (doc, useUnsetModifier) {\n\t var deferred = $q.defer();\n\t var collection = this.$$collection;\n\t var createFulfill = _underscore2.default.partial($meteorUtils.fulfill, deferred, null);\n\t\n\t // delete $$hashkey\n\t doc = $meteorUtils.stripDollarPrefixedKeys(doc);\n\t var docId = doc._id;\n\t var isExist = collection.findOne(docId);\n\t\n\t // update\n\t if (isExist) {\n\t // Deletes _id property (from the copy) so that\n\t // it can be $set using update.\n\t delete doc._id;\n\t var modifier = useUnsetModifier ? { $unset: doc } : { $set: doc };\n\t // NOTE: do not use #upsert() method, since it does not exist in some collections\n\t collection.update(docId, modifier, createFulfill(function () {\n\t return { _id: docId, action: 'updated' };\n\t }));\n\t }\n\t // insert\n\t else {\n\t collection.insert(doc, createFulfill(function (id) {\n\t return { _id: id, action: 'inserted' };\n\t }));\n\t }\n\t\n\t return deferred.promise;\n\t };\n\t\n\t // performs $pull operations parallely.\n\t // used for handling splice operations returned from getUpdates() to prevent conflicts.\n\t // see issue: https://github.com/Urigo/angular-meteor/issues/793\n\t AngularMeteorCollection._updateDiff = function (selector, update, callback) {\n\t callback = callback || angular.noop;\n\t var setters = _underscore2.default.omit(update, '$pull');\n\t var updates = [setters];\n\t\n\t _underscore2.default.each(update.$pull, function (pull, prop) {\n\t var puller = {};\n\t puller[prop] = pull;\n\t updates.push({ $pull: puller });\n\t });\n\t\n\t this._updateParallel(selector, updates, callback);\n\t };\n\t\n\t // performs each update operation parallely\n\t AngularMeteorCollection._updateParallel = function (selector, updates, callback) {\n\t var self = this;\n\t var done = _underscore2.default.after(updates.length, callback);\n\t\n\t var next = function next(err, affectedDocsNum) {\n\t if (err) return callback(err);\n\t done(null, affectedDocsNum);\n\t };\n\t\n\t _underscore2.default.each(updates, function (update) {\n\t self.$$collection.update(selector, update, next);\n\t });\n\t };\n\t\n\t AngularMeteorCollection.remove = function (keyOrDocs) {\n\t var keys;\n\t\n\t // remove whole collection\n\t if (!keyOrDocs) {\n\t keys = _underscore2.default.pluck(this, '_id');\n\t }\n\t // remove docs\n\t else {\n\t keyOrDocs = [].concat(keyOrDocs);\n\t\n\t keys = _underscore2.default.map(keyOrDocs, function (keyOrDoc) {\n\t return keyOrDoc._id || keyOrDoc;\n\t });\n\t }\n\t\n\t // Checks if all keys are correct.\n\t check(keys, [Match.OneOf(String, Mongo.ObjectID)]);\n\t\n\t var promises = keys.map(function (key) {\n\t return this._removeDoc(key);\n\t }, this);\n\t\n\t return $meteorUtils.promiseAll(promises);\n\t };\n\t\n\t AngularMeteorCollection._removeDoc = function (id) {\n\t var deferred = $q.defer();\n\t var collection = this.$$collection;\n\t var fulfill = $meteorUtils.fulfill(deferred, null, { _id: id, action: 'removed' });\n\t collection.remove(id, fulfill);\n\t return deferred.promise;\n\t };\n\t\n\t AngularMeteorCollection._updateCursor = function (cursor, autoClientSave) {\n\t var self = this;\n\t // XXX - consider adding an option for a non-orderd result for faster performance\n\t if (self._hObserve) self._stopObserving();\n\t\n\t self._hObserve = cursor.observe({\n\t addedAt: function addedAt(doc, atIndex) {\n\t self.splice(atIndex, 0, doc);\n\t self._serverBackup.splice(atIndex, 0, doc);\n\t self._setServerUpdateMode();\n\t },\n\t\n\t changedAt: function changedAt(doc, oldDoc, atIndex) {\n\t diffArray.deepCopyChanges(self[atIndex], doc);\n\t diffArray.deepCopyRemovals(self[atIndex], doc);\n\t self._serverBackup[atIndex] = self[atIndex];\n\t self._setServerUpdateMode();\n\t },\n\t\n\t movedTo: function movedTo(doc, fromIndex, toIndex) {\n\t self.splice(fromIndex, 1);\n\t self.splice(toIndex, 0, doc);\n\t self._serverBackup.splice(fromIndex, 1);\n\t self._serverBackup.splice(toIndex, 0, doc);\n\t self._setServerUpdateMode();\n\t },\n\t\n\t removedAt: function removedAt(oldDoc) {\n\t var removedIndex = $meteorUtils.findIndexById(self, oldDoc);\n\t\n\t if (removedIndex != -1) {\n\t self.splice(removedIndex, 1);\n\t self._serverBackup.splice(removedIndex, 1);\n\t self._setServerUpdateMode();\n\t } else {\n\t // If it's been removed on client then it's already not in collection\n\t // itself but still is in the _serverBackup.\n\t removedIndex = $meteorUtils.findIndexById(self._serverBackup, oldDoc);\n\t\n\t if (removedIndex != -1) {\n\t self._serverBackup.splice(removedIndex, 1);\n\t }\n\t }\n\t }\n\t });\n\t\n\t self._hDataAutorun = Tracker.autorun(function () {\n\t cursor.fetch();\n\t if (self._serverMode) self._unsetServerUpdateMode(autoClientSave);\n\t });\n\t };\n\t\n\t AngularMeteorCollection._stopObserving = function () {\n\t this._hObserve.stop();\n\t this._hDataAutorun.stop();\n\t delete this._serverMode;\n\t delete this._hUnsetTimeout;\n\t };\n\t\n\t AngularMeteorCollection._setServerUpdateMode = function (name) {\n\t this._serverMode = true;\n\t // To simplify server update logic, we don't follow\n\t // updates from the client at the same time.\n\t this._unsetAutoClientSave();\n\t };\n\t\n\t // Here we use $timeout to combine multiple updates that go\n\t // each one after another.\n\t AngularMeteorCollection._unsetServerUpdateMode = function (autoClientSave) {\n\t var self = this;\n\t\n\t if (self._hUnsetTimeout) {\n\t $timeout.cancel(self._hUnsetTimeout);\n\t self._hUnsetTimeout = null;\n\t }\n\t\n\t self._hUnsetTimeout = $timeout(function () {\n\t self._serverMode = false;\n\t // Finds updates that was potentially done from the client side\n\t // and saves them.\n\t var changes = diffArray.getChanges(self, self._serverBackup, self._diffArrayFunc);\n\t self._saveChanges(changes);\n\t // After, continues following client updates.\n\t if (autoClientSave) self._setAutoClientSave();\n\t }, 0);\n\t };\n\t\n\t AngularMeteorCollection.stop = function () {\n\t this._stopCursor();\n\t this._hNewCurAutorun.stop();\n\t };\n\t\n\t AngularMeteorCollection._stopCursor = function () {\n\t this._unsetAutoClientSave();\n\t\n\t if (this._hObserve) {\n\t this._hObserve.stop();\n\t this._hDataAutorun.stop();\n\t }\n\t\n\t this.splice(0);\n\t this._serverBackup.splice(0);\n\t };\n\t\n\t AngularMeteorCollection._unsetAutoClientSave = function (name) {\n\t if (this._hRegAutoBind) {\n\t this._hRegAutoBind();\n\t this._hRegAutoBind = null;\n\t }\n\t };\n\t\n\t AngularMeteorCollection._setAutoClientSave = function () {\n\t var self = this;\n\t\n\t // Always unsets auto save to keep only one $watch handler.\n\t self._unsetAutoClientSave();\n\t\n\t self._hRegAutoBind = $rootScope.$watch(function () {\n\t return self;\n\t }, function (nItems, oItems) {\n\t if (nItems === oItems) return;\n\t\n\t var changes = diffArray.getChanges(self, oItems, self._diffArrayFunc);\n\t self._unsetAutoClientSave();\n\t self._saveChanges(changes);\n\t self._setAutoClientSave();\n\t }, true);\n\t };\n\t\n\t AngularMeteorCollection._saveChanges = function (changes) {\n\t var self = this;\n\t\n\t // Saves added documents\n\t // Using reversed iteration to prevent indexes from changing during splice\n\t var addedDocs = changes.added.reverse().map(function (descriptor) {\n\t self.splice(descriptor.index, 1);\n\t return descriptor.item;\n\t });\n\t\n\t if (addedDocs.length) self.save(addedDocs);\n\t\n\t // Removes deleted documents\n\t var removedDocs = changes.removed.map(function (descriptor) {\n\t return descriptor.item;\n\t });\n\t\n\t if (removedDocs.length) self.remove(removedDocs);\n\t\n\t // Updates changed documents\n\t changes.changed.forEach(function (descriptor) {\n\t self._updateDiff(descriptor.selector, descriptor.modifier);\n\t });\n\t };\n\t\n\t return AngularMeteorCollection;\n\t}]);\n\t\n\tangularMeteorCollection.factory('$meteorCollectionFS', ['$meteorCollection', 'diffArray', '$angularMeteorSettings', function ($meteorCollection, diffArray, $angularMeteorSettings) {\n\t function $meteorCollectionFS(reactiveFunc, autoClientSave, collection) {\n\t\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t return new $meteorCollection(reactiveFunc, autoClientSave, collection, diffArray.shallow);\n\t }\n\t\n\t return $meteorCollectionFS;\n\t}]);\n\t\n\tangularMeteorCollection.factory('$meteorCollection', ['AngularMeteorCollection', '$rootScope', 'diffArray', function (AngularMeteorCollection, $rootScope, diffArray) {\n\t function $meteorCollection(reactiveFunc, autoClientSave, collection, diffFn) {\n\t // Validate parameters\n\t if (!reactiveFunc) {\n\t throw new TypeError('The first argument of $meteorCollection is undefined.');\n\t }\n\t\n\t if (!(angular.isFunction(reactiveFunc) || angular.isFunction(reactiveFunc.find))) {\n\t throw new TypeError('The first argument of $meteorCollection must be a function or ' + 'a have a find function property.');\n\t }\n\t\n\t if (!angular.isFunction(reactiveFunc)) {\n\t collection = angular.isDefined(collection) ? collection : reactiveFunc;\n\t reactiveFunc = _underscore2.default.bind(reactiveFunc.find, reactiveFunc);\n\t }\n\t\n\t // By default auto save - true.\n\t autoClientSave = angular.isDefined(autoClientSave) ? autoClientSave : true;\n\t diffFn = diffFn || diffArray;\n\t return new AngularMeteorCollection(reactiveFunc, collection, diffFn, autoClientSave);\n\t }\n\t\n\t return $meteorCollection;\n\t}]);\n\t\n\tangularMeteorCollection.run(['$rootScope', '$meteorCollection', '$meteorCollectionFS', '$meteorStopper', function ($rootScope, $meteorCollection, $meteorCollectionFS, $meteorStopper) {\n\t var scopeProto = Object.getPrototypeOf($rootScope);\n\t scopeProto.$meteorCollection = $meteorStopper($meteorCollection);\n\t scopeProto.$meteorCollectionFS = $meteorStopper($meteorCollectionFS);\n\t}]);\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Mongo\n\t */\n\t\n\tvar angularMeteorObject = angular.module('angular-meteor.object', ['angular-meteor.utils', 'angular-meteor.subscribe', 'angular-meteor.collection', 'getUpdates', 'diffArray', 'angular-meteor.settings']);\n\t\n\tangularMeteorObject.factory('AngularMeteorObject', ['$q', '$meteorSubscribe', '$meteorUtils', 'diffArray', 'getUpdates', 'AngularMeteorCollection', '$angularMeteorSettings', function ($q, $meteorSubscribe, $meteorUtils, diffArray, getUpdates, AngularMeteorCollection, $angularMeteorSettings) {\n\t\n\t // A list of internals properties to not watch for, nor pass to the Document on update and etc.\n\t AngularMeteorObject.$$internalProps = ['$$collection', '$$options', '$$id', '$$hashkey', '$$internalProps', '$$scope', 'bind', 'save', 'reset', 'subscribe', 'stop', 'autorunComputation', 'unregisterAutoBind', 'unregisterAutoDestroy', 'getRawObject', '_auto', '_setAutos', '_eventEmitter', '_serverBackup', '_updateDiff', '_updateParallel', '_getId'];\n\t\n\t function AngularMeteorObject(collection, selector, options) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t // Make data not be an object so we can extend it to preserve\n\t // Collection Helpers and the like\n\t var helpers = collection._helpers;\n\t var data = _underscore2.default.isFunction(helpers) ? Object.create(helpers.prototype) : {};\n\t var doc = collection.findOne(selector, options);\n\t var collectionExtension = _underscore2.default.pick(AngularMeteorCollection, '_updateParallel');\n\t _underscore2.default.extend(data, doc);\n\t _underscore2.default.extend(data, AngularMeteorObject);\n\t _underscore2.default.extend(data, collectionExtension);\n\t\n\t // Omit options that may spoil document finding\n\t data.$$options = _underscore2.default.omit(options, 'skip', 'limit');\n\t data.$$collection = collection;\n\t data.$$id = data._getId(selector);\n\t data._serverBackup = doc || {};\n\t\n\t return data;\n\t }\n\t\n\t AngularMeteorObject.getRawObject = function () {\n\t return angular.copy(_underscore2.default.omit(this, this.$$internalProps));\n\t };\n\t\n\t AngularMeteorObject.subscribe = function () {\n\t $meteorSubscribe.subscribe.apply(this, arguments);\n\t return this;\n\t };\n\t\n\t AngularMeteorObject.save = function (custom) {\n\t var deferred = $q.defer();\n\t var collection = this.$$collection;\n\t var createFulfill = _underscore2.default.partial($meteorUtils.fulfill, deferred, null);\n\t var oldDoc = collection.findOne(this.$$id);\n\t var mods;\n\t\n\t // update\n\t if (oldDoc) {\n\t if (custom) mods = { $set: custom };else {\n\t mods = getUpdates(oldDoc, this.getRawObject());\n\t // If there are no updates, there is nothing to do here, returning\n\t if (_underscore2.default.isEmpty(mods)) {\n\t return $q.when({ action: 'updated' });\n\t }\n\t }\n\t\n\t // NOTE: do not use #upsert() method, since it does not exist in some collections\n\t this._updateDiff(mods, createFulfill({ action: 'updated' }));\n\t }\n\t // insert\n\t else {\n\t if (custom) mods = _underscore2.default.clone(custom);else mods = this.getRawObject();\n\t\n\t mods._id = mods._id || this.$$id;\n\t collection.insert(mods, createFulfill({ action: 'inserted' }));\n\t }\n\t\n\t return deferred.promise;\n\t };\n\t\n\t AngularMeteorObject._updateDiff = function (update, callback) {\n\t var selector = this.$$id;\n\t AngularMeteorCollection._updateDiff.call(this, selector, update, callback);\n\t };\n\t\n\t AngularMeteorObject.reset = function (keepClientProps) {\n\t var self = this;\n\t var options = this.$$options;\n\t var id = this.$$id;\n\t var doc = this.$$collection.findOne(id, options);\n\t\n\t if (doc) {\n\t // extend SubObject\n\t var docKeys = _underscore2.default.keys(doc);\n\t var docExtension = _underscore2.default.pick(doc, docKeys);\n\t var clientProps;\n\t\n\t _underscore2.default.extend(self, docExtension);\n\t _underscore2.default.extend(self._serverBackup, docExtension);\n\t\n\t if (keepClientProps) {\n\t clientProps = _underscore2.default.intersection(_underscore2.default.keys(self), _underscore2.default.keys(self._serverBackup));\n\t } else {\n\t clientProps = _underscore2.default.keys(self);\n\t }\n\t\n\t var serverProps = _underscore2.default.keys(doc);\n\t var removedKeys = _underscore2.default.difference(clientProps, serverProps, self.$$internalProps);\n\t\n\t removedKeys.forEach(function (prop) {\n\t delete self[prop];\n\t delete self._serverBackup[prop];\n\t });\n\t } else {\n\t _underscore2.default.keys(this.getRawObject()).forEach(function (prop) {\n\t delete self[prop];\n\t });\n\t\n\t self._serverBackup = {};\n\t }\n\t };\n\t\n\t AngularMeteorObject.stop = function () {\n\t if (this.unregisterAutoDestroy) this.unregisterAutoDestroy();\n\t\n\t if (this.unregisterAutoBind) this.unregisterAutoBind();\n\t\n\t if (this.autorunComputation && this.autorunComputation.stop) this.autorunComputation.stop();\n\t };\n\t\n\t AngularMeteorObject._getId = function (selector) {\n\t var options = _underscore2.default.extend({}, this.$$options, {\n\t fields: { _id: 1 },\n\t reactive: false,\n\t transform: null\n\t });\n\t\n\t var doc = this.$$collection.findOne(selector, options);\n\t\n\t if (doc) return doc._id;\n\t if (selector instanceof Mongo.ObjectID) return selector;\n\t if (_underscore2.default.isString(selector)) return selector;\n\t return new Mongo.ObjectID();\n\t };\n\t\n\t return AngularMeteorObject;\n\t}]);\n\t\n\tangularMeteorObject.factory('$meteorObject', ['$rootScope', '$meteorUtils', 'getUpdates', 'AngularMeteorObject', function ($rootScope, $meteorUtils, getUpdates, AngularMeteorObject) {\n\t function $meteorObject(collection, id, auto, options) {\n\t // Validate parameters\n\t if (!collection) {\n\t throw new TypeError(\"The first argument of $meteorObject is undefined.\");\n\t }\n\t\n\t if (!angular.isFunction(collection.findOne)) {\n\t throw new TypeError(\"The first argument of $meteorObject must be a function or a have a findOne function property.\");\n\t }\n\t\n\t var data = new AngularMeteorObject(collection, id, options);\n\t // Making auto default true - http://stackoverflow.com/a/15464208/1426570\n\t data._auto = auto !== false;\n\t _underscore2.default.extend(data, $meteorObject);\n\t data._setAutos();\n\t return data;\n\t }\n\t\n\t $meteorObject._setAutos = function () {\n\t var self = this;\n\t\n\t this.autorunComputation = $meteorUtils.autorun($rootScope, function () {\n\t self.reset(true);\n\t });\n\t\n\t // Deep watches the model and performs autobind\n\t this.unregisterAutoBind = this._auto && $rootScope.$watch(function () {\n\t return self.getRawObject();\n\t }, function (item, oldItem) {\n\t if (item !== oldItem) self.save();\n\t }, true);\n\t\n\t this.unregisterAutoDestroy = $rootScope.$on('$destroy', function () {\n\t if (self && self.stop) self.pop();\n\t });\n\t };\n\t\n\t return $meteorObject;\n\t}]);\n\t\n\tangularMeteorObject.run(['$rootScope', '$meteorObject', '$meteorStopper', function ($rootScope, $meteorObject, $meteorStopper) {\n\t var scopeProto = Object.getPrototypeOf($rootScope);\n\t scopeProto.$meteorObject = $meteorStopper($meteorObject);\n\t}]);\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Package, Meteor\n\t */\n\t\n\tvar angularMeteorUser = angular.module('angular-meteor.user', ['angular-meteor.utils', 'angular-meteor.core', 'angular-meteor.settings']);\n\t\n\t// requires package 'accounts-password'\n\tangularMeteorUser.service('$meteorUser', ['$rootScope', '$meteorUtils', '$q', '$angularMeteorSettings', function ($rootScope, $meteorUtils, $q, $angularMeteorSettings) {\n\t\n\t var pack = Package['accounts-base'];\n\t if (!pack) return;\n\t\n\t var self = this;\n\t var Accounts = pack.Accounts;\n\t\n\t this.waitForUser = function () {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var deferred = $q.defer();\n\t\n\t $meteorUtils.autorun($rootScope, function () {\n\t if (!Meteor.loggingIn()) deferred.resolve(Meteor.user());\n\t }, true);\n\t\n\t return deferred.promise;\n\t };\n\t\n\t this.requireUser = function () {\n\t if (!$angularMeteorSettings.suppressWarnings) {\n\t console.warn('[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t }\n\t\n\t var deferred = $q.defer();\n\t\n\t $meteorUtils.autorun($rootScope, function () {\n\t if (!Meteor.loggingIn()) {\n\t if (Meteor.user() === null) deferred.reject(\"AUTH_REQUIRED\");else deferred.resolve(Meteor.user());\n\t }\n\t }, true);\n\t\n\t return deferred.promise;\n\t };\n\t\n\t this.requireValidUser = function (validatorFn) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t return self.requireUser(true).then(function (user) {\n\t var valid = validatorFn(user);\n\t\n\t if (valid === true) return user;else if (typeof valid === \"string\") return $q.reject(valid);else return $q.reject(\"FORBIDDEN\");\n\t });\n\t };\n\t\n\t this.loginWithPassword = $meteorUtils.promissor(Meteor, 'loginWithPassword');\n\t this.createUser = $meteorUtils.promissor(Accounts, 'createUser');\n\t this.changePassword = $meteorUtils.promissor(Accounts, 'changePassword');\n\t this.forgotPassword = $meteorUtils.promissor(Accounts, 'forgotPassword');\n\t this.resetPassword = $meteorUtils.promissor(Accounts, 'resetPassword');\n\t this.verifyEmail = $meteorUtils.promissor(Accounts, 'verifyEmail');\n\t this.logout = $meteorUtils.promissor(Meteor, 'logout');\n\t this.logoutOtherClients = $meteorUtils.promissor(Meteor, 'logoutOtherClients');\n\t this.loginWithFacebook = $meteorUtils.promissor(Meteor, 'loginWithFacebook');\n\t this.loginWithTwitter = $meteorUtils.promissor(Meteor, 'loginWithTwitter');\n\t this.loginWithGoogle = $meteorUtils.promissor(Meteor, 'loginWithGoogle');\n\t this.loginWithGithub = $meteorUtils.promissor(Meteor, 'loginWithGithub');\n\t this.loginWithMeteorDeveloperAccount = $meteorUtils.promissor(Meteor, 'loginWithMeteorDeveloperAccount');\n\t this.loginWithMeetup = $meteorUtils.promissor(Meteor, 'loginWithMeetup');\n\t this.loginWithWeibo = $meteorUtils.promissor(Meteor, 'loginWithWeibo');\n\t}]);\n\t\n\tangularMeteorUser.run(['$rootScope', '$angularMeteorSettings', '$$Core', function ($rootScope, $angularMeteorSettings, $$Core) {\n\t\n\t var ScopeProto = Object.getPrototypeOf($rootScope);\n\t _underscore2.default.extend(ScopeProto, $$Core);\n\t\n\t $rootScope.autorun(function () {\n\t if (!Meteor.user) return;\n\t $rootScope.currentUser = Meteor.user();\n\t $rootScope.loggingIn = Meteor.loggingIn();\n\t });\n\t}]);\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t'use strict'; /*global\n\t angular, _, Meteor\n\t */\n\t\n\tvar angularMeteorMethods = angular.module('angular-meteor.methods', ['angular-meteor.utils', 'angular-meteor.settings']);\n\t\n\tangularMeteorMethods.service('$meteorMethods', ['$q', '$meteorUtils', '$angularMeteorSettings', function ($q, $meteorUtils, $angularMeteorSettings) {\n\t this.call = function () {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var deferred = $q.defer();\n\t var fulfill = $meteorUtils.fulfill(deferred);\n\t var args = _underscore2.default.toArray(arguments).concat(fulfill);\n\t Meteor.call.apply(this, args);\n\t return deferred.promise;\n\t };\n\t}]);\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular, Session\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorSession = angular.module('angular-meteor.session', ['angular-meteor.utils', 'angular-meteor.settings']);\n\t\n\tangularMeteorSession.factory('$meteorSession', ['$meteorUtils', '$parse', '$angularMeteorSettings', function ($meteorUtils, $parse, $angularMeteorSettings) {\n\t return function (session) {\n\t\n\t return {\n\t\n\t bind: function bind(scope, model) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t var getter = $parse(model);\n\t var setter = getter.assign;\n\t $meteorUtils.autorun(scope, function () {\n\t setter(scope, Session.get(session));\n\t });\n\t\n\t scope.$watch(model, function (newItem, oldItem) {\n\t Session.set(session, getter(scope));\n\t }, true);\n\t }\n\t };\n\t };\n\t}]);\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular, Package\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorCamera = angular.module('angular-meteor.camera', ['angular-meteor.utils', 'angular-meteor.settings']);\n\t\n\t// requires package 'mdg:camera'\n\tangularMeteorCamera.service('$meteorCamera', ['$q', '$meteorUtils', '$angularMeteorSettings', function ($q, $meteorUtils, $angularMeteorSettings) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t var pack = Package['mdg:camera'];\n\t if (!pack) return;\n\t\n\t var MeteorCamera = pack.MeteorCamera;\n\t\n\t this.getPicture = function (options) {\n\t if (!$angularMeteorSettings.suppressWarnings) console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\t\n\t options = options || {};\n\t var deferred = $q.defer();\n\t MeteorCamera.getPicture(options, $meteorUtils.fulfill(deferred));\n\t return deferred.promise;\n\t };\n\t}]);\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t/*global\n\t angular\n\t */\n\t\n\t'use strict';\n\t\n\tvar angularMeteorStopper = angular.module('angular-meteor.stopper', ['angular-meteor.subscribe']);\n\t\n\tangularMeteorStopper.factory('$meteorStopper', ['$q', '$meteorSubscribe', function ($q, $meteorSubscribe) {\n\t function $meteorStopper($meteorEntity) {\n\t return function () {\n\t var args = Array.prototype.slice.call(arguments);\n\t var meteorEntity = $meteorEntity.apply(this, args);\n\t\n\t angular.extend(meteorEntity, $meteorStopper);\n\t meteorEntity.$$scope = this;\n\t\n\t this.$on('$destroy', function () {\n\t meteorEntity.stop();\n\t if (meteorEntity.subscription) meteorEntity.subscription.stop();\n\t });\n\t\n\t return meteorEntity;\n\t };\n\t }\n\t\n\t $meteorStopper.subscribe = function () {\n\t var args = Array.prototype.slice.call(arguments);\n\t this.subscription = $meteorSubscribe._subscribe(this.$$scope, $q.defer(), args);\n\t return this;\n\t };\n\t\n\t return $meteorStopper;\n\t}]);\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.utils = exports.name = undefined;\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar name = exports.name = 'angular-meteor.utilities';\n\tvar utils = exports.utils = '$$utils';\n\t\n\tangular.module(name, [])\n\t\n\t/*\n\t A utility service which is provided with general utility functions\n\t */\n\t.service(utils, ['$rootScope', function ($rootScope) {\n\t var self = this;\n\t\n\t // Checks if an object is a cursor\n\t this.isCursor = function (obj) {\n\t return obj instanceof Meteor.Collection.Cursor;\n\t };\n\t\n\t // Cheecks if an object is a scope\n\t this.isScope = function (obj) {\n\t return obj instanceof $rootScope.constructor;\n\t };\n\t\n\t // Checks if an object is a view model\n\t this.isViewModel = function (obj) {\n\t return _underscore2.default.isObject(obj) && obj.$$dependencies;\n\t };\n\t\n\t // Checks if two objects are siblings\n\t this.areSiblings = function (obj1, obj2) {\n\t return _underscore2.default.isObject(obj1) && _underscore2.default.isObject(obj2) && Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2);\n\t };\n\t\n\t // Binds function into a scpecified context. If an object is provided, will bind every\n\t // value in the object which is a function. If a tap function is provided, it will be\n\t // called right after the function has been invoked.\n\t this.bind = function (fn, context, tap) {\n\t tap = _underscore2.default.isFunction(tap) ? tap : angular.noop;\n\t if (_underscore2.default.isFunction(fn)) return bindFn(fn, context, tap);\n\t if (_underscore2.default.isObject(fn)) return bindObj(fn, context, tap);\n\t return fn;\n\t };\n\t\n\t function bindFn(fn, context, tap) {\n\t return function () {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t var result = fn.apply(context, args);\n\t tap.call(context, {\n\t result: result,\n\t args: args\n\t });\n\t return result;\n\t };\n\t }\n\t\n\t function bindObj(obj, context, tap) {\n\t return _underscore2.default.keys(obj).reduce(function (bound, k) {\n\t bound[k] = self.bind(obj[k], context, tap);\n\t return bound;\n\t }, {});\n\t }\n\t}]);\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Mixer = exports.name = undefined;\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tvar name = exports.name = 'angular-meteor.mixer';\n\tvar Mixer = exports.Mixer = '$Mixer';\n\t\n\tangular.module(name, [])\n\t\n\t/*\n\t A service which lets us apply mixins into Scope.prototype.\n\t The flow is simple. Once we define a mixin, it will be stored in the `$Mixer`,\n\t and any time a `ChildScope` prototype is created\n\t it will be extended by the `$Mixer`.\n\t This concept is good because it keeps our code\n\t clean and simple, and easy to extend.\n\t So any time we would like to define a new behaviour to our scope,\n\t we will just use the `$Mixer` service.\n\t */\n\t.service(Mixer, function () {\n\t var _this = this;\n\t\n\t // Used to store method's caller\n\t var caller = undefined;\n\t\n\t this._mixins = [];\n\t // Apply mixins automatically on specified contexts\n\t this._autoExtend = [];\n\t this._autoConstruct = [];\n\t\n\t // Adds a new mixin\n\t this.mixin = function (mixin) {\n\t if (!_underscore2.default.isObject(mixin)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t\n\t _this._mixins = _underscore2.default.union(_this._mixins, [mixin]);\n\t // Apply mixins to stored contexts\n\t _this._autoExtend.forEach(function (context) {\n\t return _this._extend(context);\n\t });\n\t _this._autoConstruct.forEach(function (context) {\n\t return _this._construct(context);\n\t });\n\t return _this;\n\t };\n\t\n\t // Removes a mixin. Useful mainly for test purposes\n\t this._mixout = function (mixin) {\n\t _this._mixins = _underscore2.default.without(_this._mixins, mixin);\n\t return _this;\n\t };\n\t\n\t // Invoke function mixins with the provided context and arguments\n\t this._construct = function (context) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t _this._mixins.filter(_underscore2.default.isFunction).forEach(function (mixin) {\n\t mixin.call.apply(mixin, [context].concat(args));\n\t });\n\t\n\t return context;\n\t };\n\t\n\t // Extend prototype with the defined mixins\n\t this._extend = function (obj, options) {\n\t var _$defaults = _underscore2.default.defaults({}, options, {\n\t pattern: /.*/ });\n\t\n\t var pattern = _$defaults.pattern;\n\t var context = _$defaults.context;\n\t // The patterns of the keys which will be filtered\n\t\n\t\n\t var mixins = _this._mixins.map(function (mixin) {\n\t // Filtering the keys by the specified pattern\n\t var keys = _underscore2.default.keys(mixin).filter(function (k) {\n\t return k.match(pattern);\n\t }).filter(function (k) {\n\t return _underscore2.default.isFunction(mixin[k]);\n\t });\n\t\n\t return keys.reduce(function (boundMixin, methodName) {\n\t var methodHandler = mixin[methodName];\n\t\n\t // Note that this is not an arrow function so we can conserve the conetxt\n\t boundMixin[methodName] = function () {\n\t // Storing original caller so we will know who actually called the\n\t // method event though it is bound to another context\n\t var methodContext = context || this;\n\t var recentCaller = caller;\n\t caller = this;\n\t\n\t try {\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return methodHandler.apply(methodContext, args);\n\t } finally {\n\t // No matter what happens, restore variable to the previous one\n\t caller = recentCaller;\n\t }\n\t };\n\t\n\t return boundMixin;\n\t }, {});\n\t });\n\t\n\t return _underscore2.default.extend.apply(_underscore2.default, [obj].concat(_toConsumableArray(mixins)));\n\t };\n\t\n\t // Caller property can not be set\n\t Object.defineProperty(this, 'caller', {\n\t configurable: true,\n\t enumerable: true,\n\t\n\t get: function get() {\n\t return caller;\n\t }\n\t });\n\t});\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.name = undefined;\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar name = exports.name = 'angular-meteor.scope';\n\t\n\tangular.module(name, [_mixer.name]).run(['$rootScope', _mixer.Mixer, function ($rootScope, $Mixer) {\n\t var Scope = $rootScope.constructor;\n\t var $new = $rootScope.$new;\n\t\n\t // Apply extensions whether a mixin in defined.\n\t // Note that this way mixins which are initialized later\n\t // can be applied on rootScope.\n\t $Mixer._autoExtend.push(Scope.prototype);\n\t $Mixer._autoConstruct.push($rootScope);\n\t\n\t Scope.prototype.$new = function () {\n\t var scope = $new.apply(this, arguments);\n\t // Apply constructors to newly created scopes\n\t return $Mixer._construct(scope);\n\t };\n\t}]);\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Core = exports.name = undefined;\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tvar name = exports.name = 'angular-meteor.core';\n\tvar Core = exports.Core = '$$Core';\n\t\n\tangular.module(name, [_utils.name, _mixer.name])\n\t\n\t/*\n\t A mixin which provides us with core Meteor functions.\n\t */\n\t.factory(Core, ['$q', _utils.utils, _mixer.Mixer, function ($q, $$utils, $Mixer) {\n\t function $$Core() {}\n\t\n\t // Calls Meteor.autorun() which will be digested after each run and automatically destroyed\n\t $$Core.autorun = function (fn) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t fn = this.$bindToContext($Mixer.caller, fn);\n\t\n\t if (!_underscore2.default.isFunction(fn)) {\n\t throw Error('argument 1 must be a function');\n\t }\n\t if (!_underscore2.default.isObject(options)) {\n\t throw Error('argument 2 must be an object');\n\t }\n\t\n\t var computation = Tracker.autorun(fn, options);\n\t // Reset to a function that will also stop the listener we just added\n\t computation.stop = this.$$autoStop(computation);\n\t return computation;\n\t };\n\t\n\t // Calls Meteor.subscribe() which will be digested after each invokation\n\t // and automatically destroyed\n\t $$Core.subscribe = function (subName, fn, cb) {\n\t fn = this.$bindToContext($Mixer.caller, fn || angular.noop);\n\t cb = cb ? this.$bindToContext($Mixer.caller, cb) : angular.noop;\n\t\n\t if (!_underscore2.default.isString(subName)) {\n\t throw Error('argument 1 must be a string');\n\t }\n\t if (!_underscore2.default.isFunction(fn)) {\n\t throw Error('argument 2 must be a function');\n\t }\n\t if (!_underscore2.default.isFunction(cb) && !_underscore2.default.isObject(cb)) {\n\t throw Error('argument 3 must be a function or an object');\n\t }\n\t\n\t var result = {};\n\t\n\t var computation = this.autorun(function () {\n\t var _Meteor;\n\t\n\t var args = fn();\n\t if (angular.isUndefined(args)) args = [];\n\t\n\t if (!_underscore2.default.isArray(args)) {\n\t throw Error('reactive function\\'s return value must be an array');\n\t }\n\t\n\t var subscription = (_Meteor = Meteor).subscribe.apply(_Meteor, [subName].concat(_toConsumableArray(args), [cb]));\n\t result.ready = subscription.ready.bind(subscription);\n\t result.subscriptionId = subscription.subscriptionId;\n\t });\n\t\n\t // Once the computation has been stopped,\n\t // any subscriptions made inside will be stopped as well\n\t result.stop = computation.stop.bind(computation);\n\t return result;\n\t };\n\t\n\t // Calls Meteor.call() wrapped by a digestion cycle\n\t $$Core.callMethod = function () {\n\t var _Meteor2;\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t var fn = args.pop();\n\t if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n\t return (_Meteor2 = Meteor).call.apply(_Meteor2, args.concat([fn]));\n\t };\n\t\n\t // Calls Meteor.apply() wrapped by a digestion cycle\n\t $$Core.applyMethod = function () {\n\t var _Meteor3;\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t var fn = args.pop();\n\t if (_underscore2.default.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n\t return (_Meteor3 = Meteor).apply.apply(_Meteor3, args.concat([fn]));\n\t };\n\t\n\t // Stops a process once the scope has been destroyed\n\t $$Core.$$autoStop = function (stoppable) {\n\t var removeListener = undefined;\n\t var baseStop = stoppable.stop.bind(stoppable);\n\t\n\t // Once the process has been stopped the destroy event listener will be removed\n\t // to avoid memory leaks and unexpected behaviours\n\t var stop = function stop() {\n\t removeListener();\n\t return baseStop.apply(undefined, arguments);\n\t };\n\t\n\t removeListener = this.$on('$destroy', stop);\n\t return stop;\n\t };\n\t\n\t // Digests scope only if there is no phase at the moment\n\t $$Core.$$throttledDigest = function () {\n\t var isDigestable = !this.$$destroyed && !this.$$phase && !this.$root.$$phase;\n\t\n\t if (isDigestable) this.$digest();\n\t };\n\t\n\t // Creates a promise only that the digestion cycle will be called at its fulfillment\n\t $$Core.$$defer = function () {\n\t var deferred = $q.defer();\n\t // Once promise has been fulfilled, digest\n\t deferred.promise = deferred.promise.finally(this.$$throttledDigest.bind(this));\n\t return deferred;\n\t };\n\t\n\t // Binds an object or a function to the provided context and digest it once it is invoked\n\t $$Core.$bindToContext = function (context, fn) {\n\t if (_underscore2.default.isFunction(context)) {\n\t fn = context;\n\t context = this;\n\t }\n\t\n\t return $$utils.bind(fn, context, this.$$throttledDigest.bind(this));\n\t };\n\t\n\t return $$Core;\n\t}]);\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.reactive = exports.ViewModel = exports.name = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar _core = __webpack_require__(19);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar name = exports.name = 'angular-meteor.view-model';\n\tvar ViewModel = exports.ViewModel = '$$ViewModel';\n\tvar reactive = exports.reactive = '$reactive';\n\t\n\tangular.module(name, [_utils.name, _mixer.name, _core.name])\n\t\n\t/*\n\t A mixin which lets us bind a view model into a scope.\n\t Note that only a single view model can be bound,\n\t otherwise the scope might behave unexpectedly.\n\t Mainly used to define the controller as the view model,\n\t and very useful when wanting to use Angular's `controllerAs` syntax.\n\t */\n\t.factory(ViewModel, [_utils.utils, _mixer.Mixer, function ($$utils, $Mixer) {\n\t function $$ViewModel() {}\n\t\n\t // Gets an object, wraps it with scope functions and returns it\n\t $$ViewModel.viewModel = function (vm) {\n\t if (!_underscore2.default.isObject(vm)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t\n\t // Extend view model with mixin functions\n\t $Mixer._extend(vm, {\n\t pattern: /^(?!\\$\\$).*$/, // Omitting methods which start with a $$ notation\n\t context: this // Binding methods to scope\n\t });\n\t\n\t // Apply mixin constructors on scope with view model\n\t $Mixer._construct(this, vm);\n\t return vm;\n\t };\n\t\n\t return $$ViewModel;\n\t}])\n\t\n\t/*\n\t Illustrates the old API where a view model is created using $reactive service\n\t */\n\t.service(reactive, [_utils.utils, function ($$utils) {\n\t var Reactive = function () {\n\t function Reactive(vm) {\n\t var _this = this;\n\t\n\t _classCallCheck(this, Reactive);\n\t\n\t if (!_underscore2.default.isObject(vm)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t\n\t _underscore2.default.defer(function () {\n\t if (!_this._attached) {\n\t console.warn('view model was not attached to any scope');\n\t }\n\t });\n\t\n\t this._vm = vm;\n\t }\n\t\n\t _createClass(Reactive, [{\n\t key: 'attach',\n\t value: function attach(scope) {\n\t this._attached = true;\n\t\n\t if (!$$utils.isScope(scope)) {\n\t throw Error('argument 1 must be a scope');\n\t }\n\t\n\t var viewModel = scope.viewModel(this._vm);\n\t\n\t // Similar to the old/Meteor API\n\t viewModel.call = viewModel.callMethod;\n\t viewModel.apply = viewModel.applyMethod;\n\t\n\t return viewModel;\n\t }\n\t }]);\n\t\n\t return Reactive;\n\t }();\n\t\n\t return function (vm) {\n\t return new Reactive(vm);\n\t };\n\t}]);\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.Reactive = exports.name = undefined;\n\t\n\tvar _jsondiffpatch = __webpack_require__(22);\n\t\n\tvar _jsondiffpatch2 = _interopRequireDefault(_jsondiffpatch);\n\t\n\tvar _underscore = __webpack_require__(2);\n\t\n\tvar _underscore2 = _interopRequireDefault(_underscore);\n\t\n\tvar _utils = __webpack_require__(16);\n\t\n\tvar _mixer = __webpack_require__(17);\n\t\n\tvar _core = __webpack_require__(19);\n\t\n\tvar _viewModel = __webpack_require__(20);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar name = exports.name = 'angular-meteor.reactive';\n\tvar Reactive = exports.Reactive = '$$Reactive';\n\t\n\tangular.module(name, [_utils.name, _mixer.name, _core.name, _viewModel.name])\n\t\n\t/*\n\t A mixin which enhance our reactive abilities by providing methods\n\t that are capable of updating our scope reactively.\n\t */\n\t.factory(Reactive, ['$parse', _utils.utils, _mixer.Mixer, function ($parse, $$utils, $Mixer) {\n\t function $$Reactive() {\n\t var vm = arguments.length <= 0 || arguments[0] === undefined ? this : arguments[0];\n\t\n\t // Helps us track changes made in the view model\n\t vm.$$dependencies = {};\n\t }\n\t\n\t // Gets an object containing functions and define their results as reactive properties.\n\t // Once a return value has been changed the property will be reset.\n\t $$Reactive.helpers = function (vm, props) {\n\t var _this = this;\n\t\n\t if ($$utils.isViewModel(vm)) {\n\t if (!_underscore2.default.isObject(props)) {\n\t throw Error('argument 2 must be an object');\n\t }\n\t } else {\n\t props = vm;\n\t vm = $Mixer.caller;\n\t\n\t if (!_underscore2.default.isObject(props)) {\n\t throw Error('argument 1 must be an object');\n\t }\n\t }\n\t\n\t _underscore2.default.each(props, function (v, k) {\n\t if (!_underscore2.default.isFunction(v)) {\n\t throw Error('helper \\'' + k + '\\' must be a function');\n\t }\n\t });\n\t\n\t _underscore2.default.each(props, function (v, k) {\n\t if (!vm.$$dependencies[k]) {\n\t // Registers a new dependency to the specified helper\n\t vm.$$dependencies[k] = new Tracker.Dependency();\n\t }\n\t\n\t _this.$$setFnHelper(vm, k, v);\n\t });\n\t };\n\t\n\t // Gets a model reactively\n\t $$Reactive.getReactively = function (vm, k, isDeep) {\n\t if ($$utils.isViewModel(vm)) {\n\t if (angular.isUndefined(isDeep)) isDeep = false;\n\t\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 2 must be a string');\n\t }\n\t if (!_underscore2.default.isBoolean(isDeep)) {\n\t throw Error('argument 3 must be a boolean');\n\t }\n\t } else {\n\t isDeep = angular.isDefined(k) ? k : false;\n\t k = vm;\n\t vm = $Mixer.caller;\n\t\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 1 must be a string');\n\t }\n\t if (!_underscore2.default.isBoolean(isDeep)) {\n\t throw Error('argument 2 must be a boolean');\n\t }\n\t }\n\t\n\t return this.$$reactivateEntity(vm, k, this.$watch, isDeep);\n\t };\n\t\n\t // Gets a collection reactively\n\t $$Reactive.getCollectionReactively = function (vm, k) {\n\t if ($$utils.isViewModel(vm)) {\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 2 must be a string');\n\t }\n\t } else {\n\t k = vm;\n\t vm = $Mixer.caller;\n\t\n\t if (!_underscore2.default.isString(k)) {\n\t throw Error('argument 1 must be a string');\n\t }\n\t }\n\t\n\t return this.$$reactivateEntity(vm, k, this.$watchCollection);\n\t };\n\t\n\t // Gets an entity reactively, and once it has been changed the computation will be recomputed\n\t $$Reactive.$$reactivateEntity = function (vm, k, watcher) {\n\t if (!vm.$$dependencies[k]) {\n\t vm.$$dependencies[k] = new Tracker.Dependency();\n\t\n\t for (var _len = arguments.length, watcherArgs = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n\t watcherArgs[_key - 3] = arguments[_key];\n\t }\n\t\n\t this.$$watchEntity.apply(this, [vm, k, watcher].concat(watcherArgs));\n\t }\n\t\n\t vm.$$dependencies[k].depend();\n\t return $parse(k)(vm);\n\t };\n\t\n\t // Watches for changes in the view model, and if so will notify a change\n\t $$Reactive.$$watchEntity = function (vm, k, watcher) {\n\t var _this2 = this;\n\t\n\t // Gets a deep property from the caller\n\t var getVal = _underscore2.default.partial($parse(k), vm);\n\t var initialVal = getVal();\n\t\n\t // Watches for changes in the view model\n\t\n\t for (var _len2 = arguments.length, watcherArgs = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n\t watcherArgs[_key2 - 3] = arguments[_key2];\n\t }\n\t\n\t watcher.call.apply(watcher, [this, getVal, function (val, oldVal) {\n\t var hasChanged = val !== initialVal || val !== oldVal;\n\t\n\t // Notify if a change has been detected\n\t if (hasChanged) _this2.$$changed(vm, k);\n\t }].concat(watcherArgs));\n\t };\n\t\n\t // Invokes a function and sets the return value as a property\n\t $$Reactive.$$setFnHelper = function (vm, k, fn) {\n\t var _this3 = this;\n\t\n\t var activeObservation = null;\n\t var lastModel = null;\n\t var lastModelData = [];\n\t\n\t this.autorun(function () /* computation */{\n\t // Invokes the reactive functon\n\t var model = fn.apply(vm);\n\t\n\t // Ignore notifications made by the following handler\n\t Tracker.nonreactive(function () {\n\t // If a cursor, observe its changes and update acoordingly\n\t if ($$utils.isCursor(model)) {\n\t var modelData = undefined;\n\t\n\t if (angular.isUndefined(vm[k])) {\n\t _this3.$$setValHelper(vm, k, [], false);\n\t }\n\t\n\t if (activeObservation) {\n\t lastModelData = lastModel.fetch();\n\t activeObservation.stop();\n\t activeObservation = null;\n\t }\n\t\n\t var handle = _this3.$$handleCursor(vm, k, model);\n\t\n\t activeObservation = handle.observation;\n\t modelData = handle.data;\n\t\n\t if (lastModelData.length !== 0) {\n\t var diff = _jsondiffpatch2.default.diff(lastModelData, modelData);\n\t vm[k] = _jsondiffpatch2.default.patch(lastModelData, diff);\n\t } else {\n\t vm[k] = modelData;\n\t }\n\t\n\t lastModel = model;\n\t lastModelData = modelData;\n\t\n\t /* computation.onInvalidate(() => {\n\t activeObservation.stop();\n\t });*/\n\t } else {\n\t _this3.$$handleNonCursor(vm, k, model);\n\t }\n\t\n\t // Notify change and update the view model\n\t _this3.$$changed(vm, k);\n\t });\n\t });\n\t };\n\t\n\t // Sets a value helper as a setter and a getter which will notify computations once used\n\t $$Reactive.$$setValHelper = function (vm, k, v) {\n\t var _this4 = this;\n\t\n\t var watch = arguments.length <= 3 || arguments[3] === undefined ? true : arguments[3];\n\t\n\t // If set, reactives property\n\t if (watch) {\n\t var isDeep = _underscore2.default.isObject(v);\n\t this.getReactively(vm, k, isDeep);\n\t }\n\t\n\t Object.defineProperty(vm, k, {\n\t configurable: true,\n\t enumerable: true,\n\t\n\t get: function get() {\n\t return v;\n\t },\n\t set: function set(newVal) {\n\t v = newVal;\n\t _this4.$$changed(vm, k);\n\t }\n\t });\n\t };\n\t\n\t // Fetching a cursor and updates properties once the result set has been changed\n\t $$Reactive.$$handleCursor = function (vm, k, cursor) {\n\t var _this5 = this;\n\t\n\t var data = [];\n\t // Observe changes made in the result set\n\t var observation = cursor.observe({\n\t addedAt: function addedAt(doc, atIndex) {\n\t if (!observation) {\n\t data.push(doc);\n\t return;\n\t }\n\t vm[k].splice(atIndex, 0, doc);\n\t _this5.$$changed(vm, k);\n\t },\n\t changedAt: function changedAt(doc, oldDoc, atIndex) {\n\t var diff = _jsondiffpatch2.default.diff(vm[k][atIndex], doc);\n\t _jsondiffpatch2.default.patch(vm[k][atIndex], diff);\n\t _this5.$$changed(vm, k);\n\t },\n\t movedTo: function movedTo(doc, fromIndex, toIndex) {\n\t vm[k].splice(fromIndex, 1);\n\t vm[k].splice(toIndex, 0, doc);\n\t _this5.$$changed(vm, k);\n\t },\n\t removedAt: function removedAt(oldDoc, atIndex) {\n\t vm[k].splice(atIndex, 1);\n\t _this5.$$changed(vm, k);\n\t }\n\t });\n\t\n\t return {\n\t observation: observation,\n\t data: data\n\t };\n\t };\n\t\n\t $$Reactive.$$handleNonCursor = function (vm, k, data) {\n\t var v = vm[k];\n\t\n\t if (angular.isDefined(v)) {\n\t delete vm[k];\n\t v = null;\n\t }\n\t\n\t if (angular.isUndefined(v)) {\n\t this.$$setValHelper(vm, k, data);\n\t }\n\t // Update property if the new value is from the same type\n\t else if ($$utils.areSiblings(v, data)) {\n\t var diff = _jsondiffpatch2.default.diff(v, data);\n\t _jsondiffpatch2.default.patch(v, diff);\n\t this.$$changed(vm, k);\n\t } else {\n\t vm[k] = data;\n\t }\n\t };\n\t\n\t // Notifies dependency in view model\n\t $$Reactive.$$depend = function (vm, k) {\n\t vm.$$dependencies[k].depend();\n\t };\n\t\n\t // Notifies change in view model\n\t $$Reactive.$$changed = function (vm, k) {\n\t this.$$throttledDigest();\n\t vm.$$dependencies[k].changed();\n\t };\n\t\n\t return $$Reactive;\n\t}]);\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n/***/ },\n/* 23 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar name = exports.name = 'angular-templates';\n\t\n\ttry {\n\t angular.module(name);\n\t} catch (e) {\n\t angular.module(name, []);\n\t}\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** dist/angular-meteor.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap b9a34ba732c935f19d98\n **/","// lib\nimport './lib/get-updates';\nimport './lib/diff-array';\n// legacy\nimport './modules/angular-meteor-settings';\nimport './modules/angular-meteor-ironrouter';\nimport './modules/angular-meteor-utils';\nimport './modules/angular-meteor-subscribe';\nimport './modules/angular-meteor-collection';\nimport './modules/angular-meteor-object';\nimport './modules/angular-meteor-user';\nimport './modules/angular-meteor-methods';\nimport './modules/angular-meteor-session';\nimport './modules/angular-meteor-camera';\nimport './modules/angular-meteor-stopper';\n\n// new\nimport { name as utilsName } from './modules/utils';\nimport { name as mixerName, Mixer } from './modules/mixer';\nimport { name as scopeName } from './modules/scope';\nimport { name as coreName, Core } from './modules/core';\nimport { name as viewModelName, ViewModel } from './modules/view-model';\nimport { name as reactiveName, Reactive } from './modules/reactive';\nimport { name as templatesName } from './modules/templates';\n\nconst name = 'angular-meteor';\nexport default name;\n\nangular.module(name, [\n // new\n utilsName,\n mixerName,\n scopeName,\n coreName,\n viewModelName,\n reactiveName,\n templatesName,\n\n // legacy\n 'angular-meteor.ironrouter',\n 'angular-meteor.utils',\n 'angular-meteor.subscribe',\n 'angular-meteor.collection',\n 'angular-meteor.object',\n 'angular-meteor.user',\n 'angular-meteor.methods',\n 'angular-meteor.session',\n 'angular-meteor.camera'\n\n])\n\n.run([\n Mixer,\n Core,\n ViewModel,\n Reactive,\n\n function($Mixer, $$Core, $$ViewModel, $$Reactive) {\n // Load all mixins\n $Mixer\n .mixin($$Core)\n .mixin($$ViewModel)\n .mixin($$Reactive);\n }\n])\n\n// legacy\n// Putting all services under $meteor service for syntactic sugar\n.service('$meteor', [\n '$meteorCollection',\n '$meteorCollectionFS',\n '$meteorObject',\n '$meteorMethods',\n '$meteorSession',\n '$meteorSubscribe',\n '$meteorUtils',\n '$meteorCamera',\n '$meteorUser',\n function($meteorCollection, $meteorCollectionFS, $meteorObject,\n $meteorMethods, $meteorSession, $meteorSubscribe, $meteorUtils,\n $meteorCamera, $meteorUser) {\n this.collection = $meteorCollection;\n this.collectionFS = $meteorCollectionFS;\n this.object = $meteorObject;\n this.subscribe = $meteorSubscribe.subscribe;\n this.call = $meteorMethods.call;\n this.session = $meteorSession;\n this.autorun = $meteorUtils.autorun;\n this.getCollectionByName = $meteorUtils.getCollectionByName;\n this.getPicture = $meteorCamera.getPicture;\n\n // $meteorUser\n [\n 'loginWithPassword',\n 'requireUser',\n 'requireValidUser',\n 'waitForUser',\n 'createUser',\n 'changePassword',\n 'forgotPassword',\n 'resetPassword',\n 'verifyEmail',\n 'loginWithMeteorDeveloperAccount',\n 'loginWithFacebook',\n 'loginWithGithub',\n 'loginWithGoogle',\n 'loginWithMeetup',\n 'loginWithTwitter',\n 'loginWithWeibo',\n 'logout',\n 'logoutOtherClients'\n ].forEach((method) => {\n this[method] = $meteorUser[method];\n });\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/angular-meteor.js\n **/","/*global\n angular, _\n */\n\nimport _ from './underscore';\n\n'use strict';\n\n// https://github.com/DAB0mB/get-updates\n(function() {\n var module = angular.module('getUpdates', []);\n\n var utils = (function() {\n var rip = function(obj, level) {\n if (level < 1) return {};\n\n return _.reduce(obj, function(clone, v, k) {\n v = _.isObject(v) ? rip(v, --level) : v;\n clone[k] = v;\n return clone;\n }, {});\n };\n\n var toPaths = function(obj) {\n var keys = getKeyPaths(obj);\n var values = getDeepValues(obj);\n return _.object(keys, values);\n };\n\n var getKeyPaths = function(obj) {\n var keys = _.keys(obj).map(function(k) {\n var v = obj[k];\n if (!_.isObject(v) || _.isEmpty(v) || _.isArray(v)) return k;\n\n return getKeyPaths(v).map(function(subKey) {\n return k + '.' + subKey;\n });\n });\n\n return _.flatten(keys);\n };\n\n var getDeepValues = function(obj,arr) {\n arr = arr || [];\n\n _.values(obj).forEach(function(v) {\n if (!_.isObject(v) || _.isEmpty(v) || _.isArray(v))\n arr.push(v);\n else\n getDeepValues(v, arr);\n });\n\n return arr;\n };\n\n var flatten = function(arr) {\n return arr.reduce(function(flattened, v, i) {\n if (_.isArray(v) && !_.isEmpty(v))\n flattened.push.apply(flattened, flatten(v));\n else\n flattened.push(v);\n\n return flattened;\n }, []);\n };\n\n var setFilled = function(obj, k, v) {\n if (!_.isEmpty(v)) obj[k] = v;\n };\n\n var assert = function(result, msg) {\n if (!result) throwErr(msg);\n };\n\n var throwErr = function(msg) {\n throw Error('get-updates error - ' + msg);\n };\n\n return {\n rip: rip,\n toPaths: toPaths,\n getKeyPaths: getKeyPaths,\n getDeepValues: getDeepValues,\n setFilled: setFilled,\n assert: assert,\n throwErr: throwErr\n };\n })();\n\n var getDifference = (function() {\n var getDifference = function(src, dst, isShallow) {\n var level;\n\n if (isShallow > 1)\n level = isShallow;\n else if (isShallow)\n level = 1;\n\n if (level) {\n src = utils.rip(src, level);\n dst = utils.rip(dst, level);\n }\n\n return compare(src, dst);\n };\n\n var compare = function(src, dst) {\n var srcKeys = _.keys(src);\n var dstKeys = _.keys(dst);\n\n var keys = _.chain([])\n .concat(srcKeys)\n .concat(dstKeys)\n .uniq()\n .without('$$hashKey')\n .value();\n\n return keys.reduce(function(diff, k) {\n var srcValue = src[k];\n var dstValue = dst[k];\n\n if (_.isDate(srcValue) && _.isDate(dstValue)) {\n if (srcValue.getTime() != dstValue.getTime()) diff[k] = dstValue;\n }\n\n if (_.isObject(srcValue) && _.isObject(dstValue)) {\n var valueDiff = getDifference(srcValue, dstValue);\n utils.setFilled(diff, k, valueDiff);\n }\n\n else if (srcValue !== dstValue) {\n diff[k] = dstValue;\n }\n\n return diff;\n }, {});\n };\n\n return getDifference;\n })();\n\n var getUpdates = (function() {\n var getUpdates = function(src, dst, isShallow) {\n utils.assert(_.isObject(src), 'first argument must be an object');\n utils.assert(_.isObject(dst), 'second argument must be an object');\n\n var diff = getDifference(src, dst, isShallow);\n var paths = utils.toPaths(diff);\n\n var set = createSet(paths);\n var unset = createUnset(paths);\n var pull = createPull(unset);\n\n var updates = {};\n utils.setFilled(updates, '$set', set);\n utils.setFilled(updates, '$unset', unset);\n utils.setFilled(updates, '$pull', pull);\n\n return updates;\n };\n\n var createSet = function(paths) {\n var undefinedKeys = getUndefinedKeys(paths);\n return _.omit(paths, undefinedKeys);\n };\n\n var createUnset = function(paths) {\n var undefinedKeys = getUndefinedKeys(paths);\n var unset = _.pick(paths, undefinedKeys);\n\n return _.reduce(unset, function(result, v, k) {\n result[k] = true;\n return result;\n }, {});\n };\n\n var createPull = function(unset) {\n var arrKeyPaths = _.keys(unset).map(function(k) {\n var split = k.match(/(.*)\\.\\d+$/);\n return split && split[1];\n });\n\n return _.compact(arrKeyPaths).reduce(function(pull, k) {\n pull[k] = null;\n return pull;\n }, {});\n };\n\n var getUndefinedKeys = function(obj) {\n return _.keys(obj).filter(function (k) {\n var v = obj[k];\n return _.isUndefined(v);\n });\n };\n\n return getUpdates;\n })();\n\n module.value('getUpdates', getUpdates);\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lib/get-updates.js\n **/","import _ from 'underscore';\n\nif (typeof _ === 'undefined') {\n if (typeof Package.underscore === 'undefined') {\n throw new Error('underscore is missing');\n }\n}\n\nexport default _ || Package.underscore._;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lib/underscore.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"root\":\"_\",\"amd\":\"underscore\",\"commonjs2\":\"underscore\",\"commonjs\":\"underscore\"}\n ** module id = 3\n ** module chunks = 0\n **/","/*global\n angular, _, Package\n */\n\nimport _ from './underscore';\n\n'use strict';\n\nvar _module = angular.module('diffArray', ['getUpdates']);\n\n_module.factory('diffArray', ['getUpdates',\n function(getUpdates) {\n var LocalCollection = Package.minimongo.LocalCollection;\n var idStringify = LocalCollection._idStringify || Package['mongo-id'].MongoID.idStringify;\n var idParse = LocalCollection._idParse || Package['mongo-id'].MongoID.idParse;\n\n // Calculates the differences between `lastSeqArray` and\n // `seqArray` and calls appropriate functions from `callbacks`.\n // Reuses Minimongo's diff algorithm implementation.\n // XXX Should be replaced with the original diffArray function here:\n // https://github.com/meteor/meteor/blob/devel/packages/observe-sequence/observe_sequence.js#L152\n // When it will become nested as well, tracking here: https://github.com/meteor/meteor/issues/3764\n function diffArray(lastSeqArray, seqArray, callbacks, preventNestedDiff) {\n preventNestedDiff = !!preventNestedDiff;\n\n var diffFn = Package.minimongo.LocalCollection._diffQueryOrderedChanges ||\n Package['diff-sequence'].DiffSequence.diffQueryOrderedChanges;\n\n var oldObjIds = [];\n var newObjIds = [];\n var posOld = {}; // maps from idStringify'd ids\n var posNew = {}; // ditto\n var posCur = {};\n var lengthCur = lastSeqArray.length;\n\n _.each(seqArray, function (doc, i) {\n newObjIds.push({_id: doc._id});\n posNew[idStringify(doc._id)] = i;\n });\n\n _.each(lastSeqArray, function (doc, i) {\n oldObjIds.push({_id: doc._id});\n posOld[idStringify(doc._id)] = i;\n posCur[idStringify(doc._id)] = i;\n });\n\n // Arrays can contain arbitrary objects. We don't diff the\n // objects. Instead we always fire 'changedAt' callback on every\n // object. The consumer of `observe-sequence` should deal with\n // it appropriately.\n diffFn(oldObjIds, newObjIds, {\n addedBefore: function (id, doc, before) {\n var position = before ? posCur[idStringify(before)] : lengthCur;\n\n _.each(posCur, function (pos, id) {\n if (pos >= position) posCur[id]++;\n });\n\n lengthCur++;\n posCur[idStringify(id)] = position;\n\n callbacks.addedAt(\n id,\n seqArray[posNew[idStringify(id)]],\n position,\n before\n );\n },\n\n movedBefore: function (id, before) {\n var prevPosition = posCur[idStringify(id)];\n var position = before ? posCur[idStringify(before)] : lengthCur - 1;\n\n _.each(posCur, function (pos, id) {\n if (pos >= prevPosition && pos <= position)\n posCur[id]--;\n else if (pos <= prevPosition && pos >= position)\n posCur[id]++;\n });\n\n posCur[idStringify(id)] = position;\n\n callbacks.movedTo(\n id,\n seqArray[posNew[idStringify(id)]],\n prevPosition,\n position,\n before\n );\n },\n removed: function (id) {\n var prevPosition = posCur[idStringify(id)];\n\n _.each(posCur, function (pos, id) {\n if (pos >= prevPosition) posCur[id]--;\n });\n\n delete posCur[idStringify(id)];\n lengthCur--;\n\n callbacks.removedAt(\n id,\n lastSeqArray[posOld[idStringify(id)]],\n prevPosition\n );\n }\n });\n\n _.each(posNew, function (pos, idString) {\n if (!_.has(posOld, idString)) return;\n\n var id = idParse(idString);\n var newItem = seqArray[pos] || {};\n var oldItem = lastSeqArray[posOld[idString]];\n var updates = getUpdates(oldItem, newItem, preventNestedDiff);\n\n if (!_.isEmpty(updates))\n callbacks.changedAt(id, updates, pos, oldItem);\n });\n }\n\n diffArray.shallow = function(lastSeqArray, seqArray, callbacks) {\n return diffArray(lastSeqArray, seqArray, callbacks, true);\n };\n\n diffArray.deepCopyChanges = function (oldItem, newItem) {\n var setDiff = getUpdates(oldItem, newItem).$set;\n\n _.each(setDiff, function(v, deepKey) {\n setDeep(oldItem, deepKey, v);\n });\n };\n\n diffArray.deepCopyRemovals = function (oldItem, newItem) {\n var unsetDiff = getUpdates(oldItem, newItem).$unset;\n\n _.each(unsetDiff, function(v, deepKey) {\n unsetDeep(oldItem, deepKey);\n });\n };\n\n // Finds changes between two collections\n diffArray.getChanges = function(newCollection, oldCollection, diffMethod) {\n var changes = {added: [], removed: [], changed: []};\n\n diffMethod(oldCollection, newCollection, {\n addedAt: function(id, item, index) {\n changes.added.push({item: item, index: index});\n },\n\n removedAt: function(id, item, index) {\n changes.removed.push({item: item, index: index});\n },\n\n changedAt: function(id, updates, index, oldItem) {\n changes.changed.push({selector: id, modifier: updates});\n },\n\n movedTo: function(id, item, fromIndex, toIndex) {\n // XXX do we need this?\n }\n });\n\n return changes;\n };\n\n var setDeep = function(obj, deepKey, v) {\n var split = deepKey.split('.');\n var initialKeys = _.initial(split);\n var lastKey = _.last(split);\n\n initialKeys.reduce(function(subObj, k, i) {\n var nextKey = split[i + 1];\n\n if (isNumStr(nextKey)) {\n if (subObj[k] === null) subObj[k] = [];\n if (subObj[k].length == parseInt(nextKey)) subObj[k].push(null);\n }\n\n else if (subObj[k] === null || !isHash(subObj[k])) {\n subObj[k] = {};\n }\n\n return subObj[k];\n }, obj);\n\n var deepObj = getDeep(obj, initialKeys);\n deepObj[lastKey] = v;\n return v;\n };\n\n var unsetDeep = function(obj, deepKey) {\n var split = deepKey.split('.');\n var initialKeys = _.initial(split);\n var lastKey = _.last(split);\n var deepObj = getDeep(obj, initialKeys);\n\n if (_.isArray(deepObj) && isNumStr(lastKey))\n return !!deepObj.splice(lastKey, 1);\n else\n return delete deepObj[lastKey];\n };\n\n var getDeep = function(obj, keys) {\n return keys.reduce(function(subObj, k) {\n return subObj[k];\n }, obj);\n };\n\n var isHash = function(obj) {\n return _.isObject(obj) &&\n Object.getPrototypeOf(obj) === Object.prototype;\n };\n\n var isNumStr = function(str) {\n return str.match(/^\\d+$/);\n };\n\n return diffArray;\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lib/diff-array.js\n **/","angular.module('angular-meteor.settings', [])\n .constant('$angularMeteorSettings', {\n suppressWarnings: true\n });\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-settings.js\n **/","angular.module('angular-meteor.ironrouter', [])\n\n\n.run([\n '$compile',\n '$document',\n '$rootScope',\n\nfunction ($compile, $document, $rootScope) {\n const Router = (Package['iron:router'] || {}).Router;\n if (!Router) return;\n\n let isLoaded = false;\n\n // Recompile after iron:router builds page\n Router.onAfterAction((req, res, next) => {\n Tracker.afterFlush(() => {\n if (isLoaded) return;\n $compile($document)($rootScope);\n if (!$rootScope.$$phase) $rootScope.$apply();\n isLoaded = true;\n });\n });\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-ironrouter.js\n **/","/*global\n angular, _, Tracker, EJSON, FS, Mongo\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorUtils = angular.module('angular-meteor.utils', ['angular-meteor.settings']);\n\nangularMeteorUtils.service('$meteorUtils', [\n '$q', '$timeout', '$angularMeteorSettings',\n function ($q, $timeout, $angularMeteorSettings) {\n\n var self = this;\n\n this.autorun = function(scope, fn) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.utils.autorun] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.6/autorun. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n\n // wrapping around Deps.autorun\n var comp = Tracker.autorun(function(c) {\n fn(c);\n // this is run immediately for the first call\n // but after that, we need to $apply to start Angular digest\n if (!c.firstRun) $timeout(angular.noop, 0);\n });\n\n // stop autorun when scope is destroyed\n scope.$on('$destroy', function() {\n comp.stop();\n });\n\n // return autorun object so that it can be stopped manually\n return comp;\n };\n\n // Borrowed from angularFire\n // https://github.com/firebase/angularfire/blob/master/src/utils.js#L445-L454\n this.stripDollarPrefixedKeys = function (data) {\n if (!_.isObject(data) ||\n data instanceof Date ||\n data instanceof File ||\n EJSON.toJSONValue(data).$type === 'oid' ||\n (typeof FS === 'object' && data instanceof FS.File))\n return data;\n\n var out = _.isArray(data) ? [] : {};\n\n _.each(data, function(v,k) {\n if(typeof k !== 'string' || k.charAt(0) !== '$')\n out[k] = self.stripDollarPrefixedKeys(v);\n });\n\n return out;\n };\n\n // Returns a callback which fulfills promise\n this.fulfill = function(deferred, boundError, boundResult) {\n return function(err, result) {\n if (err)\n deferred.reject(boundError == null ? err : boundError);\n else if (typeof boundResult == \"function\")\n deferred.resolve(boundResult == null ? result : boundResult(result));\n else\n deferred.resolve(boundResult == null ? result : boundResult);\n };\n };\n\n // creates a function which invokes method with the given arguments and returns a promise\n this.promissor = function(obj, method) {\n return function() {\n var deferred = $q.defer();\n var fulfill = self.fulfill(deferred);\n var args = _.toArray(arguments).concat(fulfill);\n obj[method].apply(obj, args);\n return deferred.promise;\n };\n };\n\n // creates a $q.all() promise and call digestion loop on fulfillment\n this.promiseAll = function(promises) {\n var allPromise = $q.all(promises);\n\n allPromise.finally(function() {\n // calls digestion loop with no conflicts\n $timeout(angular.noop);\n });\n\n return allPromise;\n };\n\n this.getCollectionByName = function(string){\n return Mongo.Collection.get(string);\n };\n\n this.findIndexById = function(collection, doc) {\n var foundDoc = _.find(collection, function(colDoc) {\n // EJSON.equals used to compare Mongo.ObjectIDs and Strings.\n return EJSON.equals(colDoc._id, doc._id);\n });\n\n return _.indexOf(collection, foundDoc);\n };\n }\n]);\n\nangularMeteorUtils.run([\n '$rootScope', '$meteorUtils',\n function($rootScope, $meteorUtils) {\n Object.getPrototypeOf($rootScope).$meteorAutorun = function(fn) {\n return $meteorUtils.autorun(this, fn);\n };\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-utils.js\n **/","/*global\n angular, Meteor\n */\n\n'use strict';\nvar angularMeteorSubscribe = angular.module('angular-meteor.subscribe', ['angular-meteor.settings']);\n\nangularMeteorSubscribe.service('$meteorSubscribe', ['$q', '$angularMeteorSettings',\n function ($q, $angularMeteorSettings) {\n\n var self = this;\n\n this._subscribe = function(scope, deferred, args) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.subscribe] Please note that this module is deprecated since 1.3.0 and will be removed in 1.4.0! Replace it with the new syntax described here: http://www.angular-meteor.com/api/1.3.6/subscribe. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var subscription = null;\n var lastArg = args[args.length - 1];\n\n // User supplied onStop callback\n // save it for later use and remove\n // from subscription arguments\n if (angular.isObject(lastArg) &&\n angular.isFunction(lastArg.onStop)) {\n var onStop = lastArg.onStop;\n\n args.pop();\n }\n\n args.push({\n onReady: function() {\n deferred.resolve(subscription);\n },\n onStop: function(err) {\n if (!deferred.promise.$$state.status) {\n if (err)\n deferred.reject(err);\n else\n deferred.reject(new Meteor.Error(\"Subscription Stopped\",\n \"Subscription stopped by a call to stop method. Either by the client or by the server.\"));\n } else if (onStop)\n // After promise was resolved or rejected\n // call user supplied onStop callback.\n onStop.apply(this, Array.prototype.slice.call(arguments));\n\n }\n });\n\n subscription = Meteor.subscribe.apply(scope, args);\n\n return subscription;\n };\n\n this.subscribe = function(){\n var deferred = $q.defer();\n var args = Array.prototype.slice.call(arguments);\n var subscription = null;\n\n self._subscribe(this, deferred, args);\n\n return deferred.promise;\n };\n }]);\n\nangularMeteorSubscribe.run(['$rootScope', '$q', '$meteorSubscribe',\n function($rootScope, $q, $meteorSubscribe) {\n Object.getPrototypeOf($rootScope).$meteorSubscribe = function() {\n var deferred = $q.defer();\n var args = Array.prototype.slice.call(arguments);\n\n var subscription = $meteorSubscribe._subscribe(this, deferred, args);\n\n this.$on('$destroy', function() {\n subscription.stop();\n });\n\n return deferred.promise;\n };\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-subscribe.js\n **/","/*global\n angular, _, Tracker, check, Match, Mongo\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorCollection = angular.module('angular-meteor.collection',\n ['angular-meteor.stopper', 'angular-meteor.subscribe', 'angular-meteor.utils', 'diffArray', 'angular-meteor.settings']);\n\n// The reason angular meteor collection is a factory function and not something\n// that inherit from array comes from here:\n// http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/\n// We went with the direct extensions approach.\nangularMeteorCollection.factory('AngularMeteorCollection', [\n '$q', '$meteorSubscribe', '$meteorUtils', '$rootScope', '$timeout', 'diffArray', '$angularMeteorSettings',\n function($q, $meteorSubscribe, $meteorUtils, $rootScope, $timeout, diffArray, $angularMeteorSettings) {\n\n function AngularMeteorCollection(curDefFunc, collection, diffArrayFunc, autoClientSave) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteorCollection] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorCollection. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var data = [];\n // Server backup data to evaluate what changes come from client\n // after each server update.\n data._serverBackup = [];\n // Array differ function.\n data._diffArrayFunc = diffArrayFunc;\n // Handler of the cursor observer.\n data._hObserve = null;\n // On new cursor autorun handler\n // (autorun for reactive variables).\n data._hNewCurAutorun = null;\n // On new data autorun handler\n // (autorun for cursor.fetch).\n data._hDataAutorun = null;\n\n if (angular.isDefined(collection)) {\n data.$$collection = collection;\n } else {\n var cursor = curDefFunc();\n data.$$collection = $meteorUtils.getCollectionByName(cursor.collection.name);\n }\n\n _.extend(data, AngularMeteorCollection);\n data._startCurAutorun(curDefFunc, autoClientSave);\n\n return data;\n }\n\n AngularMeteorCollection._startCurAutorun = function(curDefFunc, autoClientSave) {\n var self = this;\n\n self._hNewCurAutorun = Tracker.autorun(function() {\n // When the reactive func gets recomputated we need to stop any previous\n // observeChanges.\n Tracker.onInvalidate(function() {\n self._stopCursor();\n });\n\n if (autoClientSave) self._setAutoClientSave();\n self._updateCursor(curDefFunc(), autoClientSave);\n });\n };\n\n AngularMeteorCollection.subscribe = function() {\n $meteorSubscribe.subscribe.apply(this, arguments);\n return this;\n };\n\n AngularMeteorCollection.save = function(docs, useUnsetModifier) {\n // save whole collection\n if (!docs) docs = this;\n // save single doc\n docs = [].concat(docs);\n\n var promises = docs.map(function(doc) {\n return this._upsertDoc(doc, useUnsetModifier);\n }, this);\n\n return $meteorUtils.promiseAll(promises);\n };\n\n AngularMeteorCollection._upsertDoc = function(doc, useUnsetModifier) {\n var deferred = $q.defer();\n var collection = this.$$collection;\n var createFulfill = _.partial($meteorUtils.fulfill, deferred, null);\n\n // delete $$hashkey\n doc = $meteorUtils.stripDollarPrefixedKeys(doc);\n var docId = doc._id;\n var isExist = collection.findOne(docId);\n\n // update\n if (isExist) {\n // Deletes _id property (from the copy) so that\n // it can be $set using update.\n delete doc._id;\n var modifier = useUnsetModifier ? {$unset: doc} : {$set: doc};\n // NOTE: do not use #upsert() method, since it does not exist in some collections\n collection.update(docId, modifier, createFulfill(function() {\n return {_id: docId, action: 'updated'};\n }));\n }\n // insert\n else {\n collection.insert(doc, createFulfill(function(id) {\n return {_id: id, action: 'inserted'};\n }));\n }\n\n return deferred.promise;\n };\n\n // performs $pull operations parallely.\n // used for handling splice operations returned from getUpdates() to prevent conflicts.\n // see issue: https://github.com/Urigo/angular-meteor/issues/793\n AngularMeteorCollection._updateDiff = function(selector, update, callback) {\n callback = callback || angular.noop;\n var setters = _.omit(update, '$pull');\n var updates = [setters];\n\n _.each(update.$pull, function(pull, prop) {\n var puller = {};\n puller[prop] = pull;\n updates.push({ $pull: puller });\n });\n\n this._updateParallel(selector, updates, callback);\n };\n\n // performs each update operation parallely\n AngularMeteorCollection._updateParallel = function(selector, updates, callback) {\n var self = this;\n var done = _.after(updates.length, callback);\n\n var next = function(err, affectedDocsNum) {\n if (err) return callback(err);\n done(null, affectedDocsNum);\n };\n\n _.each(updates, function(update) {\n self.$$collection.update(selector, update, next);\n });\n };\n\n AngularMeteorCollection.remove = function(keyOrDocs) {\n var keys;\n\n // remove whole collection\n if (!keyOrDocs) {\n keys = _.pluck(this, '_id');\n }\n // remove docs\n else {\n keyOrDocs = [].concat(keyOrDocs);\n\n keys = _.map(keyOrDocs, function(keyOrDoc) {\n return keyOrDoc._id || keyOrDoc;\n });\n }\n\n // Checks if all keys are correct.\n check(keys, [Match.OneOf(String, Mongo.ObjectID)]);\n\n var promises = keys.map(function(key) {\n return this._removeDoc(key);\n }, this);\n\n return $meteorUtils.promiseAll(promises);\n };\n\n AngularMeteorCollection._removeDoc = function(id) {\n var deferred = $q.defer();\n var collection = this.$$collection;\n var fulfill = $meteorUtils.fulfill(deferred, null, { _id: id, action: 'removed' });\n collection.remove(id, fulfill);\n return deferred.promise;\n };\n\n AngularMeteorCollection._updateCursor = function(cursor, autoClientSave) {\n var self = this;\n // XXX - consider adding an option for a non-orderd result for faster performance\n if (self._hObserve) self._stopObserving();\n\n\n self._hObserve = cursor.observe({\n addedAt: function(doc, atIndex) {\n self.splice(atIndex, 0, doc);\n self._serverBackup.splice(atIndex, 0, doc);\n self._setServerUpdateMode();\n },\n\n changedAt: function(doc, oldDoc, atIndex) {\n diffArray.deepCopyChanges(self[atIndex], doc);\n diffArray.deepCopyRemovals(self[atIndex], doc);\n self._serverBackup[atIndex] = self[atIndex];\n self._setServerUpdateMode();\n },\n\n movedTo: function(doc, fromIndex, toIndex) {\n self.splice(fromIndex, 1);\n self.splice(toIndex, 0, doc);\n self._serverBackup.splice(fromIndex, 1);\n self._serverBackup.splice(toIndex, 0, doc);\n self._setServerUpdateMode();\n },\n\n removedAt: function(oldDoc) {\n var removedIndex = $meteorUtils.findIndexById(self, oldDoc);\n\n if (removedIndex != -1) {\n self.splice(removedIndex, 1);\n self._serverBackup.splice(removedIndex, 1);\n self._setServerUpdateMode();\n } else {\n // If it's been removed on client then it's already not in collection\n // itself but still is in the _serverBackup.\n removedIndex = $meteorUtils.findIndexById(self._serverBackup, oldDoc);\n\n if (removedIndex != -1) {\n self._serverBackup.splice(removedIndex, 1);\n }\n }\n }\n });\n\n self._hDataAutorun = Tracker.autorun(function() {\n cursor.fetch();\n if (self._serverMode) self._unsetServerUpdateMode(autoClientSave);\n });\n };\n\n AngularMeteorCollection._stopObserving = function() {\n this._hObserve.stop();\n this._hDataAutorun.stop();\n delete this._serverMode;\n delete this._hUnsetTimeout;\n };\n\n AngularMeteorCollection._setServerUpdateMode = function(name) {\n this._serverMode = true;\n // To simplify server update logic, we don't follow\n // updates from the client at the same time.\n this._unsetAutoClientSave();\n };\n\n // Here we use $timeout to combine multiple updates that go\n // each one after another.\n AngularMeteorCollection._unsetServerUpdateMode = function(autoClientSave) {\n var self = this;\n\n if (self._hUnsetTimeout) {\n $timeout.cancel(self._hUnsetTimeout);\n self._hUnsetTimeout = null;\n }\n\n self._hUnsetTimeout = $timeout(function() {\n self._serverMode = false;\n // Finds updates that was potentially done from the client side\n // and saves them.\n var changes = diffArray.getChanges(self, self._serverBackup, self._diffArrayFunc);\n self._saveChanges(changes);\n // After, continues following client updates.\n if (autoClientSave) self._setAutoClientSave();\n }, 0);\n };\n\n AngularMeteorCollection.stop = function() {\n this._stopCursor();\n this._hNewCurAutorun.stop();\n };\n\n AngularMeteorCollection._stopCursor = function() {\n this._unsetAutoClientSave();\n\n if (this._hObserve) {\n this._hObserve.stop();\n this._hDataAutorun.stop();\n }\n\n this.splice(0);\n this._serverBackup.splice(0);\n };\n\n AngularMeteorCollection._unsetAutoClientSave = function(name) {\n if (this._hRegAutoBind) {\n this._hRegAutoBind();\n this._hRegAutoBind = null;\n }\n };\n\n AngularMeteorCollection._setAutoClientSave = function() {\n var self = this;\n\n // Always unsets auto save to keep only one $watch handler.\n self._unsetAutoClientSave();\n\n self._hRegAutoBind = $rootScope.$watch(function() {\n return self;\n }, function(nItems, oItems) {\n if (nItems === oItems) return;\n\n var changes = diffArray.getChanges(self, oItems, self._diffArrayFunc);\n self._unsetAutoClientSave();\n self._saveChanges(changes);\n self._setAutoClientSave();\n }, true);\n };\n\n AngularMeteorCollection._saveChanges = function(changes) {\n var self = this;\n\n // Saves added documents\n // Using reversed iteration to prevent indexes from changing during splice\n var addedDocs = changes.added.reverse().map(function(descriptor) {\n self.splice(descriptor.index, 1);\n return descriptor.item;\n });\n\n if (addedDocs.length) self.save(addedDocs);\n\n // Removes deleted documents\n var removedDocs = changes.removed.map(function(descriptor) {\n return descriptor.item;\n });\n\n if (removedDocs.length) self.remove(removedDocs);\n\n // Updates changed documents\n changes.changed.forEach(function(descriptor) {\n self._updateDiff(descriptor.selector, descriptor.modifier);\n });\n };\n\n return AngularMeteorCollection;\n}]);\n\nangularMeteorCollection.factory('$meteorCollectionFS', [\n '$meteorCollection', 'diffArray', '$angularMeteorSettings',\n function($meteorCollection, diffArray, $angularMeteorSettings) {\n function $meteorCollectionFS(reactiveFunc, autoClientSave, collection) {\n\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteorCollectionFS] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/files. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n return new $meteorCollection(reactiveFunc, autoClientSave, collection, diffArray.shallow);\n }\n\n return $meteorCollectionFS;\n}]);\n\nangularMeteorCollection.factory('$meteorCollection', [\n 'AngularMeteorCollection', '$rootScope', 'diffArray',\n function(AngularMeteorCollection, $rootScope, diffArray) {\n function $meteorCollection(reactiveFunc, autoClientSave, collection, diffFn) {\n // Validate parameters\n if (!reactiveFunc) {\n throw new TypeError('The first argument of $meteorCollection is undefined.');\n }\n\n if (!(angular.isFunction(reactiveFunc) || angular.isFunction(reactiveFunc.find))) {\n throw new TypeError(\n 'The first argument of $meteorCollection must be a function or ' +\n 'a have a find function property.');\n }\n\n if (!angular.isFunction(reactiveFunc)) {\n collection = angular.isDefined(collection) ? collection : reactiveFunc;\n reactiveFunc = _.bind(reactiveFunc.find, reactiveFunc);\n }\n\n // By default auto save - true.\n autoClientSave = angular.isDefined(autoClientSave) ? autoClientSave : true;\n diffFn = diffFn || diffArray;\n return new AngularMeteorCollection(reactiveFunc, collection, diffFn, autoClientSave);\n }\n\n return $meteorCollection;\n}]);\n\nangularMeteorCollection.run([\n '$rootScope', '$meteorCollection', '$meteorCollectionFS', '$meteorStopper',\n function($rootScope, $meteorCollection, $meteorCollectionFS, $meteorStopper) {\n var scopeProto = Object.getPrototypeOf($rootScope);\n scopeProto.$meteorCollection = $meteorStopper($meteorCollection);\n scopeProto.$meteorCollectionFS = $meteorStopper($meteorCollectionFS);\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-collection.js\n **/","/*global\n angular, _, Mongo\n*/\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorObject = angular.module('angular-meteor.object',\n ['angular-meteor.utils', 'angular-meteor.subscribe', 'angular-meteor.collection', 'getUpdates', 'diffArray', 'angular-meteor.settings']);\n\nangularMeteorObject.factory('AngularMeteorObject', [\n '$q', '$meteorSubscribe', '$meteorUtils', 'diffArray', 'getUpdates', 'AngularMeteorCollection', '$angularMeteorSettings',\n function($q, $meteorSubscribe, $meteorUtils, diffArray, getUpdates, AngularMeteorCollection, $angularMeteorSettings) {\n\n // A list of internals properties to not watch for, nor pass to the Document on update and etc.\n AngularMeteorObject.$$internalProps = [\n '$$collection', '$$options', '$$id', '$$hashkey', '$$internalProps', '$$scope',\n 'bind', 'save', 'reset', 'subscribe', 'stop', 'autorunComputation', 'unregisterAutoBind', 'unregisterAutoDestroy', 'getRawObject',\n '_auto', '_setAutos', '_eventEmitter', '_serverBackup', '_updateDiff', '_updateParallel', '_getId'\n ];\n\n function AngularMeteorObject (collection, selector, options){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteorObject] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/meteorObject. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n // Make data not be an object so we can extend it to preserve\n // Collection Helpers and the like\n var helpers = collection._helpers;\n var data = _.isFunction(helpers) ? Object.create(helpers.prototype) : {};\n var doc = collection.findOne(selector, options);\n var collectionExtension = _.pick(AngularMeteorCollection, '_updateParallel');\n _.extend(data, doc);\n _.extend(data, AngularMeteorObject);\n _.extend(data, collectionExtension);\n\n // Omit options that may spoil document finding\n data.$$options = _.omit(options, 'skip', 'limit');\n data.$$collection = collection;\n data.$$id = data._getId(selector);\n data._serverBackup = doc || {};\n\n return data;\n }\n\n AngularMeteorObject.getRawObject = function () {\n return angular.copy(_.omit(this, this.$$internalProps));\n };\n\n AngularMeteorObject.subscribe = function () {\n $meteorSubscribe.subscribe.apply(this, arguments);\n return this;\n };\n\n AngularMeteorObject.save = function(custom) {\n var deferred = $q.defer();\n var collection = this.$$collection;\n var createFulfill = _.partial($meteorUtils.fulfill, deferred, null);\n var oldDoc = collection.findOne(this.$$id);\n var mods;\n\n // update\n if (oldDoc) {\n if (custom)\n mods = { $set: custom };\n else {\n mods = getUpdates(oldDoc, this.getRawObject());\n // If there are no updates, there is nothing to do here, returning\n if (_.isEmpty(mods)) {\n return $q.when({ action: 'updated' });\n }\n }\n\n // NOTE: do not use #upsert() method, since it does not exist in some collections\n this._updateDiff(mods, createFulfill({ action: 'updated' }));\n }\n // insert\n else {\n if (custom)\n mods = _.clone(custom);\n else\n mods = this.getRawObject();\n\n mods._id = mods._id || this.$$id;\n collection.insert(mods, createFulfill({ action: 'inserted' }));\n }\n\n return deferred.promise;\n };\n\n AngularMeteorObject._updateDiff = function(update, callback) {\n var selector = this.$$id;\n AngularMeteorCollection._updateDiff.call(this, selector, update, callback);\n };\n\n AngularMeteorObject.reset = function(keepClientProps) {\n var self = this;\n var options = this.$$options;\n var id = this.$$id;\n var doc = this.$$collection.findOne(id, options);\n\n if (doc) {\n // extend SubObject\n var docKeys = _.keys(doc);\n var docExtension = _.pick(doc, docKeys);\n var clientProps;\n\n _.extend(self, docExtension);\n _.extend(self._serverBackup, docExtension);\n\n if (keepClientProps) {\n clientProps = _.intersection(_.keys(self), _.keys(self._serverBackup));\n } else {\n clientProps = _.keys(self);\n }\n\n var serverProps = _.keys(doc);\n var removedKeys = _.difference(clientProps, serverProps, self.$$internalProps);\n\n removedKeys.forEach(function (prop) {\n delete self[prop];\n delete self._serverBackup[prop];\n });\n }\n\n else {\n _.keys(this.getRawObject()).forEach(function(prop) {\n delete self[prop];\n });\n\n self._serverBackup = {};\n }\n };\n\n AngularMeteorObject.stop = function () {\n if (this.unregisterAutoDestroy)\n this.unregisterAutoDestroy();\n\n if (this.unregisterAutoBind)\n this.unregisterAutoBind();\n\n if (this.autorunComputation && this.autorunComputation.stop)\n this.autorunComputation.stop();\n };\n\n AngularMeteorObject._getId = function(selector) {\n var options = _.extend({}, this.$$options, {\n fields: { _id: 1 },\n reactive: false,\n transform: null\n });\n\n var doc = this.$$collection.findOne(selector, options);\n\n if (doc) return doc._id;\n if (selector instanceof Mongo.ObjectID) return selector;\n if (_.isString(selector)) return selector;\n return new Mongo.ObjectID();\n };\n\n return AngularMeteorObject;\n}]);\n\n\nangularMeteorObject.factory('$meteorObject', [\n '$rootScope', '$meteorUtils', 'getUpdates', 'AngularMeteorObject',\n function($rootScope, $meteorUtils, getUpdates, AngularMeteorObject) {\n function $meteorObject(collection, id, auto, options) {\n // Validate parameters\n if (!collection) {\n throw new TypeError(\"The first argument of $meteorObject is undefined.\");\n }\n\n if (!angular.isFunction(collection.findOne)) {\n throw new TypeError(\"The first argument of $meteorObject must be a function or a have a findOne function property.\");\n }\n\n var data = new AngularMeteorObject(collection, id, options);\n // Making auto default true - http://stackoverflow.com/a/15464208/1426570\n data._auto = auto !== false;\n _.extend(data, $meteorObject);\n data._setAutos();\n return data;\n }\n\n $meteorObject._setAutos = function() {\n var self = this;\n\n this.autorunComputation = $meteorUtils.autorun($rootScope, function() {\n self.reset(true);\n });\n\n // Deep watches the model and performs autobind\n this.unregisterAutoBind = this._auto && $rootScope.$watch(function(){\n return self.getRawObject();\n }, function (item, oldItem) {\n if (item !== oldItem) self.save();\n }, true);\n\n this.unregisterAutoDestroy = $rootScope.$on('$destroy', function() {\n if (self && self.stop) self.pop();\n });\n };\n\n return $meteorObject;\n}]);\n\nangularMeteorObject.run([\n '$rootScope', '$meteorObject', '$meteorStopper',\n function ($rootScope, $meteorObject, $meteorStopper) {\n var scopeProto = Object.getPrototypeOf($rootScope);\n scopeProto.$meteorObject = $meteorStopper($meteorObject);\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-object.js\n **/","/*global\n angular, _, Package, Meteor\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorUser = angular.module('angular-meteor.user', [\n 'angular-meteor.utils',\n 'angular-meteor.core',\n 'angular-meteor.settings'\n]);\n\n// requires package 'accounts-password'\nangularMeteorUser.service('$meteorUser', [\n '$rootScope', '$meteorUtils', '$q', '$angularMeteorSettings',\n function($rootScope, $meteorUtils, $q, $angularMeteorSettings){\n\n var pack = Package['accounts-base'];\n if (!pack) return;\n\n var self = this;\n var Accounts = pack.Accounts;\n\n this.waitForUser = function(){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.waitForUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var deferred = $q.defer();\n\n $meteorUtils.autorun($rootScope, function(){\n if ( !Meteor.loggingIn() )\n deferred.resolve( Meteor.user() );\n }, true);\n\n return deferred.promise;\n };\n\n this.requireUser = function(){\n if (!$angularMeteorSettings.suppressWarnings) {\n console.warn('[angular-meteor.requireUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n }\n\n var deferred = $q.defer();\n\n $meteorUtils.autorun($rootScope, function(){\n if ( !Meteor.loggingIn() ) {\n if ( Meteor.user() === null)\n deferred.reject(\"AUTH_REQUIRED\");\n else\n deferred.resolve( Meteor.user() );\n }\n }, true);\n\n return deferred.promise;\n };\n\n this.requireValidUser = function(validatorFn) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.requireValidUser] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://info.meteor.com/blog/angular-meteor-1.3. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n return self.requireUser(true).then(function(user){\n var valid = validatorFn( user );\n\n if ( valid === true )\n return user;\n else if ( typeof valid === \"string\" )\n return $q.reject( valid );\n else\n return $q.reject( \"FORBIDDEN\" );\n\t });\n\t };\n\n this.loginWithPassword = $meteorUtils.promissor(Meteor, 'loginWithPassword');\n this.createUser = $meteorUtils.promissor(Accounts, 'createUser');\n this.changePassword = $meteorUtils.promissor(Accounts, 'changePassword');\n this.forgotPassword = $meteorUtils.promissor(Accounts, 'forgotPassword');\n this.resetPassword = $meteorUtils.promissor(Accounts, 'resetPassword');\n this.verifyEmail = $meteorUtils.promissor(Accounts, 'verifyEmail');\n this.logout = $meteorUtils.promissor(Meteor, 'logout');\n this.logoutOtherClients = $meteorUtils.promissor(Meteor, 'logoutOtherClients');\n this.loginWithFacebook = $meteorUtils.promissor(Meteor, 'loginWithFacebook');\n this.loginWithTwitter = $meteorUtils.promissor(Meteor, 'loginWithTwitter');\n this.loginWithGoogle = $meteorUtils.promissor(Meteor, 'loginWithGoogle');\n this.loginWithGithub = $meteorUtils.promissor(Meteor, 'loginWithGithub');\n this.loginWithMeteorDeveloperAccount = $meteorUtils.promissor(Meteor, 'loginWithMeteorDeveloperAccount');\n this.loginWithMeetup = $meteorUtils.promissor(Meteor, 'loginWithMeetup');\n this.loginWithWeibo = $meteorUtils.promissor(Meteor, 'loginWithWeibo');\n }\n]);\n\nangularMeteorUser.run([\n '$rootScope', '$angularMeteorSettings', '$$Core',\n function($rootScope, $angularMeteorSettings, $$Core){\n\n let ScopeProto = Object.getPrototypeOf($rootScope);\n _.extend(ScopeProto, $$Core);\n\n $rootScope.autorun(function(){\n if (!Meteor.user) return;\n $rootScope.currentUser = Meteor.user();\n $rootScope.loggingIn = Meteor.loggingIn();\n });\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-user.js\n **/","/*global\n angular, _, Meteor\n */\n\nimport _ from '../lib/underscore';\n\n'use strict';\n\nvar angularMeteorMethods = angular.module('angular-meteor.methods', ['angular-meteor.utils', 'angular-meteor.settings']);\n\nangularMeteorMethods.service('$meteorMethods', [\n '$q', '$meteorUtils', '$angularMeteorSettings',\n function($q, $meteorUtils, $angularMeteorSettings) {\n this.call = function(){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.$meteor.call] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/methods. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var deferred = $q.defer();\n var fulfill = $meteorUtils.fulfill(deferred);\n var args = _.toArray(arguments).concat(fulfill);\n Meteor.call.apply(this, args);\n return deferred.promise;\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-methods.js\n **/","/*global\n angular, Session\n */\n\n'use strict';\nvar angularMeteorSession = angular.module('angular-meteor.session', ['angular-meteor.utils', 'angular-meteor.settings']);\n\nangularMeteorSession.factory('$meteorSession', ['$meteorUtils', '$parse', '$angularMeteorSettings',\n function ($meteorUtils, $parse, $angularMeteorSettings) {\n return function (session) {\n\n return {\n\n bind: function(scope, model) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.session.bind] Please note that this method is deprecated since 1.3.0 and will be removed in 1.4.0! http://www.angular-meteor.com/api/1.3.0/session. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n var getter = $parse(model);\n var setter = getter.assign;\n $meteorUtils.autorun(scope, function() {\n setter(scope, Session.get(session));\n });\n\n scope.$watch(model, function(newItem, oldItem) {\n Session.set(session, getter(scope));\n }, true);\n\n }\n };\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-session.js\n **/","/*global\n angular, Package\n */\n\n'use strict';\n\nvar angularMeteorCamera = angular.module('angular-meteor.camera', ['angular-meteor.utils', 'angular-meteor.settings']);\n\n// requires package 'mdg:camera'\nangularMeteorCamera.service('$meteorCamera', [\n '$q', '$meteorUtils', '$angularMeteorSettings',\n function ($q, $meteorUtils, $angularMeteorSettings) {\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n var pack = Package['mdg:camera'];\n if (!pack) return;\n\n var MeteorCamera = pack.MeteorCamera;\n\n this.getPicture = function(options){\n if (!$angularMeteorSettings.suppressWarnings)\n console.warn('[angular-meteor.camera] Please note that this module has moved to a separate package and is deprecated since 1.3.0 and will be removed in 1.4.0! For more info: http://www.angular-meteor.com/api/1.3.0/camera. You can disable this warning by following this guide http://www.angular-meteor.com/api/1.3.6/settings');\n\n options = options || {};\n var deferred = $q.defer();\n MeteorCamera.getPicture(options, $meteorUtils.fulfill(deferred));\n return deferred.promise;\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-camera.js\n **/","/*global\n angular\n */\n\n'use strict';\n\nvar angularMeteorStopper = angular.module('angular-meteor.stopper',\n ['angular-meteor.subscribe']);\n\nangularMeteorStopper.factory('$meteorStopper', ['$q', '$meteorSubscribe',\n function($q, $meteorSubscribe) {\n function $meteorStopper($meteorEntity) {\n return function() {\n var args = Array.prototype.slice.call(arguments);\n var meteorEntity = $meteorEntity.apply(this, args);\n\n angular.extend(meteorEntity, $meteorStopper);\n meteorEntity.$$scope = this;\n\n this.$on('$destroy', function () {\n meteorEntity.stop();\n if (meteorEntity.subscription) meteorEntity.subscription.stop();\n });\n\n return meteorEntity;\n };\n }\n\n $meteorStopper.subscribe = function() {\n var args = Array.prototype.slice.call(arguments);\n this.subscription = $meteorSubscribe._subscribe(this.$$scope, $q.defer(), args);\n return this;\n };\n\n return $meteorStopper;\n}]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/angular-meteor-stopper.js\n **/","import _ from '../lib/underscore';\n\nexport const name = 'angular-meteor.utilities';\nexport const utils = '$$utils';\n\nangular.module(name, [])\n\n/*\n A utility service which is provided with general utility functions\n */\n.service(utils, [\n '$rootScope',\n\n function($rootScope) {\n const self = this;\n\n // Checks if an object is a cursor\n this.isCursor = (obj) => {\n return obj instanceof Meteor.Collection.Cursor;\n };\n\n // Cheecks if an object is a scope\n this.isScope = (obj) => {\n return obj instanceof $rootScope.constructor;\n };\n\n // Checks if an object is a view model\n this.isViewModel = (obj) => {\n return _.isObject(obj) && obj.$$dependencies;\n };\n\n // Checks if two objects are siblings\n this.areSiblings = (obj1, obj2) => {\n return _.isObject(obj1) && _.isObject(obj2) &&\n Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2);\n };\n\n // Binds function into a scpecified context. If an object is provided, will bind every\n // value in the object which is a function. If a tap function is provided, it will be\n // called right after the function has been invoked.\n this.bind = (fn, context, tap) => {\n tap = _.isFunction(tap) ? tap : angular.noop;\n if (_.isFunction(fn)) return bindFn(fn, context, tap);\n if (_.isObject(fn)) return bindObj(fn, context, tap);\n return fn;\n };\n\n function bindFn(fn, context, tap) {\n return (...args) => {\n const result = fn.apply(context, args);\n tap.call(context, {\n result,\n args\n });\n return result;\n };\n }\n\n function bindObj(obj, context, tap) {\n return _.keys(obj).reduce((bound, k) => {\n bound[k] = self.bind(obj[k], context, tap);\n return bound;\n }, {});\n }\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/utils.js\n **/","import _ from '../lib/underscore';\n\nexport const name = 'angular-meteor.mixer';\nexport const Mixer = '$Mixer';\n\nangular.module(name, [])\n\n/*\n A service which lets us apply mixins into Scope.prototype.\n The flow is simple. Once we define a mixin, it will be stored in the `$Mixer`,\n and any time a `ChildScope` prototype is created\n it will be extended by the `$Mixer`.\n This concept is good because it keeps our code\n clean and simple, and easy to extend.\n So any time we would like to define a new behaviour to our scope,\n we will just use the `$Mixer` service.\n */\n.service(Mixer, function() {\n // Used to store method's caller\n let caller;\n\n this._mixins = [];\n // Apply mixins automatically on specified contexts\n this._autoExtend = [];\n this._autoConstruct = [];\n\n // Adds a new mixin\n this.mixin = (mixin) => {\n if (!_.isObject(mixin)) {\n throw Error('argument 1 must be an object');\n }\n\n this._mixins = _.union(this._mixins, [mixin]);\n // Apply mixins to stored contexts\n this._autoExtend.forEach(context => this._extend(context));\n this._autoConstruct.forEach(context => this._construct(context));\n return this;\n };\n\n // Removes a mixin. Useful mainly for test purposes\n this._mixout = (mixin) => {\n this._mixins = _.without(this._mixins, mixin);\n return this;\n };\n\n // Invoke function mixins with the provided context and arguments\n this._construct = (context, ...args) => {\n this._mixins.filter(_.isFunction).forEach((mixin) => {\n mixin.call(context, ...args);\n });\n\n return context;\n };\n\n // Extend prototype with the defined mixins\n this._extend = (obj, options) => {\n const { pattern, context } = _.defaults({}, options, {\n pattern: /.*/, // The patterns of the keys which will be filtered\n });\n\n const mixins = this._mixins.map((mixin) => {\n // Filtering the keys by the specified pattern\n const keys = _.keys(mixin)\n .filter(k => k.match(pattern))\n .filter(k => _.isFunction(mixin[k]));\n\n return keys.reduce((boundMixin, methodName) => {\n const methodHandler = mixin[methodName];\n\n // Note that this is not an arrow function so we can conserve the conetxt\n boundMixin[methodName] = function(...args) {\n // Storing original caller so we will know who actually called the\n // method event though it is bound to another context\n const methodContext = context || this;\n const recentCaller = caller;\n caller = this;\n\n try {\n return methodHandler.apply(methodContext, args);\n }\n finally {\n // No matter what happens, restore variable to the previous one\n caller = recentCaller;\n }\n };\n\n return boundMixin;\n }, {});\n });\n\n return _.extend(obj, ...mixins);\n };\n\n // Caller property can not be set\n Object.defineProperty(this, 'caller', {\n configurable: true,\n enumerable: true,\n\n get: () => {\n return caller;\n }\n });\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/mixer.js\n **/","import { name as mixerName, Mixer } from './mixer';\n\nexport const name = 'angular-meteor.scope';\n\nangular.module(name, [\n mixerName\n])\n\n.run([\n '$rootScope',\n Mixer,\n function($rootScope, $Mixer) {\n const Scope = $rootScope.constructor;\n const $new = $rootScope.$new;\n\n // Apply extensions whether a mixin in defined.\n // Note that this way mixins which are initialized later\n // can be applied on rootScope.\n $Mixer._autoExtend.push(Scope.prototype);\n $Mixer._autoConstruct.push($rootScope);\n\n Scope.prototype.$new = function() {\n const scope = $new.apply(this, arguments);\n // Apply constructors to newly created scopes\n return $Mixer._construct(scope);\n };\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/scope.js\n **/","import _ from '../lib/underscore';\nimport { name as utilsName, utils } from './utils';\nimport { name as mixerName, Mixer } from './mixer';\n\nexport const name = 'angular-meteor.core';\nexport const Core = '$$Core';\n\nangular.module(name, [\n utilsName,\n mixerName\n])\n\n\n/*\n A mixin which provides us with core Meteor functions.\n */\n.factory(Core, [\n '$q',\n utils,\n Mixer,\n\n function($q, $$utils, $Mixer) {\n function $$Core() {}\n\n // Calls Meteor.autorun() which will be digested after each run and automatically destroyed\n $$Core.autorun = function(fn, options = {}) {\n fn = this.$bindToContext($Mixer.caller, fn);\n\n if (!_.isFunction(fn)) {\n throw Error('argument 1 must be a function');\n }\n if (!_.isObject(options)) {\n throw Error('argument 2 must be an object');\n }\n\n const computation = Tracker.autorun(fn, options);\n // Reset to a function that will also stop the listener we just added\n computation.stop = this.$$autoStop(computation);\n return computation;\n };\n\n // Calls Meteor.subscribe() which will be digested after each invokation\n // and automatically destroyed\n $$Core.subscribe = function(subName, fn, cb) {\n fn = this.$bindToContext($Mixer.caller, fn || angular.noop);\n cb = cb ? this.$bindToContext($Mixer.caller, cb) : angular.noop;\n\n if (!_.isString(subName)) {\n throw Error('argument 1 must be a string');\n }\n if (!_.isFunction(fn)) {\n throw Error('argument 2 must be a function');\n }\n if (!_.isFunction(cb) && !_.isObject(cb)) {\n throw Error('argument 3 must be a function or an object');\n }\n\n const result = {};\n\n const computation = this.autorun(() => {\n let args = fn();\n if (angular.isUndefined(args)) args = [];\n\n if (!_.isArray(args)) {\n throw Error(`reactive function's return value must be an array`);\n }\n\n const subscription = Meteor.subscribe(subName, ...args, cb);\n result.ready = subscription.ready.bind(subscription);\n result.subscriptionId = subscription.subscriptionId;\n });\n\n // Once the computation has been stopped,\n // any subscriptions made inside will be stopped as well\n result.stop = computation.stop.bind(computation);\n return result;\n };\n\n // Calls Meteor.call() wrapped by a digestion cycle\n $$Core.callMethod = function(...args) {\n let fn = args.pop();\n if (_.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n return Meteor.call(...args, fn);\n };\n\n // Calls Meteor.apply() wrapped by a digestion cycle\n $$Core.applyMethod = function(...args) {\n let fn = args.pop();\n if (_.isFunction(fn)) fn = this.$bindToContext($Mixer.caller, fn);\n return Meteor.apply(...args, fn);\n };\n\n // Stops a process once the scope has been destroyed\n $$Core.$$autoStop = function(stoppable) {\n let removeListener;\n const baseStop = stoppable.stop.bind(stoppable);\n\n // Once the process has been stopped the destroy event listener will be removed\n // to avoid memory leaks and unexpected behaviours\n const stop = (...args) => {\n removeListener();\n return baseStop(...args);\n };\n\n removeListener = this.$on('$destroy', stop);\n return stop;\n };\n\n // Digests scope only if there is no phase at the moment\n $$Core.$$throttledDigest = function() {\n const isDigestable = !this.$$destroyed &&\n !this.$$phase &&\n !this.$root.$$phase;\n\n if (isDigestable) this.$digest();\n };\n\n // Creates a promise only that the digestion cycle will be called at its fulfillment\n $$Core.$$defer = function() {\n const deferred = $q.defer();\n // Once promise has been fulfilled, digest\n deferred.promise = deferred.promise.finally(this.$$throttledDigest.bind(this));\n return deferred;\n };\n\n // Binds an object or a function to the provided context and digest it once it is invoked\n $$Core.$bindToContext = function(context, fn) {\n if (_.isFunction(context)) {\n fn = context;\n context = this;\n }\n\n return $$utils.bind(fn, context, this.$$throttledDigest.bind(this));\n };\n\n return $$Core;\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/core.js\n **/","import _ from '../lib/underscore';\nimport { name as utilsName, utils } from './utils';\nimport { name as mixerName, Mixer } from './mixer';\nimport { name as coreName } from './core';\n\nexport const name = 'angular-meteor.view-model';\nexport const ViewModel = '$$ViewModel';\nexport const reactive = '$reactive';\n\nangular.module(name, [\n utilsName,\n mixerName,\n coreName\n])\n\n/*\n A mixin which lets us bind a view model into a scope.\n Note that only a single view model can be bound,\n otherwise the scope might behave unexpectedly.\n Mainly used to define the controller as the view model,\n and very useful when wanting to use Angular's `controllerAs` syntax.\n */\n.factory(ViewModel, [\n utils,\n Mixer,\n\n function($$utils, $Mixer) {\n function $$ViewModel() {}\n\n // Gets an object, wraps it with scope functions and returns it\n $$ViewModel.viewModel = function(vm) {\n if (!_.isObject(vm)) {\n throw Error('argument 1 must be an object');\n }\n\n // Extend view model with mixin functions\n $Mixer._extend(vm, {\n pattern: /^(?!\\$\\$).*$/, // Omitting methods which start with a $$ notation\n context: this // Binding methods to scope\n });\n\n // Apply mixin constructors on scope with view model\n $Mixer._construct(this, vm);\n return vm;\n };\n\n return $$ViewModel;\n }\n])\n\n\n/*\n Illustrates the old API where a view model is created using $reactive service\n */\n.service(reactive, [\n utils,\n\n function($$utils) {\n class Reactive {\n constructor(vm) {\n if (!_.isObject(vm)) {\n throw Error('argument 1 must be an object');\n }\n\n _.defer(() => {\n if (!this._attached) {\n console.warn('view model was not attached to any scope');\n }\n });\n\n this._vm = vm;\n }\n\n attach(scope) {\n this._attached = true;\n\n if (!$$utils.isScope(scope)) {\n throw Error('argument 1 must be a scope');\n }\n\n const viewModel = scope.viewModel(this._vm);\n\n // Similar to the old/Meteor API\n viewModel.call = viewModel.callMethod;\n viewModel.apply = viewModel.applyMethod;\n\n return viewModel;\n }\n }\n\n return (vm) => new Reactive(vm);\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/view-model.js\n **/","import jsondiffpatch from 'jsondiffpatch';\nimport _ from '../lib/underscore';\nimport { name as utilsName, utils } from './utils';\nimport { name as mixerName, Mixer } from './mixer';\nimport { name as coreName } from './core';\nimport { name as viewModelName } from './view-model';\n\nexport const name = 'angular-meteor.reactive';\nexport const Reactive = '$$Reactive';\n\nangular.module(name, [\n utilsName,\n mixerName,\n coreName,\n viewModelName\n])\n\n\n/*\n A mixin which enhance our reactive abilities by providing methods\n that are capable of updating our scope reactively.\n */\n.factory(Reactive, [\n '$parse',\n utils,\n Mixer,\n\n function($parse, $$utils, $Mixer) {\n function $$Reactive(vm = this) {\n // Helps us track changes made in the view model\n vm.$$dependencies = {};\n }\n\n // Gets an object containing functions and define their results as reactive properties.\n // Once a return value has been changed the property will be reset.\n $$Reactive.helpers = function(vm, props) {\n if ($$utils.isViewModel(vm)) {\n if (!_.isObject(props)) {\n throw Error('argument 2 must be an object');\n }\n } else {\n props = vm;\n vm = $Mixer.caller;\n\n if (!_.isObject(props)) {\n throw Error('argument 1 must be an object');\n }\n }\n\n _.each(props, (v, k) => {\n if (!_.isFunction(v)) {\n throw Error(`helper '${k}' must be a function`);\n }\n });\n\n _.each(props, (v, k) => {\n if (!vm.$$dependencies[k]) {\n // Registers a new dependency to the specified helper\n vm.$$dependencies[k] = new Tracker.Dependency();\n }\n\n this.$$setFnHelper(vm, k, v);\n });\n };\n\n // Gets a model reactively\n $$Reactive.getReactively = function(vm, k, isDeep) {\n if ($$utils.isViewModel(vm)) {\n if (angular.isUndefined(isDeep)) isDeep = false;\n\n if (!_.isString(k)) {\n throw Error('argument 2 must be a string');\n }\n if (!_.isBoolean(isDeep)) {\n throw Error('argument 3 must be a boolean');\n }\n } else {\n isDeep = angular.isDefined(k) ? k : false;\n k = vm;\n vm = $Mixer.caller;\n\n if (!_.isString(k)) {\n throw Error('argument 1 must be a string');\n }\n if (!_.isBoolean(isDeep)) {\n throw Error('argument 2 must be a boolean');\n }\n }\n\n return this.$$reactivateEntity(vm, k, this.$watch, isDeep);\n };\n\n // Gets a collection reactively\n $$Reactive.getCollectionReactively = function(vm, k) {\n if ($$utils.isViewModel(vm)) {\n if (!_.isString(k)) {\n throw Error('argument 2 must be a string');\n }\n } else {\n k = vm;\n vm = $Mixer.caller;\n\n if (!_.isString(k)) {\n throw Error('argument 1 must be a string');\n }\n }\n\n return this.$$reactivateEntity(vm, k, this.$watchCollection);\n };\n\n // Gets an entity reactively, and once it has been changed the computation will be recomputed\n $$Reactive.$$reactivateEntity = function(vm, k, watcher, ...watcherArgs) {\n if (!vm.$$dependencies[k]) {\n vm.$$dependencies[k] = new Tracker.Dependency();\n this.$$watchEntity(vm, k, watcher, ...watcherArgs);\n }\n\n vm.$$dependencies[k].depend();\n return $parse(k)(vm);\n };\n\n // Watches for changes in the view model, and if so will notify a change\n $$Reactive.$$watchEntity = function(vm, k, watcher, ...watcherArgs) {\n // Gets a deep property from the caller\n const getVal = _.partial($parse(k), vm);\n const initialVal = getVal();\n\n // Watches for changes in the view model\n watcher.call(this, getVal, (val, oldVal) => {\n const hasChanged =\n val !== initialVal ||\n val !== oldVal;\n\n // Notify if a change has been detected\n if (hasChanged) this.$$changed(vm, k);\n }, ...watcherArgs);\n };\n\n // Invokes a function and sets the return value as a property\n $$Reactive.$$setFnHelper = function(vm, k, fn) {\n let activeObservation = null;\n let lastModel = null;\n let lastModelData = [];\n\n this.autorun((/* computation */) => {\n // Invokes the reactive functon\n const model = fn.apply(vm);\n\n // Ignore notifications made by the following handler\n Tracker.nonreactive(() => {\n // If a cursor, observe its changes and update acoordingly\n if ($$utils.isCursor(model)) {\n let modelData;\n\n if (angular.isUndefined(vm[k])) {\n this.$$setValHelper(vm, k, [], false);\n }\n\n if (activeObservation) {\n lastModelData = lastModel.fetch();\n activeObservation.stop();\n activeObservation = null;\n }\n\n const handle = this.$$handleCursor(vm, k, model);\n\n activeObservation = handle.observation;\n modelData = handle.data;\n\n if (lastModelData.length !== 0) {\n const diff = jsondiffpatch.diff(lastModelData, modelData);\n vm[k] = jsondiffpatch.patch(lastModelData, diff);\n } else {\n vm[k] = modelData;\n }\n\n lastModel = model;\n lastModelData = modelData;\n\n /* computation.onInvalidate(() => {\n activeObservation.stop();\n });*/\n } else {\n this.$$handleNonCursor(vm, k, model);\n }\n\n // Notify change and update the view model\n this.$$changed(vm, k);\n });\n });\n };\n\n // Sets a value helper as a setter and a getter which will notify computations once used\n $$Reactive.$$setValHelper = function(vm, k, v, watch = true) {\n // If set, reactives property\n if (watch) {\n const isDeep = _.isObject(v);\n this.getReactively(vm, k, isDeep);\n }\n\n Object.defineProperty(vm, k, {\n configurable: true,\n enumerable: true,\n\n get: () => {\n return v;\n },\n set: (newVal) => {\n v = newVal;\n this.$$changed(vm, k);\n }\n });\n };\n\n // Fetching a cursor and updates properties once the result set has been changed\n $$Reactive.$$handleCursor = function(vm, k, cursor) {\n const data = [];\n // Observe changes made in the result set\n const observation = cursor.observe({\n addedAt: (doc, atIndex) => {\n if (!observation) {\n data.push(doc);\n return;\n }\n vm[k].splice(atIndex, 0, doc);\n this.$$changed(vm, k);\n },\n changedAt: (doc, oldDoc, atIndex) => {\n const diff = jsondiffpatch.diff(vm[k][atIndex], doc);\n jsondiffpatch.patch(vm[k][atIndex], diff);\n this.$$changed(vm, k);\n },\n movedTo: (doc, fromIndex, toIndex) => {\n vm[k].splice(fromIndex, 1);\n vm[k].splice(toIndex, 0, doc);\n this.$$changed(vm, k);\n },\n removedAt: (oldDoc, atIndex) => {\n vm[k].splice(atIndex, 1);\n this.$$changed(vm, k);\n }\n });\n\n return {\n observation,\n data\n };\n };\n\n $$Reactive.$$handleNonCursor = function(vm, k, data) {\n let v = vm[k];\n\n if (angular.isDefined(v)) {\n delete vm[k];\n v = null;\n }\n\n if (angular.isUndefined(v)) {\n this.$$setValHelper(vm, k, data);\n }\n // Update property if the new value is from the same type\n else if ($$utils.areSiblings(v, data)) {\n const diff = jsondiffpatch.diff(v, data);\n jsondiffpatch.patch(v, diff);\n this.$$changed(vm, k);\n } else {\n vm[k] = data;\n }\n };\n\n // Notifies dependency in view model\n $$Reactive.$$depend = function(vm, k) {\n vm.$$dependencies[k].depend();\n };\n\n // Notifies change in view model\n $$Reactive.$$changed = function(vm, k) {\n this.$$throttledDigest();\n vm.$$dependencies[k].changed();\n };\n\n return $$Reactive;\n }\n]);\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/reactive.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"jsondiffpatch\"\n ** module id = 22\n ** module chunks = 0\n **/","export const name = 'angular-templates';\n\ntry {\n angular.module(name);\n} catch (e) {\n angular.module(name, []);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/modules/templates.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index e8537cca0..201c1d0df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-meteor", - "version": "1.3.9", + "version": "1.3.10", "main": "dist/angular-meteor.js", "description": "Combining the simplicity and power of AngularJS and Meteor", "keywords": [ diff --git a/packages/angular-meteor-data/.versions b/packages/angular-meteor-data/.versions index 5cc0b3ffe..68f68b5bc 100644 --- a/packages/angular-meteor-data/.versions +++ b/packages/angular-meteor-data/.versions @@ -1,50 +1,53 @@ -angular-meteor-data@1.3.9_2 +allow-deny@1.0.3 +angular-meteor-data@1.3.10 angular:angular@1.4.8 -babel-compiler@5.8.24_1 -babel-runtime@0.1.4 -base64@1.0.4 +babel-compiler@6.6.1 +babel-runtime@0.1.7 +base64@1.0.7 benjamine:jsondiffpatch@0.1.38_1 -binary-heap@1.0.4 -blaze@2.1.3 -blaze-tools@1.0.4 -boilerplate-generator@1.0.4 -callback-hook@1.0.4 -check@1.1.0 +binary-heap@1.0.7 +blaze@2.1.6 +blaze-tools@1.0.7 +boilerplate-generator@1.0.7 +callback-hook@1.0.7 +check@1.1.3 dburles:mongo-collection-instances@0.3.4 -ddp@1.2.2 -ddp-client@1.2.1 -ddp-common@1.2.2 -ddp-server@1.2.2 -deps@1.0.9 -diff-sequence@1.0.1 -ecmascript@0.1.6 -ecmascript-runtime@0.2.6 -ejson@1.0.7 -geojson-utils@1.0.4 -html-tools@1.0.5 -htmljs@1.0.5 -id-map@1.0.4 -jquery@1.11.4 +ddp@1.2.4 +ddp-client@1.2.4 +ddp-common@1.2.4 +ddp-server@1.2.5 +deps@1.0.11 +diff-sequence@1.0.4 +ecmascript@0.4.2 +ecmascript-runtime@0.2.9 +ejson@1.0.10 +geojson-utils@1.0.7 +html-tools@1.0.8 +htmljs@1.0.8 +id-map@1.0.6 +jquery@1.11.7 lai:collection-extensions@0.1.4 -logging@1.0.8 -meteor@1.1.10 -minimongo@1.0.10 -mongo@1.1.3 -mongo-id@1.0.1 -npm-mongo@1.4.39_1 -observe-sequence@1.0.7 -ordered-dict@1.0.4 -promise@0.5.1 -random@1.0.5 -reactive-dict@1.1.3 -reactive-var@1.0.6 -retry@1.0.4 -routepolicy@1.0.6 -session@1.1.1 -spacebars@1.0.7 -spacebars-compiler@1.0.7 -tracker@1.0.9 -ui@1.0.8 -underscore@1.0.4 -webapp@1.2.3 -webapp-hashing@1.0.5 +logging@1.0.11 +meteor@1.1.13 +minimongo@1.0.13 +modules@0.5.2 +modules-runtime@0.6.2 +mongo@1.1.6 +mongo-id@1.0.3 +npm-mongo@1.4.42 +observe-sequence@1.0.10 +ordered-dict@1.0.6 +promise@0.6.6 +random@1.0.8 +reactive-dict@1.1.6 +reactive-var@1.0.8 +retry@1.0.6 +routepolicy@1.0.9 +session@1.1.4 +spacebars@1.0.10 +spacebars-compiler@1.0.10 +tracker@1.0.12 +ui@1.0.10 +underscore@1.0.7 +webapp@1.2.7 +webapp-hashing@1.0.8 diff --git a/packages/angular-meteor-data/package.js b/packages/angular-meteor-data/package.js index 4de39afb6..876d6fd51 100644 --- a/packages/angular-meteor-data/package.js +++ b/packages/angular-meteor-data/package.js @@ -1,12 +1,12 @@ Package.describe({ name: 'angular-meteor-data', summary: 'Everything you need to use AngularJS in your Meteor app', - version: '1.3.9_2', + version: '1.3.10', git: 'https://github.com/Urigo/angular-meteor.git' }); Npm.depends({ - 'angular-meteor': '1.3.9' + 'angular-meteor': '1.3.10' }); Package.onUse(function (api) { diff --git a/packages/angular-with-blaze/.versions b/packages/angular-with-blaze/.versions index 0509efe74..2dfdac3e0 100644 --- a/packages/angular-with-blaze/.versions +++ b/packages/angular-with-blaze/.versions @@ -1,58 +1,61 @@ +allow-deny@1.0.3 angular-blaze-templates-compiler@0.0.1 -angular-meteor-data@1.3.9_2 -angular-with-blaze@1.3.9_2 +angular-meteor-data@1.3.10 +angular-with-blaze@1.3.10 angular:angular@1.4.8 -babel-compiler@5.8.24_1 -babel-runtime@0.1.4 -base64@1.0.4 +babel-compiler@6.6.1 +babel-runtime@0.1.7 +base64@1.0.7 benjamine:jsondiffpatch@0.1.38_1 -binary-heap@1.0.4 -blaze@2.1.3 -blaze-html-templates@1.0.1 -blaze-tools@1.0.4 -boilerplate-generator@1.0.4 -caching-compiler@1.0.0 -caching-html-compiler@1.0.2 -callback-hook@1.0.4 -check@1.1.0 +binary-heap@1.0.7 +blaze@2.1.6 +blaze-html-templates@1.0.3 +blaze-tools@1.0.7 +boilerplate-generator@1.0.7 +caching-compiler@1.0.3 +caching-html-compiler@1.0.5 +callback-hook@1.0.7 +check@1.1.3 dburles:mongo-collection-instances@0.3.4 -ddp@1.2.2 -ddp-client@1.2.1 -ddp-common@1.2.2 -ddp-server@1.2.2 -deps@1.0.9 -diff-sequence@1.0.1 -ecmascript@0.1.6 -ecmascript-runtime@0.2.6 -ejson@1.0.7 -geojson-utils@1.0.4 -html-tools@1.0.5 -htmljs@1.0.5 -id-map@1.0.4 -jquery@1.11.4 +ddp@1.2.4 +ddp-client@1.2.4 +ddp-common@1.2.4 +ddp-server@1.2.5 +deps@1.0.11 +diff-sequence@1.0.4 +ecmascript@0.4.2 +ecmascript-runtime@0.2.9 +ejson@1.0.10 +geojson-utils@1.0.7 +html-tools@1.0.8 +htmljs@1.0.8 +id-map@1.0.6 +jquery@1.11.7 lai:collection-extensions@0.1.4 -logging@1.0.8 -meteor@1.1.10 -minifiers@1.1.7 -minimongo@1.0.10 -mongo@1.1.3 -mongo-id@1.0.1 -npm-mongo@1.4.39_1 -observe-sequence@1.0.7 -ordered-dict@1.0.4 -promise@0.5.1 -random@1.0.5 -reactive-dict@1.1.3 -reactive-var@1.0.6 -retry@1.0.4 -routepolicy@1.0.6 -session@1.1.1 -spacebars@1.0.7 -spacebars-compiler@1.0.7 -templating@1.1.5 -templating-tools@1.0.0 -tracker@1.0.9 -ui@1.0.8 -underscore@1.0.4 -webapp@1.2.3 -webapp-hashing@1.0.5 +logging@1.0.11 +meteor@1.1.13 +minifier-js@1.1.10 +minimongo@1.0.13 +modules@0.5.2 +modules-runtime@0.6.2 +mongo@1.1.6 +mongo-id@1.0.3 +npm-mongo@1.4.42 +observe-sequence@1.0.10 +ordered-dict@1.0.6 +promise@0.6.6 +random@1.0.8 +reactive-dict@1.1.6 +reactive-var@1.0.8 +retry@1.0.6 +routepolicy@1.0.9 +session@1.1.4 +spacebars@1.0.10 +spacebars-compiler@1.0.10 +templating@1.1.8 +templating-tools@1.0.3 +tracker@1.0.12 +ui@1.0.10 +underscore@1.0.7 +webapp@1.2.7 +webapp-hashing@1.0.8 diff --git a/packages/angular-with-blaze/package.js b/packages/angular-with-blaze/package.js index 89446e0f8..1c407983e 100644 --- a/packages/angular-with-blaze/package.js +++ b/packages/angular-with-blaze/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "angular-with-blaze", summary: "Everything you need to use both AngularJS and Blaze templates in your Meteor app", - version: "1.3.9_2", + version: "1.3.10", git: "https://github.com/Urigo/angular-meteor.git", documentation: "../../README.md" }); @@ -12,7 +12,7 @@ Package.onUse(function (api) { api.imply([ 'blaze-html-templates', - 'angular-meteor-data@1.3.9_2', + 'angular-meteor-data@1.3.10', 'angular-blaze-templates-compiler@0.0.1' ]); }); diff --git a/packages/angular/.versions b/packages/angular/.versions index 998258203..c8648fbbc 100644 --- a/packages/angular/.versions +++ b/packages/angular/.versions @@ -1,57 +1,60 @@ -angular@1.3.9_2 -angular-meteor-data@1.3.9_2 +allow-deny@1.0.3 +angular@1.3.10 +angular-meteor-data@1.3.10 angular-templates@1.0.2 angular:angular@1.4.8 -babel-compiler@5.8.24_1 -babel-runtime@0.1.4 -base64@1.0.4 +babel-compiler@6.6.1 +babel-runtime@0.1.7 +base64@1.0.7 benjamine:jsondiffpatch@0.1.38_1 -binary-heap@1.0.4 -blaze@2.1.3 -blaze-tools@1.0.4 -boilerplate-generator@1.0.4 -caching-compiler@1.0.0 -caching-html-compiler@1.0.2 -callback-hook@1.0.4 -check@1.1.0 +binary-heap@1.0.7 +blaze@2.1.6 +blaze-tools@1.0.7 +boilerplate-generator@1.0.7 +caching-compiler@1.0.3 +caching-html-compiler@1.0.5 +callback-hook@1.0.7 +check@1.1.3 dburles:mongo-collection-instances@0.3.4 -ddp@1.2.2 -ddp-client@1.2.1 -ddp-common@1.2.2 -ddp-server@1.2.2 -deps@1.0.9 -diff-sequence@1.0.1 -ecmascript@0.1.6 -ecmascript-runtime@0.2.6 -ejson@1.0.7 -geojson-utils@1.0.4 -html-tools@1.0.5 -htmljs@1.0.5 -id-map@1.0.4 -jquery@1.11.4 +ddp@1.2.4 +ddp-client@1.2.4 +ddp-common@1.2.4 +ddp-server@1.2.5 +deps@1.0.11 +diff-sequence@1.0.4 +ecmascript@0.4.2 +ecmascript-runtime@0.2.9 +ejson@1.0.10 +geojson-utils@1.0.7 +html-tools@1.0.8 +htmljs@1.0.8 +id-map@1.0.6 +jquery@1.11.7 lai:collection-extensions@0.1.4 -logging@1.0.8 -meteor@1.1.10 -minifiers@1.1.7 -minimongo@1.0.10 -mongo@1.1.3 -mongo-id@1.0.1 -npm-mongo@1.4.39_1 -observe-sequence@1.0.7 -ordered-dict@1.0.4 +logging@1.0.11 +meteor@1.1.13 +minifier-js@1.1.10 +minimongo@1.0.13 +modules@0.5.2 +modules-runtime@0.6.2 +mongo@1.1.6 +mongo-id@1.0.3 +npm-mongo@1.4.42 +observe-sequence@1.0.10 +ordered-dict@1.0.6 pbastowski:angular-babel@1.0.9 -promise@0.5.1 -random@1.0.5 -reactive-dict@1.1.3 -reactive-var@1.0.6 -retry@1.0.4 -routepolicy@1.0.6 -session@1.1.1 -spacebars@1.0.7 -spacebars-compiler@1.0.7 -templating-tools@1.0.0 -tracker@1.0.9 -ui@1.0.8 -underscore@1.0.4 -webapp@1.2.3 -webapp-hashing@1.0.5 +promise@0.6.6 +random@1.0.8 +reactive-dict@1.1.6 +reactive-var@1.0.8 +retry@1.0.6 +routepolicy@1.0.9 +session@1.1.4 +spacebars@1.0.10 +spacebars-compiler@1.0.10 +templating-tools@1.0.3 +tracker@1.0.12 +ui@1.0.10 +underscore@1.0.7 +webapp@1.2.7 +webapp-hashing@1.0.8 diff --git a/packages/angular/package.js b/packages/angular/package.js index c9eec3af8..305e97cf0 100644 --- a/packages/angular/package.js +++ b/packages/angular/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "angular", summary: "Everything you need to use AngularJS in your Meteor app", - version: "1.3.9_2", + version: "1.3.10", git: "https://github.com/Urigo/angular-meteor.git", documentation: "../../README.md" }); @@ -10,7 +10,7 @@ Package.onUse(function (api) { api.versionsFrom('METEOR@1.2.0.1'); api.imply([ - 'angular-meteor-data@1.3.9_2', + 'angular-meteor-data@1.3.10', 'angular-templates@1.0.2', 'pbastowski:angular-babel@1.0.9' ]); diff --git a/packages/urigo-angular/.versions b/packages/urigo-angular/.versions index 9dffcf509..7e04c33e3 100644 --- a/packages/urigo-angular/.versions +++ b/packages/urigo-angular/.versions @@ -1,58 +1,61 @@ -angular@1.3.9_2 -angular-meteor-data@1.3.9_2 +allow-deny@1.0.3 +angular@1.3.10 +angular-meteor-data@1.3.10 angular-templates@1.0.2 angular:angular@1.4.8 -babel-compiler@5.8.24_1 -babel-runtime@0.1.4 -base64@1.0.4 +babel-compiler@6.6.1 +babel-runtime@0.1.7 +base64@1.0.7 benjamine:jsondiffpatch@0.1.38_1 -binary-heap@1.0.4 -blaze@2.1.3 -blaze-tools@1.0.4 -boilerplate-generator@1.0.4 -caching-compiler@1.0.0 -caching-html-compiler@1.0.2 -callback-hook@1.0.4 -check@1.1.0 +binary-heap@1.0.7 +blaze@2.1.6 +blaze-tools@1.0.7 +boilerplate-generator@1.0.7 +caching-compiler@1.0.3 +caching-html-compiler@1.0.5 +callback-hook@1.0.7 +check@1.1.3 dburles:mongo-collection-instances@0.3.4 -ddp@1.2.2 -ddp-client@1.2.1 -ddp-common@1.2.2 -ddp-server@1.2.2 -deps@1.0.9 -diff-sequence@1.0.1 -ecmascript@0.1.6 -ecmascript-runtime@0.2.6 -ejson@1.0.7 -geojson-utils@1.0.4 -html-tools@1.0.5 -htmljs@1.0.5 -id-map@1.0.4 -jquery@1.11.4 +ddp@1.2.4 +ddp-client@1.2.4 +ddp-common@1.2.4 +ddp-server@1.2.5 +deps@1.0.11 +diff-sequence@1.0.4 +ecmascript@0.4.2 +ecmascript-runtime@0.2.9 +ejson@1.0.10 +geojson-utils@1.0.7 +html-tools@1.0.8 +htmljs@1.0.8 +id-map@1.0.6 +jquery@1.11.7 lai:collection-extensions@0.1.4 -logging@1.0.8 -meteor@1.1.10 -minifiers@1.1.7 -minimongo@1.0.10 -mongo@1.1.3 -mongo-id@1.0.1 -npm-mongo@1.4.39_1 -observe-sequence@1.0.7 -ordered-dict@1.0.4 +logging@1.0.11 +meteor@1.1.13 +minifier-js@1.1.10 +minimongo@1.0.13 +modules@0.5.2 +modules-runtime@0.6.2 +mongo@1.1.6 +mongo-id@1.0.3 +npm-mongo@1.4.42 +observe-sequence@1.0.10 +ordered-dict@1.0.6 pbastowski:angular-babel@1.0.9 -promise@0.5.1 -random@1.0.5 -reactive-dict@1.1.3 -reactive-var@1.0.6 -retry@1.0.4 -routepolicy@1.0.6 -session@1.1.1 -spacebars@1.0.7 -spacebars-compiler@1.0.7 -templating-tools@1.0.0 -tracker@1.0.9 -ui@1.0.8 -underscore@1.0.4 -urigo:angular@1.3.9_2 -webapp@1.2.3 -webapp-hashing@1.0.5 +promise@0.6.6 +random@1.0.8 +reactive-dict@1.1.6 +reactive-var@1.0.8 +retry@1.0.6 +routepolicy@1.0.9 +session@1.1.4 +spacebars@1.0.10 +spacebars-compiler@1.0.10 +templating-tools@1.0.3 +tracker@1.0.12 +ui@1.0.10 +underscore@1.0.7 +urigo:angular@1.3.10 +webapp@1.2.7 +webapp-hashing@1.0.8 diff --git a/packages/urigo-angular/package.js b/packages/urigo-angular/package.js index 795a3b943..b4a552677 100644 --- a/packages/urigo-angular/package.js +++ b/packages/urigo-angular/package.js @@ -1,11 +1,11 @@ Package.describe({ name: "urigo:angular", summary: "Deprecated: use the official `angular` package instead!", - version: "1.3.9_2", + version: "1.3.10", git: "https://github.com/Urigo/angular-meteor.git", documentation: null }); Package.on_use(function (api) { - api.imply("angular@1.3.9_2"); + api.imply("angular@1.3.10"); });