diff --git a/DynamicBibleIonic/.sourcemaps/main.js.map b/DynamicBibleIonic/.sourcemaps/main.js.map index eb1a772d..1bfc3f77 100644 --- a/DynamicBibleIonic/.sourcemaps/main.js.map +++ b/DynamicBibleIonic/.sourcemaps/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/pages/search/search.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/components/strongs-modal/strongs-modal.ts","../../src/services/strongs-service.ts","../../src/services/pages-service.ts","../../src/pages/settings/settings.ts","../../src/pages/help/help.ts","../../src/components/verse-picker/verse-picker.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/libs/Reference.ts","../../src/app/app.component.ts","../../src/components/component-loader/component-loader.ts","../../src/components/passage/passage.ts","../../src/services/bible-service.ts","../../src/components/strongs/strongs.ts","../../src/components/words/words.ts","../../src/services/word-service.ts","../../src/components/error/error.ts","../../src/components/error-message/error-message.ts","../../src/services/profile-service.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Type, Component, OnInit } from '@angular/core';\nimport { Loading, LoadingController, ModalController, NavParams, AlertController, MenuController } from 'ionic-angular';\nimport { Storage } from '@ionic/storage';\n\nimport { StrongsModal } from '../../components/strongs-modal/strongs-modal';\nimport { PagesService } from '../../services/pages-service';\n\nimport { ProfileService, User } from './../../services/profile-service';\nimport { Reference } from '../../libs/Reference';\nimport { VersePickerModal } from '../../components/verse-picker/verse-picker';\n\n@Component({\n templateUrl: 'search.html'\n})\nexport class SearchPage implements OnInit\n{\n searchQuery = '';\n last: CardItem;\n loader: Loading;\n title: string;\n\n constructor(\n private pagesService: PagesService\n , private alertCtrl: AlertController\n , private menu: MenuController\n , public loadingCtrl: LoadingController\n , public modalCtrl: ModalController\n , public profileService: ProfileService\n , public params: NavParams\n )\n {\n }\n\n ngOnInit(): void\n {\n let t = this.profileService.profile();\n // Check if there is a profile saved in local storage\n this.loader = this.loadingCtrl.create({ content: 'Loading Page...' });\n this.loader.present().then(() =>\n {\n this.initializeItems(t);\n\n this.loader.dismiss();\n });\n }\n \n initializeItems(u: User)\n {\n // migrate old way of storing card items to the new.\n let has_migrated = false;\n for (let i in u.items)\n {\n if (u.items.hasOwnProperty(i))\n {\n let ci = u.items[i];\n if (ci['data'] !== undefined)\n {\n if (ci['data'].qry !== undefined)\n u.items[i] = { qry: ci['data'].qry, dict: ci.dict, type: ci.type };\n else if (ci['data'].ref !== undefined)\n u.items[i] = { qry: ci['data'].ref, dict: ci.dict, type: ci.type };\n else if (ci['data'].word !== undefined)\n u.items[i] = { qry: ci['data'].word, dict: ci.dict, type: ci.type };\n else if (ci['data'].sn !== undefined)\n u.items[i] = {\n qry: ci['data'].sn,\n dict: ci['prefix'] === 'G' ? 'grk' : 'heb',\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n\n for (let pg of u.saved_pages)\n {\n for (let i in pg.queries)\n {\n if (pg.queries.hasOwnProperty(i))\n {\n let ci = pg.queries[i];\n if (ci['data'] !== undefined)\n {\n if (ci['data'].qry !== undefined)\n pg.queries[i] = { qry: ci['data'].qry, dict: ci.dict, type: ci.type };\n else if (ci['data'].ref !== undefined)\n pg.queries[i] = { qry: ci['data'].ref, dict: ci.dict, type: ci.type };\n else if (ci['data'].word !== undefined)\n pg.queries[i] = { qry: ci['data'].word, dict: ci.dict, type: ci.type };\n else if (ci['data'].sn !== undefined)\n pg.queries[i] = {\n qry: ci['data'].sn,\n dict: ci['prefix'] === 'G' ? 'grk' : 'heb',\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n }\n\n // initialize the pages.\n this.pagesService.initializePages(u.saved_pages);\n\n if (this.params.data.queries !== undefined)\n this.profileService.profile().items = this.params.data.queries.slice();\n\n if (this.params.data.title === undefined)\n this.title = 'Search';\n else\n this.title = this.params.data.title;\n\n if (has_migrated)\n this.profileService.save();\n }\n\n save()\n {\n this.profileService.save();\n }\n textSizeChanged()\n {\n this.profileService.textSizeChanged();\n this.save();\n }\n\n actionsMenu()\n {\n this.menu.open('actions');\n }\n\n addPage()\n {\n const alert = this.alertCtrl.create({\n title: 'Save Search as Page',\n inputs: [\n {\n name: 'title',\n placeholder: 'Page Title'\n }\n ],\n buttons: [\n {\n text: 'Cancel',\n role: 'cancel',\n handler: (): void =>\n {\n console.log('Cancel clicked');\n }\n },\n {\n text: 'Save',\n handler: data =>\n {\n const p = { queries: this.profileService.profile().items.slice(), title: data.title };\n this.profileService.profile().saved_pages.push(p);\n this.profileService.save();\n this.pagesService.addPage(p);\n }\n }\n ]\n });\n alert.present();\n }\n\n updatePage()\n {\n const page = this.profileService.profile().saved_pages.find(\n i =>\n i.title === this.params.data.title\n );\n page.queries = this.profileService.profile().items.slice();\n this.profileService.save();\n }\n\n setQuery(searchbar)\n {\n this.searchQuery = searchbar.target.value;\n }\n getQuery(searchbar)\n {\n this.updateUIwithItems(this.searchQuery, true);\n }\n\n isError(t: string)\n {\n return t === 'Error';\n }\n isPassage(t: string)\n {\n return t === 'Passage';\n }\n isStrongs(t: string)\n {\n return t === 'Strongs';\n }\n isWords(t: string)\n {\n return t === 'Words';\n }\n\n versePicker()\n {\n const modal = this.modalCtrl.create(VersePickerModal, { onItemClicked: this });\n modal.present();\n }\n\n removeItem(item)\n {\n const idx = this.profileService.profile().items.indexOf(item);\n this.profileService.profile().items.splice(idx, 1);\n\n // save the users settings.\n this.profileService.save();\n }\n addItemToList(item: CardItem)\n {\n if (this.profileService.profile().append_to_bottom)\n {\n if (this.last != null && this.profileService.profile().insert_next_to_item)\n {\n const idx = this.profileService.profile().items.indexOf(this.last);\n this.profileService.profile().items.splice(idx + 1, 0, item);\n } else\n this.profileService.profile().items.push(item);\n }\n else\n {\n if (this.last != null && this.profileService.profile().insert_next_to_item)\n {\n const idx = this.profileService.profile().items.indexOf(this.last);\n this.profileService.profile().items.splice(idx, 0, item);\n } else\n this.profileService.profile().items.unshift(item);\n }\n this.last = null;\n }\n getItemsNextToCard(data: OpenData)\n {\n this.last = data.card;\n this.updateUIwithItems(data.qry, data.from_search_bar);\n }\n \n getItemList(search: string): Promise\n {\n return new Promise((resolve) =>\n {\n const list: CardItem[] = [];\n\n try\n {\n const qs = search.split(';');\n for (let x in qs)\n {\n if (qs.hasOwnProperty(x))\n {\n let q = qs[x].trim();\n if (q !== '')\n {\n // its a search term.\n if (q.search(/[0-9]/i) === -1)\n list.push({ qry: q, dict: 'na', type: 'Words' });\n else if (q.search(/(H|G)[0-9]/i) !== -1)\n {\n // its a strongs lookup\n let dict = q.substring(0, 1);\n\n if (dict.search(/h/i) !== -1)\n dict = 'heb';\n else\n dict = 'grk';\n\n q = q.substring(1, q.length);\n list.push({ qry: q, dict: dict, type: 'Strongs' });\n }\n else\n {\n // its a verse reference.\n if (q.trim() !== '')\n {\n const myref = new Reference(q.trim());\n list.push({ qry: myref.toString(), dict: myref.Section.start.book.book_number > 39 ? 'G' : 'H', type: 'Passage' });\n }\n }\n }\n }\n }\n if (this.profileService.profile().clear_search_after_query)\n $('.searchbar-input').val('');\n\n this.profileService.save();\n }\n catch (error)\n {\n list.push({ qry: error, type: 'Error', dict: 'na' });\n console.log(error);\n }\n\n resolve(list);\n });\n }\n\n updateUIwithItems(search: string, from_search_bar: boolean)\n {\n this.getItemList(search).then(lst =>\n {\n this.loader = this.loadingCtrl.create({ content: 'Looking up Query...' });\n this.loader.present().then(\n () =>\n {\n for (let item of lst)\n {\n if (item.type === 'Strongs' && this.profileService.profile().strongs_modal && !from_search_bar)\n {\n const modal = this.modalCtrl.create(StrongsModal, { sn: parseInt(item.qry), dict: item.dict, onItemClicked: this });\n modal.present();\n } else\n this.addItemToList(item);\n }\n this.loader.dismiss();\n }\n );\n });\n }\n}\n\nexport type OpenData = { card: CardItem, qry: string, from_search_bar: boolean }\n\nexport type CardItem = { qry: string, type: string, dict: string }\n\nclass Item\n{\n id: number;\n data: any;\n type: Type;\n dict: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/search/search.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 148;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 148\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 245;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 245\n// module chunks = 0","import { EventEmitter, Component, Output, OnInit } from '@angular/core';\nimport { Platform, NavParams, ViewController } from 'ionic-angular';\nimport { Reference } from '../../libs/Reference';\nimport { StrongsResult, StrongsService } from '../../services/strongs-service';\n\n@Component({\n selector: 'strongs-modal',\n templateUrl: 'strongs-modal.html',\n providers: [StrongsService]\n})\nexport class StrongsModal implements OnInit\r\n{\n sn: number;\n dict: string;\n item: StrongsResult;\n\n @Output()\n onItemClicked = new EventEmitter();\n\n constructor(private strongsService: StrongsService,\n public platform: Platform,\n public params: NavParams,\n public viewCtrl: ViewController\n )\r\n {\n this.sn = this.params.get('sn') as number;\n this.dict = this.params.get('dict') as string;\n this.onItemClicked.subscribe(item =>\r\n {\n let pg = this.params.get('onItemClicked');\n pg.updateUIwithItems(item, false);\n });\n }\n\n ngOnInit(): void\r\n {\r\n this.strongsService.getResultAsPromise(this.sn, this.dict).then(data => this.item = data);\r\n }\n\r\n dismiss()\r\n {\n this.viewCtrl.dismiss();\n }\n\r\n openItem(p: string)\r\n {\n this.onItemClicked.emit(p);\n this.dismiss();\n }\n\n makePassage(p: string)\r\n {\n return Reference.bookName(parseInt(p.split(';')[0])).name + ' ' + p.split(';')[1] + ':' + p.split(';')[2];\n }\n\n openPassage(p: string)\r\n {\n let ref = this.makePassage(p);\n this.onItemClicked.emit(ref);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs-modal/strongs-modal.ts","/// \r\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\n\r\n@Injectable()\r\nexport class StrongsService\r\n{\r\n result: StrongsResult;\r\n count = 0;\r\n\r\n constructor(private http: Http)\r\n {\r\n }\r\n\r\n getResultAsPromise(sn: number, dict: string): Promise\r\n {\r\n return new Promise((resolve, reject) => { resolve(this.getResult(sn, dict)); });\r\n }\r\n\r\n getResult(sn: number, dict: string): StrongsResult\r\n {\r\n const self = this;\r\n this.result = {\r\n prefix: '',\r\n sn: -1,\r\n strongs: [],\r\n def: null,\r\n rmac: null,\r\n crossrefs: null,\r\n rmaccode: '',\r\n status: 0,\r\n msg: ':)'\r\n };\r\n let url = dict + Math.ceil(sn / 100) + '.json';\r\n if (dict === 'grk')\r\n {\r\n self.result.prefix = 'G';\r\n if (sn > 5624 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number G' + sn + ' is out of range. Strong\\'s numbers range from 1 - 5624 in the New Testament.';\r\n }\r\n }\r\n else\r\n {\r\n self.result.prefix = 'H';\r\n if (sn > 8674 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number H' + sn + ' is out of range. Strong\\'s numbers range from 1 - 8674 in the Old Testament.';\r\n }\r\n }\r\n this.result.sn = sn;\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongs/' + url,\r\n dataType: 'json',\r\n success(d: StrongsDefinition[], t, x)\r\n {\r\n self.result.strongs = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Data for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n self.result.def = self.result.strongs.find(el => (el.i === this.result.prefix + this.result.sn));\r\n self.result.strongs = [];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongscr/cr' + url,\r\n dataType: 'json',\r\n success(d: StrongsCrossReference[], t, x)\r\n {\r\n for (let cr of d)\r\n {\r\n if (cr.id.toUpperCase() === self.result.prefix + self.result.sn)\r\n {\r\n self.result.crossrefs = cr;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Cross References for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n if (dict === 'grk')\r\n {\r\n url = 'data/rmac/rs' + (Math.ceil(sn / 1000)) + '.json';\r\n let rmac_cross_references: RMACCrossReference[];\r\n\r\n // rmac is a two get process.\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACCrossReference[], t, x)\r\n {\r\n rmac_cross_references = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // deal with RMAC\r\n let tmp = $.grep(rmac_cross_references, (el, i) => { return el.i === sn + ''; });\r\n if (tmp.length === 0)\r\n return this.result;\r\n\r\n this.result.rmaccode = tmp[0].r;\r\n if (this.result.rmaccode !== undefined)\r\n {\r\n url = `data/rmac/r-${this.result.rmaccode.substring(0, 1)}.json`;\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACDefinition[], t, x)\r\n {\r\n for (let rmac of d)\r\n {\r\n if (rmac.id.toLowerCase() === self.result.rmaccode)\r\n {\r\n self.result.rmac = rmac;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n }\r\n }\r\n return this.result;\r\n }\r\n}\r\nexport type StrongsResult =\r\n {\r\n prefix: string,\r\n sn: number,\r\n strongs: StrongsDefinition[],\r\n def: StrongsDefinition,\r\n rmac: RMACDefinition,\r\n crossrefs: StrongsCrossReference,\r\n rmaccode: string,\r\n status: number,\r\n msg: string,\r\n };\r\n\r\ntype StrongsDefinition = { n: number, i: string, tr: string, de: StrongsDefinitionPart[], lemma: string, p: string }\r\ntype StrongsDefinitionPart = { sn: string, w: string }\r\ntype StrongsCrossReference =\r\n {\r\n id: string, // strongs id H1|G1\r\n t: string, // strongs testament grk|heb\r\n d: string, // strongs word/data Aaron {ah-ar-ohn'}\r\n ss: [\r\n {\r\n w: string,\r\n rs: [\r\n { r: string }\r\n ],\r\n }\r\n ],\r\n }\r\n\r\ntype RMACDefinition = { id: string, d: string[] }\r\n\r\ntype RMACCrossReference = { i: string, r: string }\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/strongs-service.ts","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { SearchPage } from '../pages/search/search';\r\nimport { SettingsPage } from '../pages/settings/settings';\r\nimport { HelpPage } from '../pages/help/help';\r\n\r\nimport { SavedPage } from './profile-service';\r\n\r\n@Injectable()\r\nexport class PagesService\r\n{\r\n pages: Array<{ title: string, component: any, params: any, icon: string }>;\r\n savedPages: Array<{ title: string, component: any, params: any }>;\r\n\r\n constructor(public local: Storage)\r\n {\r\n this.pages = [\r\n { title: 'Search', component: SearchPage, params: { queries: [], title: 'Search' }, icon: 'search' },\r\n { title: 'Settings', component: SettingsPage, params: {}, icon: 'settings' },\r\n { title: 'Help', component: HelpPage, params: {}, icon: 'help-circle' }\r\n ];\r\n this.savedPages = [];\r\n }\r\n\r\n getMainPages(): Array<{ title: string, component: any }>\r\n {\r\n return this.pages;\r\n }\r\n\r\n getSavedPages(): Array<{ title: string, component: any }>\r\n {\r\n return this.savedPages;\r\n }\r\n\r\n addPage(page: SavedPage)\r\n {\r\n this.savedPages.push({ title: page.title, component: SearchPage, params: { queries: page.queries, title: page.title } });\r\n }\r\n\r\n initializePages(page_array: SavedPage[])\r\n {\r\n this.savedPages = [];\r\n\r\n for (let p of page_array)\r\n {\r\n this.savedPages.push({ title: p.title, component: SearchPage, params: { queries: p.queries, title: p.title } });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/pages-service.ts","/// \r\nimport { Component } from '@angular/core';\r\nimport { NavController, AlertController } from 'ionic-angular';\r\nimport { Storage } from '@ionic/storage';\r\n\r\nimport { ProfileService, SavedPage } from '../../services/profile-service';\r\n\r\n@Component({\r\n selector: 'settings',\r\n templateUrl: 'settings.html',\r\n})\r\nexport class SettingsPage\r\n{\r\n constructor(\r\n public navCtrl: NavController\r\n , private alertCtrl: AlertController\r\n , public profileService: ProfileService\r\n ) {}\r\n\r\n textSizeChanged()\r\n {\r\n this.profileService.textSizeChanged();\r\n this.save();\r\n }\r\n\r\n save()\r\n {\r\n this.profileService.save()\r\n }\r\n\r\n reset()\r\n {\r\n this.profileService.reset()\r\n }\r\n\r\n removePage(page: SavedPage)\r\n {\r\n let alert = this.alertCtrl.create({\r\n title: 'Confirm Delete',\r\n message: 'Do you want to delete the ' + page.title + ' page?',\r\n buttons: [\r\n {\r\n text: 'Cancel',\r\n role: 'cancel',\r\n handler: () =>\r\n {\r\n console.log('Cancel clicked');\r\n }\r\n },\r\n {\r\n text: 'Ok',\r\n handler: () =>\r\n {\r\n this.profileService.removePage(page);\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/settings/settings.ts","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'help',\r\n templateUrl: 'help.html'\r\n})\r\nexport class HelpPage\r\n{\r\n constructor()\r\n {\r\n }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/help/help.ts","import { EventEmitter, Component, Output, OnInit } from '@angular/core';\nimport { Platform, NavParams, ViewController } from 'ionic-angular';\nimport { Book, Reference } from '../../libs/Reference';\n\n@Component({\n selector: 'verse-picker',\n templateUrl: 'verse-picker.html'\n})\nexport class VersePickerModal\n{\n @Output()\n onItemClicked = new EventEmitter();\n books: Array;\n hasBook = false;\n book: Book;\n\n constructor(\n public platform: Platform,\n public params: NavParams,\n public viewCtrl: ViewController\n )\n {\n this.hasBook = false;\n this.books = Reference.Books;\n this.onItemClicked.subscribe(item =>\r\n {\n let pg = this.params.get('onItemClicked');\n pg.updateUIwithItems(item, false);\n });\n }\n\n toBooks()\n {\n this.hasBook = false;\n this.book = null;\n }\n\n dismiss()\n {\n this.viewCtrl.dismiss();\n }\n setBook(book: Book)\n {\n this.hasBook = true;\n this.book = book;\n }\n setChapter(chapter: number)\n {\n // close the control, trigger the passage event.\n this.onItemClicked.emit(this.book.name + ' ' + chapter);\n this.dismiss();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verse-picker/verse-picker.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\nimport {enableProdMode} from '@angular/core';\n\nenableProdMode();\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { ProfileService } from './../services/profile-service';\nimport { NgModule, ErrorHandler } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpModule } from '@angular/http';\n\nimport { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';\nimport { IonicStorageModule } from '@ionic/storage';\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\n\nimport { MyApp } from './app.component';\n\nimport { SearchPage } from '../pages/search/search';\nimport { SettingsPage } from '../pages/settings/settings';\nimport { HelpPage } from '../pages/help/help';\n\nimport { ComponentLoader } from '../components/component-loader/component-loader';\nimport { Passage } from '../components/passage/passage';\nimport { Strongs } from '../components/strongs/strongs';\nimport { Words } from '../components/words/words';\nimport { Error } from '../components/error/error';\nimport { StrongsModal } from '../components/strongs-modal/strongs-modal';\nimport { ErrorMessage } from '../components/error-message/error-message';\nimport { VersePickerModal } from '../components/verse-picker/verse-picker';\n\nimport { AngularFireModule } from 'angularfire2';\nimport { AngularFireAuthModule } from 'angularfire2/auth';\nimport { AngularFireDatabaseModule } from 'angularfire2/database';\n\nexport const firebaseConfig = {\n apiKey: 'AIzaSyA3UV4s56CV2EumgvZmyJBTyU-vhv0xhc8',\n authDomain: 'dynamicbible-7c6cf.firebaseapp.com',\n databaseURL: 'https://dynamicbible-7c6cf.firebaseio.com',\n projectId: 'dynamicbible-7c6cf',\n // TODO(jwall): What is a storage bucket?\n storageBucket: '',\n messagingSenderId: '200739882604'\n};\n\n@NgModule({\n declarations: [\n MyApp,\n SearchPage,\n SettingsPage,\n HelpPage,\n ComponentLoader,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n imports: [\n IonicModule.forRoot(MyApp),\n IonicStorageModule.forRoot(),\n BrowserModule,\n HttpModule,\n AngularFireModule.initializeApp(firebaseConfig),\n AngularFireAuthModule,\n AngularFireDatabaseModule,\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n SearchPage,\n SettingsPage,\n HelpPage,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }, StatusBar, SplashScreen, ProfileService]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","// This code was written by Jeremy and Jason Wall.\r\n// Feel free to use, and if you can, include a link back to www.walljm.com\r\n// Jason@walljm.com // www.walljm.com\r\n// Jeremy@marzhillstudios.com // jeremy.marzhillstudios.com\r\n\r\nclass StringUtils\r\n{\r\n public static trim(str: string): string\r\n {\r\n return str.replace(/^\\s+|\\s+$/g, '');\r\n }\r\n\r\n public static ltrim(str: string): string\r\n {\r\n return str.replace(/^\\s+/, '');\r\n }\r\n\r\n public static rtrim(str: string): string\r\n {\r\n return str.replace(/\\s+$/, '');\r\n }\r\n}\r\n\r\nexport class Reference\r\n{\r\n private ref: string;\r\n Section: Section;\r\n errAcc: string;\r\n\r\n constructor(reference: string)\r\n {\r\n this.Section = {\r\n start: {\r\n book: null,\r\n chapter: '',\r\n verse: ''\r\n },\r\n end: {\r\n book: null,\r\n chapter: '',\r\n verse: ''\r\n }\r\n };\r\n this.ref = reference.toLowerCase().trim();\r\n this.parseReference();\r\n\r\n if (this.Section.end.book === null)\r\n {\r\n this.Section.end.book = this.Section.start.book;\r\n }\r\n\r\n if (this.Section.end.chapter === '') this.Section.end.chapter = this.Section.start.chapter;\r\n if (\r\n Number(this.Section.start.verse) > Number(this.Section.end.verse) &&\r\n this.Section.start.chapter === this.Section.end.chapter &&\r\n this.Section.start.book.name === this.Section.end.book.name\r\n ) this.Section.end.verse = this.Section.start.verse;\r\n if (this.Section.start.verse === '') this.Section.start.verse = '1';\r\n if (this.Section.end.verse === '') this.Section.end.verse = '*';\r\n }\r\n\r\n private parseReference()\r\n {\r\n this.parseBook(false);\r\n this.parseFirstNum(false);\r\n const foundFirstVerse = this.ref.search(/:.*-/) !== -1;\r\n this.maybeParseSecondNum(false);\r\n this.maybeParseRangeSep();\r\n const foundSecondBook = this.ref.search(/\\w\\s+\\d/i) !== -1;\r\n\r\n this.maybeParseBook(true);\r\n this.maybeParseFirstNumOrVerse(foundSecondBook, foundFirstVerse, true);\r\n this.maybeParseSecondNum(true);\r\n };\r\n\r\n private parseBook(isEnd?: boolean)\r\n {\r\n this.ref = this.ref.toLowerCase().trim();\r\n\r\n let fbook = this.ref.substring(0, this.ref.search(/\\w\\s+\\d/i) + 1);\r\n if (!fbook)\r\n fbook = this.ref;\r\n this.ref = this.ref.slice(this.ref.search(/\\w\\s+\\d/i) + 1);\r\n if (isEnd) this.Section.end.book = Reference.parseBook(fbook);\r\n else this.Section.start.book = Reference.parseBook(fbook);\r\n }\r\n\r\n private parseFirstNum(isEnd: boolean)\r\n {\r\n let thing = this.Section.start;\r\n if (isEnd) thing = this.Section.end;\r\n\r\n this.ref = StringUtils.ltrim(this.ref);\r\n let found = false;\r\n for (let i = 0; i <= this.ref.length; i++)\r\n {\r\n const c = this.ref.charAt(i);\r\n // Grab characters until we hit a non digit.\r\n if ('0'.charAt(0) <= c && c <= '9'.charAt(0))\r\n {\r\n found = true;\r\n thing.chapter = thing.chapter.concat(c);\r\n }\r\n else\r\n {\r\n // if the chapter is longer than 3 digits it's an error\r\n if (thing.chapter.length > 3)\r\n {\r\n this.errAcc = 'Chapter too long\"' + thing.chapter + '\".';\r\n return;\r\n }\r\n else if (!found)\r\n {\r\n this.errAcc = 'No chapter found' + this.ref;\r\n }\r\n this.ref = this.ref.slice(i);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n private parseSecondNum(skipColon?: boolean, isEnd?: boolean)\r\n {\r\n let thing = this.Section.start;\r\n if (isEnd) thing = this.Section.end;\r\n\r\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\r\n if (!skipColon)\r\n {\r\n if (this.ref[0] !== ':')\r\n {\r\n return;\r\n }\r\n this.ref = this.ref.slice(1);\r\n }\r\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\r\n if (this.ref[0] === '*')\r\n {\r\n thing.verse = '*';\r\n this.ref = this.ref.slice(1);\r\n return;\r\n }\r\n for (let i = 0; i <= this.ref.length; i++)\r\n {\r\n const c = this.ref.charAt(i);\r\n if ('0'.charAt(0) <= c && c <= '9'.charAt(0))\r\n {\r\n thing.verse = thing.verse.concat(c);\r\n }\r\n else\r\n {\r\n if (thing.verse.length > 3)\r\n {\r\n this.errAcc = 'Verse too long \"' + thing.verse + '\".';\r\n return;\r\n }\r\n this.ref = this.ref.slice(i);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n private maybeParseBook(isEnd: boolean)\r\n {\r\n return this.maybeDo(() =>\r\n {\r\n if (this.ref.search(/\\w\\s+\\d/i) === -1)\r\n {\r\n this.Section.end.book = this.Section.start.book;\r\n }\r\n else\r\n {\r\n this.parseBook(isEnd);\r\n }\r\n });\r\n };\r\n\r\n private maybeParseSecondNum(isEnd?: boolean)\r\n {\r\n return this.maybeDo(() =>\r\n {\r\n this.parseSecondNum(false, isEnd);\r\n });\r\n };\r\n\r\n private maybeParseFirstNumOrVerse(foundSecondBook: boolean, foundFirstVerse: boolean, isEnd: boolean)\r\n {\r\n const self = this;\r\n return this.maybeDo(() =>\r\n {\r\n if (self.Section.end.book.name === self.Section.start.book.name)\r\n {\r\n if (self.ref.search(/:/) !== -1 || foundSecondBook || !foundFirstVerse)\r\n {\r\n self.parseFirstNum(isEnd);\r\n }\r\n self.parseSecondNum(true, isEnd);\r\n }\r\n });\r\n };\r\n\r\n private maybeParseRangeSep()\r\n {\r\n const self = this;\r\n return this.maybeDo(() =>\r\n {\r\n if (self.ref[0] === '-')\r\n {\r\n self.ref = StringUtils.ltrim(self.ref.slice(1));\r\n }\r\n });\r\n };\r\n\r\n private maybeDo(f)\r\n {\r\n const func = f;\r\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\r\n if (this.ref !== '')\r\n {\r\n func();\r\n }\r\n };\r\n\r\n public toString()\r\n {\r\n // get the starting book, chapter, verse\r\n return Reference.toString(this.Section);\r\n };\r\n\r\n public static parseBook(fbook: string): Book\r\n {\r\n if (fbook.search(/\\b(genesis|gen|ge|gn)\\b/i) !== -1)\r\n {\r\n return this.bookName(1);\r\n }\r\n if (fbook.search(/\\b(exodus|ex|exo|exod|exd)\\b/i) !== -1)\r\n {\r\n return this.bookName(2);\r\n }\r\n if (fbook.search(/\\b(leviticus|lev|le|levi|lv)\\b/i) !== -1)\r\n {\r\n return this.bookName(3);\r\n }\r\n if (fbook.search(/\\b(numbers|num|nu|numb|number)\\b/i) !== -1)\r\n {\r\n return this.bookName(4);\r\n }\r\n if (fbook.search(/\\b(deuteronomy|deut|de|dt|deu)\\b/i) !== -1)\r\n {\r\n return this.bookName(5);\r\n }\r\n if (fbook.search(/\\b(joshua|josh|jos)\\b/i) !== -1)\r\n {\r\n return this.bookName(6);\r\n }\r\n if (fbook.search(/\\b(judges|jud|jdg|judg)\\b/i) !== -1)\r\n {\r\n return this.bookName(7);\r\n }\r\n if (fbook.search(/\\b(ruth|ru)\\b/i) !== -1)\r\n {\r\n return this.bookName(8);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(samuel|sa|sam|sml)\\b/i) !== -1)\r\n {\r\n return this.bookName(9);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(samuel|sa|sam|sml)\\b/i) !== -1)\r\n {\r\n return this.bookName(10);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1)\r\n {\r\n return this.bookName(11);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1)\r\n {\r\n return this.bookName(12);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1)\r\n {\r\n return this.bookName(13);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1)\r\n {\r\n return this.bookName(14);\r\n }\r\n if (fbook.search(/\\b(ezra|ezr)\\b/i) !== -1)\r\n {\r\n return this.bookName(15);\r\n }\r\n if (fbook.search(/\\b(nehemiah|neh|ne|nehamiah)\\b/i) !== -1)\r\n {\r\n return this.bookName(16);\r\n }\r\n if (fbook.search(/\\b(esther|est|es|esth)\\b/i) !== -1)\r\n {\r\n return this.bookName(17);\r\n }\r\n if (fbook.search(/\\b(job|jo|jb)\\b/i) !== -1)\r\n {\r\n return this.bookName(18);\r\n }\r\n if (fbook.search(/\\b(psalms|ps|psa|psalm|psm)\\b/i) !== -1)\r\n {\r\n return this.bookName(19);\r\n }\r\n if (fbook.search(/\\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\\b/i) !== -1)\r\n {\r\n return this.bookName(20);\r\n }\r\n if (fbook.search(/\\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\\b/i) !== -1)\r\n {\r\n return this.bookName(21);\r\n }\r\n if (fbook.search(/\\b(song\\sof\\ssolomon|song\\sof\\ssongs|sos|ss|son|so|song|songs)\\b/i) !== -1)\r\n {\r\n return this.bookName(22);\r\n }\r\n if (fbook.search(/\\b(isaiah|is|isah|isai|ia)\\b/i) !== -1)\r\n {\r\n return this.bookName(23);\r\n }\r\n if (fbook.search(/\\b(jerimiah|jeremiah|jer|je|jere)\\b/i) !== -1)\r\n {\r\n return this.bookName(24);\r\n }\r\n if (fbook.search(/\\b(lamentations|lam|la|lamentation)\\b/i) !== -1)\r\n {\r\n return this.bookName(25);\r\n }\r\n if (fbook.search(/\\b(ezekiel|eze|ezk|ezek)\\b/i) !== -1)\r\n {\r\n return this.bookName(26);\r\n }\r\n if (fbook.search(/\\b(daniel|dan|dn|dl|da)\\b/i) !== -1)\r\n {\r\n return this.bookName(27);\r\n }\r\n if (fbook.search(/\\b(hosea|hos|ho)\\b/i) !== -1)\r\n {\r\n return this.bookName(28);\r\n }\r\n if (fbook.search(/\\b(joel|joe|jl)\\b/i) !== -1)\r\n {\r\n return this.bookName(29);\r\n }\r\n if (fbook.search(/\\b(amos|am|amo)\\b/i) !== -1)\r\n {\r\n return this.bookName(30);\r\n }\r\n if (fbook.search(/\\b(obadiah|oba|ob|obad)\\b/i) !== -1)\r\n {\r\n return this.bookName(31);\r\n }\r\n if (fbook.search(/\\b(jonah|jnh|jon)\\b/i) !== -1)\r\n {\r\n return this.bookName(32);\r\n }\r\n if (fbook.search(/\\b(micah|mic|mi)\\b/i) !== -1)\r\n {\r\n return this.bookName(33);\r\n }\r\n if (fbook.search(/\\b(nahum|nah|na)\\b/i) !== -1)\r\n {\r\n return this.bookName(34);\r\n }\r\n if (fbook.search(/\\b(habakkuk|hab|ha|habakuk)\\b/i) !== -1)\r\n {\r\n return this.bookName(35);\r\n }\r\n if (fbook.search(/\\b(zephaniah|zeph|zep)\\b/i) !== -1)\r\n {\r\n return this.bookName(36);\r\n }\r\n if (fbook.search(/\\b(haggia|hag|hg|haggai)\\b/i) !== -1)\r\n {\r\n return this.bookName(37);\r\n }\r\n if (fbook.search(/\\b(zechariah|zech|zch|zec)\\b/i) !== -1)\r\n {\r\n return this.bookName(38);\r\n }\r\n if (fbook.search(/\\b(malachi|mal)\\b/i) !== -1)\r\n {\r\n return this.bookName(39);\r\n }\r\n if (fbook.search(/\\b(matthew|mt|matt|mat)\\b/i) !== -1)\r\n {\r\n return this.bookName(40);\r\n }\r\n if (fbook.search(/\\b(mark|mrk|mk|mr)\\b/i) !== -1)\r\n {\r\n return this.bookName(41);\r\n }\r\n if (fbook.search(/\\b(luke|lu|lke|luk|lk)\\b/i) !== -1)\r\n {\r\n return this.bookName(42);\r\n }\r\n // must come before the Gospel of John\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(john|jn|jo)\\b/i) !== -1)\r\n {\r\n return this.bookName(62);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(john|jn|jo)\\b/i) !== -1)\r\n {\r\n return this.bookName(63);\r\n }\r\n if (fbook.search(/\\b(3|iii|3rd|third)\\s*(john|jn|jo)\\b/i) !== -1)\r\n {\r\n return this.bookName(64);\r\n }\r\n // 1, 2, and 3rd John need to come before this one, else this will catch those book references.\r\n if (fbook.search(/\\b(john|jn|jhn)\\b/i) !== -1)\r\n {\r\n return this.bookName(43);\r\n }\r\n if (fbook.search(/\\b(acts|ac|act)\\b/i) !== -1)\r\n {\r\n return this.bookName(44);\r\n }\r\n if (fbook.search(/\\b(romans|rom|ro|rm|roman)\\b/i) !== -1)\r\n {\r\n return this.bookName(45);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1)\r\n {\r\n return this.bookName(46);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1)\r\n {\r\n return this.bookName(47);\r\n }\r\n if (fbook.search(/\\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\\b/i) !== -1)\r\n {\r\n return this.bookName(48);\r\n }\r\n if (fbook.search(/\\b(ephesians|eph|ep|ephes|ephe|ephs)\\b/i) !== -1)\r\n {\r\n return this.bookName(49);\r\n }\r\n if (fbook.search(/\\b(philippians|phi|phil|ph|philip)\\b/i) !== -1)\r\n {\r\n return this.bookName(50);\r\n }\r\n if (fbook.search(/\\b(colossians|col|co|colossian|colos|coloss)\\b/i) !== -1)\r\n {\r\n return this.bookName(51);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1)\r\n {\r\n return this.bookName(52);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1)\r\n {\r\n return this.bookName(53);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(timothy|tim|ti|timoth|tm)\\b/i) !== -1)\r\n {\r\n return this.bookName(54);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(timothy|tim|timoth|tm)\\b/i) !== -1)\r\n {\r\n return this.bookName(55);\r\n }\r\n if (fbook.search(/\\b(titus|tit)\\b/i) !== -1)\r\n {\r\n return this.bookName(56);\r\n }\r\n if (fbook.search(/\\b(philemon|phlmn|phl|phm|phile|philem)\\b/i) !== -1)\r\n {\r\n return this.bookName(57);\r\n }\r\n if (fbook.search(/\\b(hebrews|heb|he|hebrew)\\b/i) !== -1)\r\n {\r\n return this.bookName(58);\r\n }\r\n if (fbook.search(/\\b(james|jam|ja|jas|jms|jame|jm)\\b/i) !== -1)\r\n {\r\n return this.bookName(59);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1)\r\n {\r\n return this.bookName(60);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1)\r\n {\r\n return this.bookName(61);\r\n }\r\n if (fbook.search(/\\b(jude|ju)\\b/i) !== -1)\r\n {\r\n return this.bookName(65);\r\n }\r\n if (fbook.search(/\\b(revelation|rev|re|revelations|rv)\\b/i) !== -1)\r\n {\r\n return this.bookName(66);\r\n }\r\n\r\n return this.bookName(0);\r\n }\r\n\r\n public static toString(section: Section)\r\n {\r\n // get the starting book, chapter, verse\r\n let ref = section.start.book.name.concat(' ').\r\n concat(section.start.chapter).concat(':').\r\n concat(section.start.verse);\r\n\r\n if (section.start.chapter === section.end.chapter &&\r\n section.start.verse === section.end.verse &&\r\n section.start.book.name === section.end.book.name)\r\n {\r\n return ref;\r\n }\r\n\r\n if (section.start.chapter === section.end.chapter &&\r\n section.start.verse !== section.end.verse &&\r\n section.start.book.name === section.end.book.name)\r\n {\r\n return ref.concat(' - ').concat(section.end.verse);\r\n }\r\n\r\n if (section.start.book.name !== section.end.book.name)\r\n {\r\n ref = ref.concat(' - ').concat(section.end.book.name).concat(' ');\r\n }\r\n else\r\n {\r\n ref = ref.concat(' - ');\r\n }\r\n\r\n ref = ref.concat(section.end.chapter).concat(':');\r\n\r\n return ref.concat(section.end.verse);\r\n }\r\n\r\n public static Books: Array = [\r\n {\r\n name: 'Unkown',\r\n short_name: 'Unk',\r\n long_name: 'Unknown',\r\n book_number: 0,\r\n last_chapter: 0,\r\n chapters: [0]\r\n },\r\n {\r\n name: 'Genesis',\r\n short_name: 'Gen',\r\n long_name: 'Book of Genesis',\r\n book_number: 1,\r\n last_chapter: 66,\r\n chapters: [0, 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26]\r\n },\r\n {\r\n book_number: 2,\r\n short_name: 'Exo',\r\n name: 'Exodus',\r\n long_name: 'Book of Exodus',\r\n last_chapter: 40,\r\n chapters: [0, 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38]\r\n },\r\n {\r\n book_number: 3,\r\n name: 'Leviticus',\r\n short_name: 'Lev',\r\n long_name: 'Leviticus',\r\n last_chapter: 27,\r\n chapters: [0, 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34]\r\n },\r\n {\r\n book_number: 4,\r\n name: 'Numbers',\r\n short_name: 'Num',\r\n long_name: 'Book of Numbers',\r\n last_chapter: 36,\r\n chapters: [0, 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13]\r\n },\r\n {\r\n book_number: 5,\r\n name: 'Deuteronomy',\r\n short_name: 'Deut',\r\n long_name: 'Book of Deuteronomy',\r\n last_chapter: 34,\r\n chapters: [0, 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12]\r\n },\r\n {\r\n book_number: 6,\r\n name: 'Joshua',\r\n short_name: 'Josh',\r\n long_name: 'Book of Joshua',\r\n last_chapter: 24,\r\n chapters: [0, 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]\r\n },\r\n {\r\n book_number: 7,\r\n name: 'Judges',\r\n short_name: 'Jud',\r\n long_name: 'Book of Judges',\r\n last_chapter: 21,\r\n chapters: [0, 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]\r\n },\r\n {\r\n book_number: 8,\r\n name: 'Ruth',\r\n short_name: 'Ruth',\r\n long_name: 'Book of Ruth',\r\n last_chapter: 4,\r\n chapters: [0, 22, 23, 18, 22]\r\n },\r\n {\r\n book_number: 9,\r\n name: '1 Samuel',\r\n short_name: '1 Sam',\r\n long_name: 'First Book of Samuel',\r\n last_chapter: 31,\r\n chapters: [0, 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13]\r\n },\r\n {\r\n book_number: 10,\r\n name: '2 Samuel',\r\n short_name: '2 Sam',\r\n long_name: 'Second Book of Samuel',\r\n last_chapter: 24,\r\n chapters: [0, 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]\r\n },\r\n {\r\n book_number: 11,\r\n name: '1 Kings',\r\n short_name: '1 Kng',\r\n long_name: 'First Book of Kings',\r\n last_chapter: 22,\r\n chapters: [0, 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]\r\n },\r\n {\r\n book_number: 12,\r\n name: '2 Kings',\r\n short_name: '2 Kng',\r\n long_name: 'Second Book of Kings',\r\n last_chapter: 25,\r\n chapters: [0, 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]\r\n },\r\n {\r\n book_number: 13,\r\n name: '1 Chronicles',\r\n short_name: '1 Chr',\r\n long_name: 'First Book of Chronicles',\r\n last_chapter: 29,\r\n chapters: [0, 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30]\r\n },\r\n {\r\n book_number: 14,\r\n name: '2 Chronicles',\r\n short_name: '2 Chr',\r\n long_name: 'Second Book of Chronicles',\r\n last_chapter: 36,\r\n chapters: [0, 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23]\r\n },\r\n {\r\n book_number: 15,\r\n name: 'Ezra',\r\n short_name: 'Ezra',\r\n long_name: 'Book of Ezra',\r\n last_chapter: 10,\r\n chapters: [0, 11, 70, 13, 24, 17, 22, 28, 36, 15, 44]\r\n },\r\n {\r\n book_number: 16,\r\n name: 'Nehemiah',\r\n short_name: 'Neh',\r\n long_name: 'Book of Nehemiah',\r\n last_chapter: 13,\r\n chapters: [0, 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]\r\n },\r\n {\r\n book_number: 17,\r\n name: 'Esther',\r\n short_name: 'Esther',\r\n long_name: 'Book of Esther',\r\n last_chapter: 10,\r\n chapters: [0, 22, 23, 15, 17, 14, 14, 10, 17, 32, 3]\r\n },\r\n {\r\n book_number: 18,\r\n name: 'Job',\r\n short_name: 'Job',\r\n long_name: 'Book of Job',\r\n last_chapter: 42,\r\n chapters: [0, 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17]\r\n },\r\n {\r\n book_number: 19,\r\n name: 'Psalms',\r\n short_name: 'Psalm',\r\n long_name: 'Book of Psalms',\r\n last_chapter: 150,\r\n chapters: [0, 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6]\r\n },\r\n {\r\n book_number: 20,\r\n name: 'Proverbs',\r\n short_name: 'Prov',\r\n long_name: 'Book of Proverbs',\r\n last_chapter: 31,\r\n chapters: [0, 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31]\r\n },\r\n {\r\n book_number: 21,\r\n name: 'Ecclesiastes',\r\n short_name: 'Eccl',\r\n long_name: 'Book of Ecclesiastes',\r\n last_chapter: 12,\r\n chapters: [0, 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]\r\n },\r\n {\r\n book_number: 22,\r\n name: 'Song of Solomon',\r\n short_name: 'Song',\r\n long_name: 'Song of Solomon',\r\n last_chapter: 8,\r\n chapters: [0, 17, 17, 11, 16, 16, 13, 13, 14]\r\n },\r\n {\r\n book_number: 23,\r\n name: 'Isaiah',\r\n short_name: 'Isa',\r\n long_name: 'Book of Isaiah',\r\n last_chapter: 66,\r\n chapters: [0, 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24]\r\n },\r\n {\r\n book_number: 24,\r\n name: 'Jeremiah',\r\n short_name: 'Jer',\r\n long_name: 'Book of Jeremiah',\r\n last_chapter: 52,\r\n chapters: [0, 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34]\r\n },\r\n {\r\n book_number: 25,\r\n name: 'Lamentations',\r\n short_name: 'Lam',\r\n long_name: 'Book of Lamentations',\r\n last_chapter: 5,\r\n chapters: [0, 22, 22, 66, 22, 22]\r\n },\r\n {\r\n book_number: 26,\r\n name: 'Ezekiel',\r\n short_name: 'Eze',\r\n long_name: 'Book of Ezekiel',\r\n last_chapter: 48,\r\n chapters: [0, 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35]\r\n },\r\n {\r\n book_number: 27,\r\n name: 'Daniel',\r\n short_name: 'Dan',\r\n long_name: 'Book of Daniel',\r\n last_chapter: 12,\r\n chapters: [0, 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]\r\n },\r\n {\r\n book_number: 28,\r\n name: 'Hosea',\r\n short_name: 'Hosea',\r\n long_name: 'Book of Hosea',\r\n last_chapter: 14,\r\n chapters: [0, 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]\r\n },\r\n {\r\n book_number: 29,\r\n name: 'Joel',\r\n short_name: 'Joel',\r\n long_name: 'Book of Joel',\r\n last_chapter: 3,\r\n chapters: [0, 20, 32, 21]\r\n },\r\n {\r\n book_number: 30,\r\n name: 'Amos',\r\n short_name: 'Amos',\r\n long_name: 'Book of Amos',\r\n last_chapter: 9,\r\n chapters: [0, 15, 16, 15, 13, 27, 14, 17, 14, 15]\r\n },\r\n {\r\n book_number: 31,\r\n name: 'Obadiah',\r\n short_name: 'Oba',\r\n long_name: 'Book of Obadiah',\r\n last_chapter: 1,\r\n chapters: [0, 21]\r\n },\r\n {\r\n book_number: 32,\r\n name: 'Jonah',\r\n short_name: 'Jonah',\r\n long_name: 'Book of Jonah',\r\n last_chapter: 4,\r\n chapters: [0, 17, 10, 10, 11]\r\n },\r\n {\r\n book_number: 33,\r\n name: 'Micah',\r\n short_name: 'Micah',\r\n long_name: 'Book of Micah',\r\n last_chapter: 7,\r\n chapters: [0, 16, 13, 12, 13, 15, 16, 20]\r\n },\r\n {\r\n book_number: 34,\r\n name: 'Nahum',\r\n short_name: 'Nahum',\r\n long_name: 'Book of Nahum',\r\n last_chapter: 3,\r\n chapters: [0, 15, 13, 19]\r\n },\r\n {\r\n book_number: 35,\r\n name: 'Habakkuk',\r\n short_name: 'Hab',\r\n long_name: 'Book of Habakkuk',\r\n last_chapter: 3,\r\n chapters: [0, 17, 20, 19]\r\n },\r\n {\r\n book_number: 36,\r\n name: 'Zephaniah',\r\n short_name: 'Zeph',\r\n long_name: 'Book of Zephaniah',\r\n last_chapter: 3,\r\n chapters: [0, 18, 15, 20]\r\n },\r\n {\r\n book_number: 37,\r\n name: 'Haggai',\r\n short_name: 'Hag',\r\n long_name: 'Book of Haggai',\r\n last_chapter: 2,\r\n chapters: [0, 15, 23]\r\n },\r\n {\r\n book_number: 38,\r\n name: 'Zechariah',\r\n short_name: 'Zech',\r\n long_name: 'Book of Zechariah',\r\n last_chapter: 14,\r\n chapters: [0, 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]\r\n },\r\n {\r\n book_number: 39,\r\n name: 'Malachi',\r\n short_name: 'Mal',\r\n long_name: 'Book of Malachi',\r\n last_chapter: 4,\r\n chapters: [0, 14, 17, 18, 6]\r\n },\r\n {\r\n book_number: 40,\r\n name: 'Matthew',\r\n short_name: 'Matt',\r\n long_name: 'Gospel of Matthew',\r\n last_chapter: 28,\r\n chapters: [0, 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20]\r\n },\r\n {\r\n book_number: 41,\r\n name: 'Mark',\r\n short_name: 'Mark',\r\n long_name: 'Gospel of Mark',\r\n last_chapter: 16,\r\n chapters: [0, 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]\r\n },\r\n {\r\n book_number: 42,\r\n name: 'Luke',\r\n short_name: 'Luke',\r\n long_name: 'Gospel of Luke',\r\n last_chapter: 24,\r\n chapters: [0, 80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]\r\n },\r\n {\r\n book_number: 43,\r\n name: 'John',\r\n short_name: 'John',\r\n long_name: 'Gospel of John',\r\n last_chapter: 21,\r\n chapters: [0, 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]\r\n },\r\n {\r\n book_number: 44,\r\n name: 'Acts',\r\n short_name: 'Acts',\r\n long_name: 'Acts of the Apostles',\r\n last_chapter: 28,\r\n chapters: [0, 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31]\r\n },\r\n {\r\n book_number: 45,\r\n name: 'Romans',\r\n short_name: 'Rom',\r\n long_name: 'Epistle to the Romans',\r\n last_chapter: 16,\r\n chapters: [0, 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]\r\n },\r\n {\r\n book_number: 46,\r\n name: '1 Corinthians',\r\n short_name: '1 Cor',\r\n long_name: 'First Epistle to the Corinthians',\r\n last_chapter: 16,\r\n chapters: [0, 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]\r\n },\r\n {\r\n book_number: 47,\r\n name: '2 Corinthians',\r\n short_name: '2 Cor',\r\n long_name: 'Second Epistle to the Corinthians',\r\n last_chapter: 13,\r\n chapters: [0, 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]\r\n },\r\n {\r\n book_number: 48,\r\n name: 'Galatians',\r\n short_name: 'Gal',\r\n long_name: 'Epistle to the Galatians',\r\n last_chapter: 6,\r\n chapters: [0, 24, 21, 29, 31, 26, 18]\r\n },\r\n {\r\n book_number: 49,\r\n name: 'Ephesians',\r\n short_name: 'Eph',\r\n long_name: 'Epistle to the Ephesians',\r\n last_chapter: 6,\r\n chapters: [0, 23, 22, 21, 32, 33, 24]\r\n },\r\n {\r\n book_number: 50,\r\n name: 'Philippians',\r\n short_name: 'Phil',\r\n long_name: 'Epistle to the Philippians',\r\n last_chapter: 4,\r\n chapters: [0, 30, 30, 21, 23]\r\n },\r\n {\r\n book_number: 51,\r\n name: 'Colossians',\r\n short_name: 'Col',\r\n long_name: 'Epistle to the Colossians',\r\n last_chapter: 4,\r\n chapters: [0, 29, 23, 25, 18]\r\n },\r\n {\r\n book_number: 52,\r\n name: '1 Thessalonians',\r\n short_name: '1 Thes',\r\n long_name: 'First Epistle to the Thessalonians',\r\n last_chapter: 5,\r\n chapters: [0, 10, 20, 13, 18, 28]\r\n },\r\n {\r\n book_number: 53,\r\n name: '2 Thessalonians',\r\n short_name: '2 Thes',\r\n long_name: 'Second Epistle to the Thessalonians',\r\n last_chapter: 3,\r\n chapters: [0, 12, 17, 18]\r\n },\r\n {\r\n book_number: 54,\r\n name: '1 Timothy',\r\n short_name: '1 Tim',\r\n long_name: 'First Epistle to Timothy',\r\n last_chapter: 6,\r\n chapters: [0, 20, 15, 16, 16, 25, 21]\r\n },\r\n {\r\n book_number: 55,\r\n name: '2 Timothy',\r\n short_name: '2 Tim',\r\n long_name: 'Second Epistle to Timothy',\r\n last_chapter: 4,\r\n chapters: [0, 18, 26, 17, 22]\r\n },\r\n {\r\n book_number: 56,\r\n name: 'Titus',\r\n short_name: 'Titis',\r\n long_name: 'Epistle to Titus',\r\n last_chapter: 3,\r\n chapters: [0, 16, 15, 15]\r\n },\r\n {\r\n book_number: 57,\r\n name: 'Philemon',\r\n short_name: 'Phi',\r\n long_name: 'Epistle to Philemon',\r\n last_chapter: 1,\r\n chapters: [0, 25]\r\n },\r\n {\r\n book_number: 58,\r\n name: 'Hebrews',\r\n short_name: 'Heb',\r\n long_name: 'Epistle to the Hebrews',\r\n last_chapter: 13,\r\n chapters: [0, 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]\r\n },\r\n {\r\n book_number: 59,\r\n name: 'James',\r\n short_name: 'James',\r\n long_name: 'Epistle of James',\r\n last_chapter: 5,\r\n chapters: [0, 27, 26, 18, 17, 20]\r\n },\r\n {\r\n book_number: 60,\r\n name: '1 Peter',\r\n short_name: '1 Pe',\r\n long_name: 'First Epistle of Peter',\r\n last_chapter: 5,\r\n chapters: [0, 25, 25, 22, 19, 14]\r\n },\r\n {\r\n book_number: 61,\r\n name: '2 Peter',\r\n short_name: '2 Pe',\r\n long_name: 'Second Epistle of Peter',\r\n last_chapter: 3,\r\n chapters: [0, 21, 22, 18]\r\n },\r\n {\r\n book_number: 62,\r\n name: '1 John',\r\n short_name: '1 Jn',\r\n long_name: 'First Epistle of John',\r\n last_chapter: 5,\r\n chapters: [0, 10, 29, 24, 21, 21]\r\n },\r\n {\r\n book_number: 63,\r\n name: '2 John',\r\n short_name: '2 Jn',\r\n long_name: 'Second Epistle of John',\r\n last_chapter: 1,\r\n chapters: [0, 13]\r\n },\r\n {\r\n book_number: 64,\r\n name: '3 John',\r\n short_name: '3 Jn',\r\n long_name: 'Third Epistle of John',\r\n last_chapter: 1,\r\n chapters: [0, 14]\r\n },\r\n {\r\n book_number: 65,\r\n name: 'Jude',\r\n short_name: 'Jude',\r\n long_name: 'Epistle to Jude',\r\n last_chapter: 1,\r\n chapters: [0, 25]\r\n },\r\n {\r\n book_number: 66,\r\n name: 'Revelation',\r\n short_name: 'Rev',\r\n long_name: 'Book of Revelations',\r\n last_chapter: 22,\r\n chapters: [0, 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]\r\n }\r\n ];\r\n\r\n public static bookName(booknum: number): Book\r\n {\r\n return this.Books[booknum];\r\n }\r\n}\r\n\r\nexport type Book = {\r\n name: string,\r\n short_name: string,\r\n long_name: string,\r\n book_number: number,\r\n last_chapter: number,\r\n chapters: [number],\r\n};\r\n\r\nexport type Section = {\r\n start: Location,\r\n end: Location,\r\n};\r\n\r\nexport type Location = {\r\n book: Book,\r\n chapter: string,\r\n verse: string,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Reference.ts","import { Component, ViewChild } from '@angular/core';\nimport { Platform, MenuController, Nav } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { SearchPage } from '../pages/search/search';\n\nimport { PagesService } from '../services/pages-service';\n\n@Component({\n templateUrl: 'app.html',\n providers: [PagesService]\n})\nexport class MyApp\n{\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = SearchPage;\n\n constructor(\n public platform: Platform,\n public menu: MenuController,\n private statusBar: StatusBar,\n private splash: SplashScreen,\n private pagesSvc: PagesService\n )\n {\n this.initializeApp();\n }\n\n initializeApp()\n {\n this.platform.ready().then(() =>\n {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this.statusBar.styleDefault();\n this.splash.hide();\n });\n }\n\n openPage(page)\n {\n // close the menu when clicking a link from the menu\n this.menu.close('pages');\n \n // because the actions menu is on a Page component, and you swap the SearchPage out,\n // the menu get registered multiple times. to avoid some pages not opening the menu because\n // multiple menus with the same id exist and the first one in the list is returned (which happens\n // be disabled when another of the same id is added) it won't show. because not enabled.\n // ---\n // unregistering the actions menu whenever a new page is opened fixes the problem, because the menu\n // will get reregistered when SearchPage loads. Also, if you go to a non SearchPage, the actions\n // menu won't be there, but the unregister function doesn't fail if a non existent id is given,\n // so thats ok.\n this.menu._unregister(this.menu.get('actions'));\n\n // navigate to the new page if it is not the current page\n this.nav.setRoot(page.component, page.params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","// our root app component\r\nimport {Component, Compiler, ViewContainerRef, ViewChild, Input, ComponentRef, ComponentFactoryResolver, ChangeDetectorRef} from '@angular/core'\r\n\r\n// Helper component to add dynamic components\r\n@Component({\r\n selector: 'component-loader',\r\n template: `
`\r\n})\r\nexport class ComponentLoader {\r\n @ViewChild('target', { read: ViewContainerRef }) target;\r\n @Input() type;\r\n @Input() data;\r\n cmpRef: ComponentRef;\r\n private isViewInitialized = false;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private compiler: Compiler,\r\n private cdRef: ChangeDetectorRef) { }\r\n\r\n updateComponent() {\r\n if (!this.isViewInitialized) {\r\n return;\r\n }\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.type);\r\n this.cmpRef = this.target.createComponent(factory);\r\n // to access the created instance use\r\n // this.compRef.instance.someProperty = 'someValue';\r\n // this.compRef.instance.someOutput.subscribe(val => doSomething());\r\n \r\n this.cmpRef.instance.item = this.data;\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateComponent();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.isViewInitialized = true;\r\n this.updateComponent();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n }\r\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/component-loader/component-loader.ts","import { Component, EventEmitter, Output, Input, OnInit, ElementRef } from '@angular/core';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { BiblePassageResult, BibleService, BiblePassage, BibleVerse, HashTable, Paragraph } from '../../services/bible-service';\nimport { Reference } from '../../libs/Reference';\n\n@Component({\n selector: 'passage',\n templateUrl: 'passage.html',\n providers: [BibleService]\n})\nexport class Passage implements OnInit\n{\n @Output()\n onItemClicked = new EventEmitter();\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n @Input()\n versesOnNewLine: boolean;\n\n @Input()\n showVerseNumbers: boolean;\n\n data: BiblePassageResult;\n ref: Reference;\n\n constructor(private bibleService: BibleService, private elementRef: ElementRef)\n {\n }\n\n ngOnInit(): void\n {\n this.ref = new Reference(this.cardItem.qry);\n this.bibleService.getResultAsPromise(this.ref.Section).then(data => this.data = data);\n }\n\n close()\n {\n let d = 250;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() =>\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n next()\n {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)].toString();\n\n if (this.ref.Section.end.verse !== '*' && this.ref.Section.end.verse !== last_verse_for_end)\n this.ref.Section.end.chapter = this.ref.Section.end.chapter;\n else\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n\n this.ref.Section.start.chapter = this.ref.Section.end.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.data = data;\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n prev()\n {\n if (this.ref.Section.start.verse !== '1')\n this.ref.Section.start.chapter = this.ref.Section.start.chapter;\n else\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n\n this.ref.Section.end.chapter = this.ref.Section.start.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.data = data;\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n expand()\n {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)];\n\n // if your verse is at the beginning, to go the prev chapter and add 3 verses from that\n if (parseInt(this.ref.Section.start.verse) < 4)\n {\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n this.ref.Section.start.verse = '*-' + (3 - parseInt(this.ref.Section.start.verse));\n if (this.ref.Section.start.chapter === '0')\n {\n this.ref.Section.start.chapter = '1';\n this.ref.Section.start.verse = '1';\n }\n }\n else // or go back 3 verses\n this.ref.Section.start.verse = (parseInt(this.ref.Section.start.verse) - 3).toString();\n\n // if your verse is at the end, go to the next chapter\n if (this.ref.Section.end.verse === '*' || parseInt(this.ref.Section.end.verse) + 3 > last_verse_for_end)\n {\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n if (this.ref.Section.end.verse === '*')\n this.ref.Section.end.verse = '3';\n else\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3 - last_verse_for_end).toString();\n\n if (this.ref.Section.end.chapter === (this.ref.Section.end.book.last_chapter + 1).toString())\n {\n this.ref.Section.end.chapter = this.ref.Section.end.book.last_chapter.toString();\n this.ref.Section.end.verse = last_verse_for_end.toString();\n }\n }\n else // or add 3 verses\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3).toString();\n\n if (this.ref.Section.start.verse === '0')\n this.ref.Section.start.verse = '1';\n\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.data = data;\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n openStrongs(strongs: string)\n {\n this.onItemClicked.emit({ card: this.cardItem, qry: this.cardItem.dict + strongs, from_search_bar: false });\n }\n\n openMenu(strongs: string)\n {\n }\n\n isPunct(c: string)\n {\n return new RegExp('^[\\.\\,\\;\\:\\?\\!]$').test(c);\n }\n\n hasHeader(p: Paragraph)\n {\n if (p === undefined)\n return false;\n\n return p.h.length > 0;\n }\n\n isPara(vs: BibleVerse)\n {\n return this.getRefKey(vs) in BibleService.paragraphs;\n }\n\n getRefKey(vs: BibleVerse)\n {\n return this.ref.Section.start.book.book_number + ';' + this.ref.Section.start.chapter + ';' + vs.v;\n }\n\n getParas(ch: BiblePassage)\n {\n // group the verses into paragraphs.\n\n // create an initial paragraph to hold verses that might come before a paragraph.\n let para: BiblePara = { p: { h: '', p: 0 }, vss: [] };\n let paras: BiblePara[] = [];\n\n // for each verse in the chapter, break them into paragraphs.\n for (let v of ch.vss)\n {\n if (this.isPara(v))\n {\n paras.push(para);\n para = { p: BibleService.paragraphs[this.getRefKey(v)], vss: [v] };\n if (para.p === undefined)\n para.p = { h: '', p: 0 }; // just in case you can't find a paragraph.\n }\n else\n {\n para.vss.push(v);\n }\n }\n\n // add the final paragraph if it has verses.\n if (para.vss.length > 0)\n paras.push(para);\n\n return paras;\n }\n}\n\ntype BiblePara = {\n p: Paragraph,\n vss: BibleVerse[],\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/passage/passage.ts","/// \r\n/// \r\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\nimport { Section, Reference } from '../libs/Reference';\r\n\r\n@Injectable()\r\nexport class BibleService\r\n{\r\n chapters: BiblePassage[];\r\n result: BiblePassageResult;\r\n static paragraphs: HashTable;\r\n count = 0;\r\n $: any;\r\n\r\n constructor(private http: Http)\r\n {\r\n this.getParagraphMarkersAsPromise()\r\n }\r\n\r\n getParagraphMarkersAsPromise(): Promise>\r\n {\r\n return new Promise((resolve) => { resolve(this.getParagraphMarkers()); });\r\n }\r\n\r\n getParagraphMarkers() : HashTable\r\n {\r\n try\r\n {\r\n if (BibleService.paragraphs !== undefined && '1;1;1' in BibleService.paragraphs)\r\n return BibleService.paragraphs;\r\n\r\n const self = this;\r\n\r\n const url = 'data/bibles/paras.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: HashTable)\r\n {\r\n BibleService.paragraphs = d;\r\n },\r\n error()\r\n {\r\n console.log('Unable to retrieve paragraphs.');\r\n }\r\n });\r\n\r\n return BibleService.paragraphs;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n\r\n getResultAsPromise(section: Section): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(section)); });\r\n }\r\n\r\n getResult(section: Section): BiblePassageResult\r\n {\r\n try\r\n {\r\n const self = this;\r\n this.chapters = []; // the verses from the chapter.\r\n this.result = {\r\n cs: [],\r\n testament: '',\r\n ref: Reference.toString(section),\r\n status: 0,\r\n msg: ':)'\r\n };\r\n\r\n if (Number(section.start.chapter) > section.start.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.start.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.start.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n if (Number(section.end.chapter) > section.end.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.end.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.end.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n this.count = Number(section.end.chapter) - Number(section.start.chapter) + 1;\r\n\r\n for (let i = Number(section.start.chapter); i <= Number(section.end.chapter); i++)\r\n {\r\n const url = 'data/bibles/kjv_strongs/' + section.start.book.book_number + '-' + i + '.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: BiblePassage)\r\n {\r\n self.chapters.push(d);\r\n },\r\n error()\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve bible passage ' + self.result.ref + '.';\r\n }\r\n });\r\n }\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n for (let j = 0; j < this.chapters.length; j++)\r\n {\r\n const vss: BibleVerse[] = [];\r\n let start: number;\r\n let end;\r\n\r\n // figure out the start verse.\r\n if (j === 0)\r\n {\r\n if (section.start.verse.indexOf('*') !== -1) // you sometimes use this as a shortcut to the last verse\r\n {\r\n // replace the * with the last verse, then eval the expression.\r\n section.start.verse = section.start.verse.replace('*', (this.chapters[j].vss.length).toString());\r\n\r\n start = math.eval(section.start.verse);\r\n\r\n // update the section and the ref.\r\n section.start.verse = start.toString();\r\n this.result.ref = Reference.toString(section);\r\n }\r\n else\r\n start = parseInt(section.start.verse);\r\n }\r\n else\r\n start = 1;\r\n\r\n // figure out the end verse\r\n if ((j + 1) === this.chapters.length)\r\n end = section.end.verse;\r\n else\r\n end = '*';\r\n\r\n // get the verses requested.\r\n const tvs = this.chapters[j].vss.length;\r\n if (end === '*' || parseInt(end) > tvs)\r\n end = tvs;\r\n\r\n // we're using c based indexes here, so the index is 1 less than the verse #.\r\n for (let i = start; i <= end; i++)\r\n vss.push(this.chapters[j].vss[i - 1]);\r\n\r\n this.result.cs.push({\r\n ch: this.chapters[j].ch,\r\n vss: vss\r\n });\r\n }\r\n\r\n\r\n if (section.start.book.book_number >= 40)\r\n this.result.testament = 'new';\r\n else\r\n this.result.testament = 'old';\r\n\r\n return this.result;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport type BiblePassageResult = {\r\n cs: BiblePassage[],\r\n testament: string,\r\n ref: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\nexport type BiblePassage = {\r\n ch: number,\r\n vss: BibleVerse[],\r\n}\r\n\r\nexport type BibleVerse = {\r\n v: number,\r\n w: [\r\n {\r\n t: string, s: string,\r\n }\r\n ],\r\n}\r\n\r\nexport type Paragraph = {\r\n h: string,\r\n p: number\r\n}\r\n\r\nexport interface HashTable\r\n{\r\n [key: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/bible-service.ts","import { HostListener, EventEmitter, Component, Input, Output, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\nimport { Reference } from '../../libs/Reference';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { StrongsResult, StrongsService } from '../../services/strongs-service';\n\n@Component({\n selector: 'strongs',\n templateUrl: 'strongs.html',\n providers: [StrongsService]\n})\nexport class Strongs implements AfterViewChecked, OnInit\n{\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n data: StrongsResult;\n\n constructor(private strongsService: StrongsService, private elementRef: ElementRef)\r\n {\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(evt)\r\n {\n $('strongs ion-scroll').each((i, el) =>\r\n {\r\n let len = $(el).find('.scroll-content .scroll-zoom-wrapper dl span').length;\r\n len += $(el).find('.scroll-content .scroll-zoom-wrapper dl dd').length;\r\n\r\n if (len < 20)\r\n $(el).css('height', Math.ceil(len / 3) * 30 + 30);\r\n });\r\n }\n\n ngAfterViewChecked(): void\n {\r\n this.onResize(null);\r\n }\n\r\n ngOnInit(): void\r\n {\r\n this.strongsService.getResultAsPromise(parseInt(this.cardItem.qry), this.cardItem.dict)\r\n .then(data =>\r\n this.data = data\r\n );\r\n }\n\n close()\n {\r\n const d = 275;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() =>\r\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\r\n openItem(p: string)\r\n {\n this.onItemClicked.emit({ card: this.cardItem, qry: p, from_search_bar: false });\n }\n\n makePassage(p: string)\r\n {\n return Reference.bookName(parseInt(p.split(';')[0])).name + ' ' + p.split(';')[1] + ':' + p.split(';')[2];\n }\n\n openPassage(p: string)\n {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs/strongs.ts","/// \nimport { HostListener, EventEmitter, Component, Input, Output, AfterViewChecked, OnInit, ElementRef } from '@angular/core';\nimport { Reference } from '../../libs/Reference';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { WordLookupResult, WordService } from '../../services/word-service';\n\n@Component({\n selector: 'words',\n templateUrl: 'words.html',\n providers: [WordService]\n})\nexport class Words implements AfterViewChecked, OnInit\n{\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n $: any;\n\n data: WordLookupResult;\n\n constructor(private wordService: WordService, private elementRef: ElementRef)\r\n {\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(evt)\r\n {\n $('words ion-scroll').each((i, el) =>\r\n {\r\n const wr = $(el).find('.scroll-content .scroll-zoom-wrapper')[0];\r\n const len = $(el).find('.scroll-zoom-wrapper a').length;\r\n\r\n if (wr.scrollWidth < 500) // 1 col\r\n {\r\n // 5 rows\r\n len < 6 ? $(el).css('height', len * 44.4 + 25) : $(el).css('height', 250);\n }\r\n else if (wr.scrollWidth < 699) // 2 col\r\n {\r\n // 6 rows\r\n len < 13 ? $(el).css('height', Math.ceil(len / 2) * 44.4 + 25) : $(el).css('height', 300);\r\n }\r\n else if (wr.scrollWidth < 799) // 3 col\r\n {\r\n // 7 rows\r\n len < 22 ? $(el).css('height', Math.ceil(len / 3) * 44.4 + 25) : $(el).css('height', 350);\r\n }\r\n else if (wr.scrollWidth < 899) // 4 col\r\n {\r\n // 7 rows\r\n len < 29 ? $(el).css('height', Math.ceil(len / 4) * 44.4 + 25) : $(el).css('height', 375);\r\n }\r\n else if (wr.scrollWidth < 1199) // 5 col\r\n {\r\n // 8 rows\r\n len < 41 ? $(el).css('height', Math.ceil(len / 5) * 44.4 + 25) : $(el).css('height', 400);\r\n }\r\n else // 6 col\r\n {\r\n // 8 rows\r\n len < 49 ? $(el).css('height', Math.ceil(len / 6) * 44.4 + 25) : $(el).css('height', 425);\r\n }\r\n });\r\n }\n public ngAfterViewChecked(): void\n {\r\n this.onResize(null);\r\n }\n\n ngOnInit(): void\r\n {\r\n this.wordService.getResultAsPromise(this.cardItem.qry).then(data =>\r\n this.data = data\r\n );\r\n }\r\n\r\n close()\r\n {\n const d = 275;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() =>\r\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n makePassage(p: string)\n {\n return Reference.bookName(parseInt(p.split(':')[0])).name + ' ' + p.split(':')[1] + ':' + p.split(':')[2];\n }\n\n openPassage(p: string)\n {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/words/words.ts","/// \r\nimport { stemmer } from '../libs/Stemmer';\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\n\r\n@Injectable()\r\nexport class WordService\r\n{\r\n\r\n wordToStem: Map = {};\n\r\n constructor(private http: Http)\r\n {\r\n this.getStemWordIndex();\r\n }\r\n\r\n normalizeQueryString(qry: string): string[]\r\n {\r\n qry = qry.toLowerCase();\r\n return qry.replace(/'/g, '').replace(/\\s+/g, ' ').split(' ');\r\n }\r\n\r\n getResultAsPromise(qry: string): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(qry)); });\r\n }\r\n\r\n getResult(qry: string): WordLookupResult\r\n {\r\n const qs = this.normalizeQueryString(qry);\r\n const words = this.buildIndexArray().sort();\r\n const results = new Array();\r\n\r\n // Loop through each query term.\r\n for (let q of qs)\r\n {\r\n const stem = this.wordToStem[q];\r\n\r\n // For each query term, figure out which xml file it is in, and get it.\r\n // getSearchRefs returns an array of references.\r\n for (let w = 0; w < words.length; w++)\r\n {\r\n // If we are at the end of the array, we want to use a different test.\r\n if (w === 0)\r\n {\r\n if (stem <= words[w])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n if (stem <= words[w] && stem > words[w - 1])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n }\r\n } // End of loop through query terms\r\n\r\n // Now we need to test results. If there is more than one item in the array, we need to find the set\r\n // that is shared by all of them. IF not, we can just return those refs.\r\n if (results.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n let shared: string[];\r\n if (results.length === 1)\r\n {\r\n shared = results[0];\r\n }\r\n else\r\n {\r\n shared = this.findSharedSet(results);\r\n }\r\n\r\n if (shared == null || shared.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n return { word: qry, refs: shared, status: 0, msg: ':)' };\r\n }\r\n \r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getStemWordIndex()\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: WordToStem[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/index/word_to_stem_idx.json',\r\n dataType: 'json',\r\n success(d: WordToStem[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\n for (let i of r)\r\n {\r\n this.wordToStem[i.w] = i.s;\r\n }\r\n }\n\r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getSearchReferences(url, query): string[]\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: IndexResult[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: IndexResult[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\r\n const refs = $.grep(r, (o) => o.w === query);\r\n\r\n if (refs.length > 0)\r\n return refs[0].r;\r\n else\r\n return [];\r\n }\r\n\r\n private buildIndexArray()\r\n {\r\n const words = new Array();\r\n words.unshift('abishur');\r\n words.unshift('achor');\r\n words.unshift('adoni');\r\n words.unshift('afterward');\r\n words.unshift('ahishahar');\r\n words.unshift('alleg');\r\n words.unshift('ambush');\r\n words.unshift('ancestor');\r\n words.unshift('aphik');\r\n words.unshift('arbah');\r\n words.unshift('arodi');\r\n words.unshift('ashkenaz');\r\n words.unshift('ate');\r\n words.unshift('azaniah');\r\n words.unshift('backbiteth');\r\n words.unshift('barbarian');\r\n words.unshift('beard');\r\n words.unshift('begettest');\r\n words.unshift('benefactor');\r\n words.unshift('bethel');\r\n words.unshift('bilshan');\r\n words.unshift('blindeth');\r\n words.unshift('booti');\r\n words.unshift('breaketh');\r\n words.unshift('bucket');\r\n words.unshift('cabbon');\r\n words.unshift('caphtor');\r\n words.unshift('causeless');\r\n words.unshift('chapmen');\r\n words.unshift('chese');\r\n words.unshift('chrysoprasus');\r\n words.unshift('cloth');\r\n words.unshift('common');\r\n words.unshift('confess');\r\n words.unshift('contendeth');\r\n words.unshift('coucheth');\r\n words.unshift('crept');\r\n words.unshift('curseth');\r\n words.unshift('darius');\r\n words.unshift('decketh');\r\n words.unshift('dema');\r\n words.unshift('devil');\r\n words.unshift('directeth');\r\n words.unshift('disposit');\r\n words.unshift('doth');\r\n words.unshift('drowsi');\r\n words.unshift('ebe');\r\n words.unshift('elead');\r\n words.unshift('elkoshit');\r\n words.unshift('encourag');\r\n words.unshift('entreat');\r\n words.unshift('eschew');\r\n words.unshift('ever');\r\n words.unshift('expert');\r\n words.unshift('fallest');\r\n words.unshift('feedeth');\r\n words.unshift('filthi');\r\n words.unshift('fleeth');\r\n words.unshift('forborn');\r\n words.unshift('forsookest');\r\n words.unshift('fretteth');\r\n words.unshift('gahar');\r\n words.unshift('gazzam');\r\n words.unshift('gibea');\r\n words.unshift('glister');\r\n words.unshift('got');\r\n words.unshift('grope');\r\n words.unshift('hadlai');\r\n words.unshift('hammon');\r\n words.unshift('harbona');\r\n words.unshift('hasrah');\r\n words.unshift('hazezon');\r\n words.unshift('heinous');\r\n words.unshift('herebi');\r\n words.unshift('highest');\r\n words.unshift('holdeth');\r\n words.unshift('hosanna');\r\n words.unshift('huri');\r\n words.unshift('ill');\r\n words.unshift('inexcus');\r\n words.unshift('intend');\r\n words.unshift('ishui');\r\n words.unshift('jaazaniah');\r\n words.unshift('jaminit');\r\n words.unshift('jecoliah');\r\n words.unshift('jeopard');\r\n words.unshift('jethro');\r\n words.unshift('joiarib');\r\n words.unshift('juda');\r\n words.unshift('kelaiah');\r\n words.unshift('kishion');\r\n words.unshift('laden');\r\n words.unshift('laughter');\r\n words.unshift('lehi');\r\n words.unshift('lift');\r\n words.unshift('loatheth');\r\n words.unshift('lucius');\r\n words.unshift('madmen');\r\n words.unshift('malachi');\r\n words.unshift('march');\r\n words.unshift('maul');\r\n words.unshift('melchizedek');\r\n words.unshift('merrili');\r\n words.unshift('midianit');\r\n words.unshift('miri');\r\n words.unshift('modest');\r\n words.unshift('move');\r\n words.unshift('naashon');\r\n words.unshift('nazareth');\r\n words.unshift('nephishesim');\r\n words.unshift('nisan');\r\n words.unshift('obadiah');\r\n words.unshift('oliveyard');\r\n words.unshift('oren');\r\n words.unshift('overrun');\r\n words.unshift('pallu');\r\n words.unshift('pas');\r\n words.unshift('peel');\r\n words.unshift('pernici');\r\n words.unshift('philip');\r\n words.unshift('pison');\r\n words.unshift('plucketh');\r\n words.unshift('pour');\r\n words.unshift('price');\r\n words.unshift('proport');\r\n words.unshift('purg');\r\n words.unshift('rabboni');\r\n words.unshift('ravish');\r\n words.unshift('redeemedst');\r\n words.unshift('remainest');\r\n words.unshift('reput');\r\n words.unshift('revers');\r\n words.unshift('rissah');\r\n words.unshift('ruddi');\r\n words.unshift('said');\r\n words.unshift('sapphir');\r\n words.unshift('scepter');\r\n words.unshift('secundus');\r\n words.unshift('separ');\r\n words.unshift('shachia');\r\n words.unshift('sharar');\r\n words.unshift('sheepshear');\r\n words.unshift('sheva');\r\n words.unshift('shishak');\r\n words.unshift('shroud');\r\n words.unshift('signifi');\r\n words.unshift('sittest');\r\n words.unshift('slow');\r\n words.unshift('soft');\r\n words.unshift('sowedst');\r\n words.unshift('spoil');\r\n words.unshift('station');\r\n words.unshift('stoop');\r\n words.unshift('strongest');\r\n words.unshift('sum');\r\n words.unshift('sweep');\r\n words.unshift('tahapan');\r\n words.unshift('tast');\r\n words.unshift('ten');\r\n words.unshift('thereat');\r\n words.unshift('threaten');\r\n words.unshift('timbrel');\r\n words.unshift('tongu');\r\n words.unshift('travailest');\r\n words.unshift('trust');\r\n words.unshift('uncircumcis');\r\n words.unshift('unprepar');\r\n words.unshift('urg');\r\n words.unshift('vat');\r\n words.unshift('visiteth');\r\n words.unshift('wash');\r\n words.unshift('wed');\r\n words.unshift('wherewith');\r\n words.unshift('winepress');\r\n words.unshift('won');\r\n words.unshift('written');\r\n words.unshift('zalmonah');\r\n words.unshift('zenan');\r\n words.unshift('ziphim');\r\n words.unshift('zuzim');\n\r\n return words;\r\n }\r\n\r\n /*\r\n * Returns a list of references in string form as a string[] that are shared\r\n * given a list of lists of references in string form.\r\n */\r\n private findSharedSet(results)\r\n {\r\n // FindSharedSet takes an array of reference arrays, and figures out\r\n // which references are shared by all arrays/sets, then returns a single\r\n // array of references.\r\n for (let j in results)\r\n {\r\n if (results.hasOwnProperty(j))\r\n {\r\n const refs = results[j];\r\n if (refs != null)\r\n {\r\n for (let i = 0; i < refs.length; i++)\r\n {\r\n const r = refs[i].split(':');\r\n // convert references to single integers.\r\n // Book * 100000000, Chapter * 10000, Verse remains same, add all together.\r\n let ref = r[0] * 100000000;\r\n ref = ref + (r[1] * 10000);\r\n ref = ref + r[2] * 1;\r\n results[j][i] = ref;\r\n }\r\n } else\r\n return null;\r\n }\r\n }\r\n\r\n // get the first result\r\n let result = results[0];\r\n\r\n // for each additional result, get the shared set\r\n for (let i = 1; i < results.length; i++)\r\n result = this.returnSharedSet(results[i], result);\r\n\r\n // convert the references back into book, chapter and verse.\r\n for (let i = 0; i < result.length; i++)\r\n {\r\n const ref = result[i];\r\n result[i] = Math.floor(ref / 100000000) + ':' + Math.floor((ref % 100000000) / 10000) + ':' + Math.floor((ref % 100000000) % 10000);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private returnSharedSet(x, y)\r\n {\r\n /// \r\n /// Takes two javascript arrays and returns an array\r\n /// containing a set of values shared by arrays.\r\n /// \r\n // declare iterator\r\n let i = 0;\r\n // declare terminator\r\n let t = (x.length < y.length) ? x.length : y.length;\r\n // sort the arrays\r\n x.sort((a, b) => a - b);\r\n y.sort((a, b) => a - b);\r\n // in this loop, we remove from the arrays, the\r\n // values that aren't shared between them.\r\n while (i < t)\r\n {\r\n if (x[i] === y[i])\r\n i++;\r\n\r\n if (x[i] < y[i])\r\n x.splice(i, 1);\r\n\r\n if (x[i] > y[i])\r\n y.splice(i, 1);\r\n\r\n t = (x.length < y.length) ? x.length : y.length;\r\n // we have to make sure to remove any extra values\r\n // at the end of an array when we reach the end of\r\n // the other.\r\n if (t === i && t < x.length)\r\n x.splice(i, x.length - i);\r\n\r\n if (t === i && t < y.length)\r\n y.splice(i, x.length - i);\r\n }\r\n // we could return y, because at this time, both arrays\r\n // are identical.\r\n return x;\r\n }\r\n}\r\n\r\nexport type WordLookupResult = {\r\n refs: string[],\r\n word: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\ntype IndexResult = {\r\n r: string[];\r\n w: string;\r\n}\n\ntype WordToStem = { w:string, s: string}\r\ninterface Map\r\n{\r\n [K: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/word-service.ts","import { EventEmitter, Component, Input, Output, ElementRef } from '@angular/core';\nimport { CardItem } from '../../pages/search/search';\n\n@Component({\n selector: 'error',\n templateUrl: 'error.html'\n})\nexport class Error\r\n{\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n constructor(private elementRef: ElementRef)\r\n {\n }\n\n close()\r\n {\n const d = 275;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out',\n });\n setTimeout(() =>\r\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error/error.ts","import { Component, Input} from '@angular/core';\n\n@Component({\n selector: 'error-message',\n templateUrl: 'error-message.html'\n})\nexport class ErrorMessage\r\n{\n @Input()\n msg: string;\n\n constructor()\r\n {\n this.msg = '';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error-message/error-message.ts","/// \nimport { Injectable } from '@angular/core';\nimport { AngularFireDatabase, AngularFireObject } from 'angularfire2/database';\nimport { AngularFireAuth } from 'angularfire2/auth';\nimport * as firebase from 'firebase/app';\nimport { Observable } from 'rxjs/Observable';\nimport { Catch } from 'rxjs/add/operator';\nimport { Storage } from '@ionic/storage';\n\nimport { CardItem } from '../pages/search/search';\nimport { Promise } from 'q';\nimport { setTimeout } from 'timers';\n\ntype fbObject = {\n ref: AngularFireObject,\n stream: Observable,\n};\n\nexport const DEFAULT_USER_NAME = 'john_doe';\n\nexport type User = {\n username: string,\n uid: string | null,\n strongs_modal: boolean,\n clear_search_after_query: boolean,\n items: CardItem[],\n append_to_bottom: boolean,\n insert_next_to_item: boolean,\n font_size: number,\n saved_pages: SavedPage[],\n verses_on_new_line: boolean,\n show_verse_numbers: boolean,\n}\n\nexport type SavedPage = {\n queries: CardItem[],\n title: string,\n}\n@Injectable()\nexport class ProfileService\n{\n localProfile: User;\n remoteProfile: fbObject | null;\n remoteLoggedIn: boolean;\n isWeb: boolean;\n needsSync = false;\n\n constructor(private local: Storage, private db: AngularFireDatabase, public firebaseAuth: AngularFireAuth)\n {\n this.isWeb = (document.URL.startsWith('http') || !document.URL.startsWith('http://localhost:8080'));\n\n // asyncrounosly kick off a poller that does the work of syncing remotely when the\n // profile needs to be synced.\n (function poll(self)\n {\n setTimeout(function ()\n {\n // Setup the next poll recursively\n if (self.needsSync)\n {\n // do the sync here.\n // If we have a remote profile then save it there too \n if (self.remoteProfile && self.localProfile.uid)\n {\n let st = new Date(); console.log('Saving the remote profile...');\n self.remoteProfile.ref.set(self.localProfile);\n console.log('Finished saving remote profile. ' + self.elapsed(st, new Date) + 'ms');\n }\n self.needsSync = false;\n }\n poll(self);\n }, 3000);\n })(this);\n\n let localObserver = this.userObserver().subscribe(\n user =>\n {\n this.update(user);\n this.localProfile = user;\n },\n error => console.log(error)\n );\n\n this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state));\n\n }\n\n userObserver(): Observable\n {\n return Observable.fromPromise(this.local.get('profile')).map(json_profile =>\n {\n let t = this.profile();\n\n if (json_profile !== null) t = JSON.parse(json_profile);\n return t;\n });\n }\n\n profile(): User\n {\n if (!this.localProfile)\n {\n this.localProfile = ProfileService.createDefaultUser();\n }\n\n return this.localProfile\n }\n\n subscribeToRemoteProfile(db: AngularFireDatabase, user: firebase.User)\n {\n if (!user) return;\n\n let obj = db.object('/settings/' + user.uid);\n this.remoteProfile = {\n ref: obj as AngularFireObject,\n stream: obj.valueChanges() as Observable,\n };\n this.profile().username = user.displayName;\n this.profile().uid = user.uid;\n\n this.save();\n this.remoteProfile.stream.subscribe(\n user => this.handleRemotePreferenceChange(user),\n error => console.log(error));\n }\n\n handleRemotePreferenceChange(user: User)\n {\n if (user)\n {\n if (!user.saved_pages) user.saved_pages = [];\n if (!user.items) user.items = [];\n\n // merge the items so you don't loose anything.\n if (this.profile().items.length > 0)\n user.items.concat(this.localProfile.items);\n\n // merge the saved pages so you don't loose those either\n if (this.profile().saved_pages.length > 0)\n user.saved_pages.concat(this.localProfile.saved_pages);\n\n // don't sync things that don't make sense.\n this.profile().uid = user.uid;\n this.profile().username = user.username;\n\n // We only save the local change here since this is an update from our remote profile.\n this.localSave();\n }\n else\n {\n // No user is there so we should save our local to the remote.\n\n this.save();\n }\n }\n\n currentUser(): firebase.User\n {\n return this.firebaseAuth.auth.currentUser;\n }\n\n authenticate()\n {\n let self = this;\n let provider = new firebase.auth.GoogleAuthProvider();\n if (this.isWeb)\n {\n this.firebaseAuth.auth.signInWithPopup(provider);\n }\n else\n {\n firebase.auth().signInWithRedirect(provider).then(function ()\n {\n return firebase.auth().getRedirectResult();\n }).catch(function (error)\n {\n // Handle Errors here.\n console.log(error);\n });\n }\n this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state));\n this.remoteLoggedIn = true;\n\n }\n\n refresh()\n {\n this.logout();\n this.authenticate();\n }\n\n logout()\n {\n this.firebaseAuth.auth.signOut(); // sign out\n this.remoteProfile = null; // inform the profile service not to bother\n this.remoteLoggedIn = false;\n }\n\n save()\n {\n this.localSave();\n this.needsSync = true;\n }\n\n private localSave()\n {\n this.local.set('profile', JSON.stringify(this.profile()));\n }\n\n\n private elapsed(start: Date, finish: Date)\n {\n let difference = new Date();\n difference.setTime(finish.getTime() - start.getTime());\n return difference.getMilliseconds();\n }\n\n // this function updates a user object, in case new properties have been introduced\n // in a release. \n update(t: User): boolean\n {\n let updated = false;\n let k;\n const user = this.profile();\n for (k in user)\n {\n if (user.hasOwnProperty(k))\n {\n if (t[k] === undefined)\n {\n t[k] = user[k];\n updated = true;\n }\n }\n }\n\n for (k in user)\n if (user.hasOwnProperty(k))\n user[k] = t[k];\n\n this.textSizeChanged();\n return updated;\n }\n\n private resetUser()\n {\n this.profile().strongs_modal = true;\n this.profile().clear_search_after_query = false;\n this.profile().items = [];\n this.profile().append_to_bottom = false;\n this.profile().insert_next_to_item = false;\n this.profile().font_size = 10;\n this.profile().saved_pages = [];\n this.profile().verses_on_new_line = true;\n this.profile().show_verse_numbers = true;\n }\n\n reset()\n {\n this.resetUser();\n this.remoteProfile.ref.set(this.profile())\n this.save();\n }\n\n removePage(page: SavedPage)\n {\n let idx = this.profile().saved_pages.indexOf(page);\n this.profile().saved_pages.splice(idx, 1);\n\n // Sync with remote\n this.save();\n }\n\n // TODO(jwall): This belongs somewhere else.\n textSizeChanged()\n {\n $('html').css('font-size', this.profile().font_size + 'px');\n }\n\n static createDefaultUser(): User\n {\n return {\n username: DEFAULT_USER_NAME,\n uid: null,\n strongs_modal: true,\n clear_search_after_query: false,\n items: [],\n append_to_bottom: false,\n insert_next_to_item: false,\n font_size: 10,\n saved_pages: [],\n verses_on_new_line: true,\n show_verse_numbers: true,\n };\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/services/profile-service.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../../src/pages/search/search.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/components/strongs-modal/strongs-modal.ts","../../src/services/strongs-service.ts","../../src/services/pages-service.ts","../../src/pages/settings/settings.ts","../../src/pages/help/help.ts","../../src/components/verse-picker/verse-picker.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/libs/Reference.ts","../../src/app/app.component.ts","../../src/components/component-loader/component-loader.ts","../../src/components/passage/passage.ts","../../src/services/bible-service.ts","../../src/components/strongs/strongs.ts","../../src/components/words/words.ts","../../src/services/word-service.ts","../../src/components/error/error.ts","../../src/components/error-message/error-message.ts","../../src/services/profile-service.ts"],"names":[],"mappings":"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E,gBAAgB;YAC3B,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE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","file":"main.js","sourcesContent":["import { Type, Component, OnInit } from '@angular/core';\nimport { Loading, LoadingController, ModalController, NavParams, AlertController, MenuController } from 'ionic-angular';\nimport { Storage } from '@ionic/storage';\n\nimport { StrongsModal } from '../../components/strongs-modal/strongs-modal';\nimport { PagesService } from '../../services/pages-service';\n\nimport { ProfileService, User } from './../../services/profile-service';\nimport { Reference } from '../../libs/Reference';\nimport { VersePickerModal } from '../../components/verse-picker/verse-picker';\n\n@Component({\n templateUrl: 'search.html'\n})\nexport class SearchPage implements OnInit {\n searchQuery = '';\n last: CardItem;\n loader: Loading;\n title: string;\n\n constructor(\n private pagesService: PagesService\n , private alertCtrl: AlertController\n , private menu: MenuController\n , public loadingCtrl: LoadingController\n , public modalCtrl: ModalController\n , public profileService: ProfileService\n , public params: NavParams\n ) {\n }\n\n ngOnInit(): void {\n\n if (this.profileService.localIsLoaded) {\n this.loader = this.loadingCtrl.create({ content: 'Loading Page...' });\n this.loader.present().then(() => {\n let t = this.profileService.profile();\n this.initializeItems(t);\n this.loader.dismiss();\n });\n }\n else \n {\n this.profileService.onLocalStorageLoaded.subscribe(t => {\n // Check if there is a profile saved in local storage\n this.loader = this.loadingCtrl.create({ content: 'Loading Page...' });\n this.loader.present().then(() => {\n this.initializeItems(t);\n this.loader.dismiss();\n });\n\n });\n this.profileService.onSavedPagesChanged.subscribe(sp => {\n this.pagesService.initializePages(sp);\n });\n }\n }\n\n initializeItems(u: User) {\n // migrate old way of storing card items to the new.\n let has_migrated = false;\n for (let i in u.items) {\n if (u.items.hasOwnProperty(i)) {\n let ci = u.items[i];\n if (ci['data'] !== undefined) {\n if (ci['data'].qry !== undefined)\n u.items[i] = { qry: ci['data'].qry, dict: ci.dict, type: ci.type };\n else if (ci['data'].ref !== undefined)\n u.items[i] = { qry: ci['data'].ref, dict: ci.dict, type: ci.type };\n else if (ci['data'].word !== undefined)\n u.items[i] = { qry: ci['data'].word, dict: ci.dict, type: ci.type };\n else if (ci['data'].sn !== undefined)\n u.items[i] = {\n qry: ci['data'].sn,\n dict: ci['prefix'] === 'G' ? 'grk' : 'heb',\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n\n for (let pg of u.saved_pages) {\n for (let i in pg.queries) {\n if (pg.queries.hasOwnProperty(i)) {\n let ci = pg.queries[i];\n if (ci['data'] !== undefined) {\n if (ci['data'].qry !== undefined)\n pg.queries[i] = { qry: ci['data'].qry, dict: ci.dict, type: ci.type };\n else if (ci['data'].ref !== undefined)\n pg.queries[i] = { qry: ci['data'].ref, dict: ci.dict, type: ci.type };\n else if (ci['data'].word !== undefined)\n pg.queries[i] = { qry: ci['data'].word, dict: ci.dict, type: ci.type };\n else if (ci['data'].sn !== undefined)\n pg.queries[i] = {\n qry: ci['data'].sn,\n dict: ci['prefix'] === 'G' ? 'grk' : 'heb',\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n }\n\n // initialize the pages.\n this.pagesService.initializePages(u.saved_pages);\n\n if (this.params.data.queries !== undefined)\n this.profileService.profile().items = JSON.parse(JSON.stringify(this.params.data.queries));\n\n if (this.params.data.title === undefined)\n this.title = 'Search';\n else\n this.title = this.params.data.title;\n\n if (has_migrated)\n this.profileService.save();\n\n }\n\n textSizeChanged() {\n this.profileService.textSizeChanged();\n this.profileService.localSave();\n }\n\n actionsMenu() {\n this.menu.open('actions');\n }\n\n addPage() {\n const alert = this.alertCtrl.create({\n title: 'Save Search as Page',\n inputs: [\n {\n name: 'title',\n placeholder: 'Page Title'\n }\n ],\n buttons: [\n {\n text: 'Cancel',\n role: 'cancel',\n handler: (): void => {\n console.log('Cancel clicked');\n }\n },\n {\n text: 'Save',\n handler: data => {\n const p = { queries: this.profileService.profile().items.slice(), title: data.title };\n this.profileService.profile().saved_pages.push(p);\n this.profileService.save();\n this.pagesService.addPage(p);\n }\n }\n ]\n });\n alert.present();\n }\n\n updatePage() {\n const page = this.profileService.profile().saved_pages.find(\n i =>\n i.title === this.params.data.title\n );\n page.queries = this.profileService.profile().items.slice();\n this.profileService.save();\n }\n\n setQuery(searchbar) {\n this.searchQuery = searchbar.target.value;\n }\n getQuery(searchbar) {\n this.updateUIwithItems(this.searchQuery, true);\n }\n\n isError(t: string) {\n return t === 'Error';\n }\n isPassage(t: string) {\n return t === 'Passage';\n }\n isStrongs(t: string) {\n return t === 'Strongs';\n }\n isWords(t: string) {\n return t === 'Words';\n }\n\n versePicker() {\n const modal = this.modalCtrl.create(VersePickerModal, { onItemClicked: this });\n modal.present();\n }\n\n removeItem(item) {\n const idx = this.profileService.profile().items.indexOf(item);\n this.profileService.profile().items.splice(idx, 1);\n\n // save the users settings.\n this.profileService.localSave();\n }\n\n addItemToList(item: CardItem) {\n if (this.profileService.profile().append_to_bottom) {\n if (this.last != null && this.profileService.profile().insert_next_to_item) {\n const idx = this.profileService.profile().items.indexOf(this.last);\n this.profileService.profile().items.splice(idx + 1, 0, item);\n } else\n this.profileService.profile().items.push(item);\n }\n else {\n if (this.last != null && this.profileService.profile().insert_next_to_item) {\n const idx = this.profileService.profile().items.indexOf(this.last);\n this.profileService.profile().items.splice(idx, 0, item);\n } else\n this.profileService.profile().items.unshift(item);\n }\n this.last = null;\n }\n getItemsNextToCard(data: OpenData) {\n this.last = data.card;\n this.updateUIwithItems(data.qry, data.from_search_bar);\n }\n\n getItemList(search: string): Promise {\n return new Promise((resolve) => {\n const list: CardItem[] = [];\n\n try {\n const qs = search.split(';');\n for (let x in qs) {\n if (qs.hasOwnProperty(x)) {\n let q = qs[x].trim();\n if (q !== '') {\n // its a search term.\n if (q.search(/[0-9]/i) === -1)\n list.push({ qry: q, dict: 'na', type: 'Words' });\n else if (q.search(/(H|G)[0-9]/i) !== -1) {\n // its a strongs lookup\n let dict = q.substring(0, 1);\n\n if (dict.search(/h/i) !== -1)\n dict = 'heb';\n else\n dict = 'grk';\n\n q = q.substring(1, q.length);\n list.push({ qry: q, dict: dict, type: 'Strongs' });\n }\n else {\n // its a verse reference.\n if (q.trim() !== '') {\n const myref = new Reference(q.trim());\n list.push({ qry: myref.toString(), dict: myref.Section.start.book.book_number > 39 ? 'G' : 'H', type: 'Passage' });\n }\n }\n }\n }\n }\n if (this.profileService.profile().clear_search_after_query)\n $('.searchbar-input').val('');\n\n this.profileService.save();\n }\n catch (error) {\n list.push({ qry: error, type: 'Error', dict: 'na' });\n console.log(error);\n }\n\n resolve(list);\n });\n }\n\n updateUIwithItems(search: string, from_search_bar: boolean) {\n this.getItemList(search).then(lst => {\n this.loader = this.loadingCtrl.create({ content: 'Looking up Query...' });\n this.loader.present().then(\n () => {\n for (let item of lst) {\n if (item.type === 'Strongs' && this.profileService.profile().strongs_modal && !from_search_bar) {\n const modal = this.modalCtrl.create(StrongsModal, { sn: parseInt(item.qry), dict: item.dict, onItemClicked: this });\n modal.present();\n } else\n this.addItemToList(item);\n }\n this.loader.dismiss();\n }\n );\n });\n }\n}\n\nexport type OpenData = { card: CardItem, qry: string, from_search_bar: boolean }\n\nexport type CardItem = { qry: string, type: string, dict: string }\n\nclass Item {\n id: number;\n data: any;\n type: Type;\n dict: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/search/search.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 148;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 148\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 245;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 245\n// module chunks = 0","import { EventEmitter, Component, Output, OnInit } from '@angular/core';\nimport { Platform, NavParams, ViewController } from 'ionic-angular';\nimport { Reference } from '../../libs/Reference';\nimport { StrongsResult, StrongsService } from '../../services/strongs-service';\n\n@Component({\n selector: 'strongs-modal',\n templateUrl: 'strongs-modal.html',\n providers: [StrongsService]\n})\nexport class StrongsModal implements OnInit\r\n{\n sn: number;\n dict: string;\n item: StrongsResult;\n\n @Output()\n onItemClicked = new EventEmitter();\n\n constructor(private strongsService: StrongsService,\n public platform: Platform,\n public params: NavParams,\n public viewCtrl: ViewController\n )\r\n {\n this.sn = this.params.get('sn') as number;\n this.dict = this.params.get('dict') as string;\n this.onItemClicked.subscribe(item =>\r\n {\n let pg = this.params.get('onItemClicked');\n pg.updateUIwithItems(item, false);\n });\n }\n\n ngOnInit(): void\r\n {\r\n this.strongsService.getResultAsPromise(this.sn, this.dict).then(data => this.item = data);\r\n }\n\r\n dismiss()\r\n {\n this.viewCtrl.dismiss();\n }\n\r\n openItem(p: string)\r\n {\n this.onItemClicked.emit(p);\n this.dismiss();\n }\n\n makePassage(p: string)\r\n {\n return Reference.bookName(parseInt(p.split(';')[0])).name + ' ' + p.split(';')[1] + ':' + p.split(';')[2];\n }\n\n openPassage(p: string)\r\n {\n let ref = this.makePassage(p);\n this.onItemClicked.emit(ref);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs-modal/strongs-modal.ts","/// \r\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\n\r\n@Injectable()\r\nexport class StrongsService\r\n{\r\n result: StrongsResult;\r\n count = 0;\r\n\r\n constructor(private http: Http)\r\n {\r\n }\r\n\r\n getResultAsPromise(sn: number, dict: string): Promise\r\n {\r\n return new Promise((resolve, reject) => { resolve(this.getResult(sn, dict)); });\r\n }\r\n\r\n getResult(sn: number, dict: string): StrongsResult\r\n {\r\n const self = this;\r\n this.result = {\r\n prefix: '',\r\n sn: -1,\r\n strongs: [],\r\n def: null,\r\n rmac: null,\r\n crossrefs: null,\r\n rmaccode: '',\r\n status: 0,\r\n msg: ':)'\r\n };\r\n let url = dict + Math.ceil(sn / 100) + '.json';\r\n if (dict === 'grk')\r\n {\r\n self.result.prefix = 'G';\r\n if (sn > 5624 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number G' + sn + ' is out of range. Strong\\'s numbers range from 1 - 5624 in the New Testament.';\r\n }\r\n }\r\n else\r\n {\r\n self.result.prefix = 'H';\r\n if (sn > 8674 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number H' + sn + ' is out of range. Strong\\'s numbers range from 1 - 8674 in the Old Testament.';\r\n }\r\n }\r\n this.result.sn = sn;\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongs/' + url,\r\n dataType: 'json',\r\n success(d: StrongsDefinition[], t, x)\r\n {\r\n self.result.strongs = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Data for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n self.result.def = self.result.strongs.find(el => (el.i === this.result.prefix + this.result.sn));\r\n self.result.strongs = [];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongscr/cr' + url,\r\n dataType: 'json',\r\n success(d: StrongsCrossReference[], t, x)\r\n {\r\n for (let cr of d)\r\n {\r\n if (cr.id.toUpperCase() === self.result.prefix + self.result.sn)\r\n {\r\n self.result.crossrefs = cr;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Cross References for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n if (dict === 'grk')\r\n {\r\n url = 'data/rmac/rs' + (Math.ceil(sn / 1000)) + '.json';\r\n let rmac_cross_references: RMACCrossReference[];\r\n\r\n // rmac is a two get process.\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACCrossReference[], t, x)\r\n {\r\n rmac_cross_references = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // deal with RMAC\r\n let tmp = $.grep(rmac_cross_references, (el, i) => { return el.i === sn + ''; });\r\n if (tmp.length === 0)\r\n return this.result;\r\n\r\n this.result.rmaccode = tmp[0].r;\r\n if (this.result.rmaccode !== undefined)\r\n {\r\n url = `data/rmac/r-${this.result.rmaccode.substring(0, 1)}.json`;\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACDefinition[], t, x)\r\n {\r\n for (let rmac of d)\r\n {\r\n if (rmac.id.toLowerCase() === self.result.rmaccode)\r\n {\r\n self.result.rmac = rmac;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n }\r\n }\r\n return this.result;\r\n }\r\n}\r\nexport type StrongsResult =\r\n {\r\n prefix: string,\r\n sn: number,\r\n strongs: StrongsDefinition[],\r\n def: StrongsDefinition,\r\n rmac: RMACDefinition,\r\n crossrefs: StrongsCrossReference,\r\n rmaccode: string,\r\n status: number,\r\n msg: string,\r\n };\r\n\r\ntype StrongsDefinition = { n: number, i: string, tr: string, de: StrongsDefinitionPart[], lemma: string, p: string }\r\ntype StrongsDefinitionPart = { sn: string, w: string }\r\ntype StrongsCrossReference =\r\n {\r\n id: string, // strongs id H1|G1\r\n t: string, // strongs testament grk|heb\r\n d: string, // strongs word/data Aaron {ah-ar-ohn'}\r\n ss: [\r\n {\r\n w: string,\r\n rs: [\r\n { r: string }\r\n ],\r\n }\r\n ],\r\n }\r\n\r\ntype RMACDefinition = { id: string, d: string[] }\r\n\r\ntype RMACCrossReference = { i: string, r: string }\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/strongs-service.ts","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { SearchPage } from '../pages/search/search';\r\nimport { SettingsPage } from '../pages/settings/settings';\r\nimport { HelpPage } from '../pages/help/help';\r\n\r\nimport { SavedPage } from './profile-service';\r\n\r\n@Injectable()\r\nexport class PagesService\r\n{\r\n pages: Array<{ title: string, component: any, params: any, icon: string }>;\r\n savedPages: Array<{ title: string, component: any, params: any }>;\r\n\r\n constructor(public local: Storage)\r\n {\r\n this.pages = [\r\n { title: 'Search', component: SearchPage, params: { queries: [], title: 'Search' }, icon: 'search' },\r\n { title: 'Settings', component: SettingsPage, params: {}, icon: 'settings' },\r\n { title: 'Help', component: HelpPage, params: {}, icon: 'help-circle' }\r\n ];\r\n this.savedPages = [];\r\n }\r\n\r\n getMainPages(): Array<{ title: string, component: any }>\r\n {\r\n return this.pages;\r\n }\r\n\r\n getSavedPages(): Array<{ title: string, component: any }>\r\n {\r\n return this.savedPages;\r\n }\r\n\r\n addPage(page: SavedPage)\r\n {\r\n this.savedPages.push({ title: page.title, component: SearchPage, params: { queries: page.queries, title: page.title } });\r\n }\r\n\r\n initializePages(page_array: SavedPage[])\r\n {\r\n this.savedPages = [];\r\n\r\n for (let p of page_array)\r\n {\r\n this.savedPages.push({ title: p.title, component: SearchPage, params: { queries: p.queries, title: p.title } });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/pages-service.ts","/// \r\nimport { Component } from '@angular/core';\r\nimport { NavController, AlertController } from 'ionic-angular';\r\nimport { Storage } from '@ionic/storage';\r\n\r\nimport { ProfileService, SavedPage } from '../../services/profile-service';\r\n\r\n@Component({\r\n selector: 'settings',\r\n templateUrl: 'settings.html',\r\n})\r\nexport class SettingsPage\r\n{\r\n constructor(\r\n public navCtrl: NavController\r\n , private alertCtrl: AlertController\r\n , public profileService: ProfileService\r\n ) {}\r\n\r\n textSizeChanged()\r\n {\r\n this.profileService.textSizeChanged();\r\n this.profileService.localSave();\r\n }\r\n\r\n reset()\r\n {\r\n this.profileService.reset()\r\n }\r\n\r\n removePage(page: SavedPage)\r\n {\r\n let alert = this.alertCtrl.create({\r\n title: 'Confirm Delete',\r\n message: 'Do you want to delete the ' + page.title + ' page?',\r\n buttons: [\r\n {\r\n text: 'Cancel',\r\n role: 'cancel',\r\n handler: () =>\r\n {\r\n console.log('Cancel clicked');\r\n }\r\n },\r\n {\r\n text: 'Ok',\r\n handler: () =>\r\n {\r\n this.profileService.removePage(page);\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/settings/settings.ts","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'help',\r\n templateUrl: 'help.html'\r\n})\r\nexport class HelpPage\r\n{\r\n constructor()\r\n {\r\n }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/help/help.ts","import { EventEmitter, Component, Output, OnInit } from '@angular/core';\nimport { Platform, NavParams, ViewController } from 'ionic-angular';\nimport { Book, Reference } from '../../libs/Reference';\n\n@Component({\n selector: 'verse-picker',\n templateUrl: 'verse-picker.html'\n})\nexport class VersePickerModal\n{\n @Output()\n onItemClicked = new EventEmitter();\n books: Array;\n hasBook = false;\n book: Book;\n\n constructor(\n public platform: Platform,\n public params: NavParams,\n public viewCtrl: ViewController\n )\n {\n this.hasBook = false;\n this.books = Reference.Books;\n this.onItemClicked.subscribe(item =>\r\n {\n let pg = this.params.get('onItemClicked');\n pg.updateUIwithItems(item, false);\n });\n }\n\n toBooks()\n {\n this.hasBook = false;\n this.book = null;\n }\n\n dismiss()\n {\n this.viewCtrl.dismiss();\n }\n setBook(book: Book)\n {\n this.hasBook = true;\n this.book = book;\n }\n setChapter(chapter: number)\n {\n // close the control, trigger the passage event.\n this.onItemClicked.emit(this.book.name + ' ' + chapter);\n this.dismiss();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verse-picker/verse-picker.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\nimport {enableProdMode} from '@angular/core';\n\nenableProdMode();\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { ProfileService } from './../services/profile-service';\nimport { NgModule, ErrorHandler } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpModule } from '@angular/http';\n\nimport { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';\nimport { IonicStorageModule } from '@ionic/storage';\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\n\nimport { MyApp } from './app.component';\n\nimport { SearchPage } from '../pages/search/search';\nimport { SettingsPage } from '../pages/settings/settings';\nimport { HelpPage } from '../pages/help/help';\n\nimport { ComponentLoader } from '../components/component-loader/component-loader';\nimport { Passage } from '../components/passage/passage';\nimport { Strongs } from '../components/strongs/strongs';\nimport { Words } from '../components/words/words';\nimport { Error } from '../components/error/error';\nimport { StrongsModal } from '../components/strongs-modal/strongs-modal';\nimport { ErrorMessage } from '../components/error-message/error-message';\nimport { VersePickerModal } from '../components/verse-picker/verse-picker';\n\nimport { AngularFireModule } from 'angularfire2';\nimport { AngularFireAuthModule } from 'angularfire2/auth';\nimport { AngularFireDatabaseModule } from 'angularfire2/database';\n\nexport const firebaseConfig = {\n apiKey: 'AIzaSyA3UV4s56CV2EumgvZmyJBTyU-vhv0xhc8',\n authDomain: 'dynamicbible-7c6cf.firebaseapp.com',\n databaseURL: 'https://dynamicbible-7c6cf.firebaseio.com',\n projectId: 'dynamicbible-7c6cf',\n // TODO(jwall): What is a storage bucket?\n storageBucket: '',\n messagingSenderId: '200739882604'\n};\n\n@NgModule({\n declarations: [\n MyApp,\n SearchPage,\n SettingsPage,\n HelpPage,\n ComponentLoader,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n imports: [\n IonicModule.forRoot(MyApp),\n IonicStorageModule.forRoot(),\n BrowserModule,\n HttpModule,\n AngularFireModule.initializeApp(firebaseConfig),\n AngularFireAuthModule,\n AngularFireDatabaseModule,\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n SearchPage,\n SettingsPage,\n HelpPage,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }, StatusBar, SplashScreen, ProfileService]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","// This code was written by Jeremy and Jason Wall.\r\n// Feel free to use, and if you can, include a link back to www.walljm.com\r\n// Jason@walljm.com // www.walljm.com\r\n// Jeremy@marzhillstudios.com // jeremy.marzhillstudios.com\r\n\r\nclass StringUtils\r\n{\r\n public static trim(str: string): string\r\n {\r\n return str.replace(/^\\s+|\\s+$/g, '');\r\n }\r\n\r\n public static ltrim(str: string): string\r\n {\r\n return str.replace(/^\\s+/, '');\r\n }\r\n\r\n public static rtrim(str: string): string\r\n {\r\n return str.replace(/\\s+$/, '');\r\n }\r\n}\r\n\r\nexport class Reference\r\n{\r\n private ref: string;\r\n Section: Section;\r\n errAcc: string;\r\n\r\n constructor(reference: string)\r\n {\r\n this.Section = {\r\n start: {\r\n book: null,\r\n chapter: '',\r\n verse: ''\r\n },\r\n end: {\r\n book: null,\r\n chapter: '',\r\n verse: ''\r\n }\r\n };\r\n this.ref = reference.toLowerCase().trim();\r\n this.parseReference();\r\n\r\n if (this.Section.end.book === null)\r\n {\r\n this.Section.end.book = this.Section.start.book;\r\n }\r\n\r\n if (this.Section.end.chapter === '') this.Section.end.chapter = this.Section.start.chapter;\r\n if (\r\n Number(this.Section.start.verse) > Number(this.Section.end.verse) &&\r\n this.Section.start.chapter === this.Section.end.chapter &&\r\n this.Section.start.book.name === this.Section.end.book.name\r\n ) this.Section.end.verse = this.Section.start.verse;\r\n if (this.Section.start.verse === '') this.Section.start.verse = '1';\r\n if (this.Section.end.verse === '') this.Section.end.verse = '*';\r\n }\r\n\r\n private parseReference()\r\n {\r\n this.parseBook(false);\r\n this.parseFirstNum(false);\r\n const foundFirstVerse = this.ref.search(/:.*-/) !== -1;\r\n this.maybeParseSecondNum(false);\r\n this.maybeParseRangeSep();\r\n const foundSecondBook = this.ref.search(/\\w\\s+\\d/i) !== -1;\r\n\r\n this.maybeParseBook(true);\r\n this.maybeParseFirstNumOrVerse(foundSecondBook, foundFirstVerse, true);\r\n this.maybeParseSecondNum(true);\r\n };\r\n\r\n private parseBook(isEnd?: boolean)\r\n {\r\n this.ref = this.ref.toLowerCase().trim();\r\n\r\n let fbook = this.ref.substring(0, this.ref.search(/\\w\\s+\\d/i) + 1);\r\n if (!fbook)\r\n fbook = this.ref;\r\n this.ref = this.ref.slice(this.ref.search(/\\w\\s+\\d/i) + 1);\r\n if (isEnd) this.Section.end.book = Reference.parseBook(fbook);\r\n else this.Section.start.book = Reference.parseBook(fbook);\r\n }\r\n\r\n private parseFirstNum(isEnd: boolean)\r\n {\r\n let thing = this.Section.start;\r\n if (isEnd) thing = this.Section.end;\r\n\r\n this.ref = StringUtils.ltrim(this.ref);\r\n let found = false;\r\n for (let i = 0; i <= this.ref.length; i++)\r\n {\r\n const c = this.ref.charAt(i);\r\n // Grab characters until we hit a non digit.\r\n if ('0'.charAt(0) <= c && c <= '9'.charAt(0))\r\n {\r\n found = true;\r\n thing.chapter = thing.chapter.concat(c);\r\n }\r\n else\r\n {\r\n // if the chapter is longer than 3 digits it's an error\r\n if (thing.chapter.length > 3)\r\n {\r\n this.errAcc = 'Chapter too long\"' + thing.chapter + '\".';\r\n return;\r\n }\r\n else if (!found)\r\n {\r\n this.errAcc = 'No chapter found' + this.ref;\r\n }\r\n this.ref = this.ref.slice(i);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n private parseSecondNum(skipColon?: boolean, isEnd?: boolean)\r\n {\r\n let thing = this.Section.start;\r\n if (isEnd) thing = this.Section.end;\r\n\r\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\r\n if (!skipColon)\r\n {\r\n if (this.ref[0] !== ':')\r\n {\r\n return;\r\n }\r\n this.ref = this.ref.slice(1);\r\n }\r\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\r\n if (this.ref[0] === '*')\r\n {\r\n thing.verse = '*';\r\n this.ref = this.ref.slice(1);\r\n return;\r\n }\r\n for (let i = 0; i <= this.ref.length; i++)\r\n {\r\n const c = this.ref.charAt(i);\r\n if ('0'.charAt(0) <= c && c <= '9'.charAt(0))\r\n {\r\n thing.verse = thing.verse.concat(c);\r\n }\r\n else\r\n {\r\n if (thing.verse.length > 3)\r\n {\r\n this.errAcc = 'Verse too long \"' + thing.verse + '\".';\r\n return;\r\n }\r\n this.ref = this.ref.slice(i);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n private maybeParseBook(isEnd: boolean)\r\n {\r\n return this.maybeDo(() =>\r\n {\r\n if (this.ref.search(/\\w\\s+\\d/i) === -1)\r\n {\r\n this.Section.end.book = this.Section.start.book;\r\n }\r\n else\r\n {\r\n this.parseBook(isEnd);\r\n }\r\n });\r\n };\r\n\r\n private maybeParseSecondNum(isEnd?: boolean)\r\n {\r\n return this.maybeDo(() =>\r\n {\r\n this.parseSecondNum(false, isEnd);\r\n });\r\n };\r\n\r\n private maybeParseFirstNumOrVerse(foundSecondBook: boolean, foundFirstVerse: boolean, isEnd: boolean)\r\n {\r\n const self = this;\r\n return this.maybeDo(() =>\r\n {\r\n if (self.Section.end.book.name === self.Section.start.book.name)\r\n {\r\n if (self.ref.search(/:/) !== -1 || foundSecondBook || !foundFirstVerse)\r\n {\r\n self.parseFirstNum(isEnd);\r\n }\r\n self.parseSecondNum(true, isEnd);\r\n }\r\n });\r\n };\r\n\r\n private maybeParseRangeSep()\r\n {\r\n const self = this;\r\n return this.maybeDo(() =>\r\n {\r\n if (self.ref[0] === '-')\r\n {\r\n self.ref = StringUtils.ltrim(self.ref.slice(1));\r\n }\r\n });\r\n };\r\n\r\n private maybeDo(f)\r\n {\r\n const func = f;\r\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\r\n if (this.ref !== '')\r\n {\r\n func();\r\n }\r\n };\r\n\r\n public toString()\r\n {\r\n // get the starting book, chapter, verse\r\n return Reference.toString(this.Section);\r\n };\r\n\r\n public static parseBook(fbook: string): Book\r\n {\r\n if (fbook.search(/\\b(genesis|gen|ge|gn)\\b/i) !== -1)\r\n {\r\n return this.bookName(1);\r\n }\r\n if (fbook.search(/\\b(exodus|ex|exo|exod|exd)\\b/i) !== -1)\r\n {\r\n return this.bookName(2);\r\n }\r\n if (fbook.search(/\\b(leviticus|lev|le|levi|lv)\\b/i) !== -1)\r\n {\r\n return this.bookName(3);\r\n }\r\n if (fbook.search(/\\b(numbers|num|nu|numb|number)\\b/i) !== -1)\r\n {\r\n return this.bookName(4);\r\n }\r\n if (fbook.search(/\\b(deuteronomy|deut|de|dt|deu)\\b/i) !== -1)\r\n {\r\n return this.bookName(5);\r\n }\r\n if (fbook.search(/\\b(joshua|josh|jos)\\b/i) !== -1)\r\n {\r\n return this.bookName(6);\r\n }\r\n if (fbook.search(/\\b(judges|jud|jdg|judg)\\b/i) !== -1)\r\n {\r\n return this.bookName(7);\r\n }\r\n if (fbook.search(/\\b(ruth|ru)\\b/i) !== -1)\r\n {\r\n return this.bookName(8);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(samuel|sa|sam|sml)\\b/i) !== -1)\r\n {\r\n return this.bookName(9);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(samuel|sa|sam|sml)\\b/i) !== -1)\r\n {\r\n return this.bookName(10);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1)\r\n {\r\n return this.bookName(11);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1)\r\n {\r\n return this.bookName(12);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1)\r\n {\r\n return this.bookName(13);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1)\r\n {\r\n return this.bookName(14);\r\n }\r\n if (fbook.search(/\\b(ezra|ezr)\\b/i) !== -1)\r\n {\r\n return this.bookName(15);\r\n }\r\n if (fbook.search(/\\b(nehemiah|neh|ne|nehamiah)\\b/i) !== -1)\r\n {\r\n return this.bookName(16);\r\n }\r\n if (fbook.search(/\\b(esther|est|es|esth)\\b/i) !== -1)\r\n {\r\n return this.bookName(17);\r\n }\r\n if (fbook.search(/\\b(job|jo|jb)\\b/i) !== -1)\r\n {\r\n return this.bookName(18);\r\n }\r\n if (fbook.search(/\\b(psalms|ps|psa|psalm|psm)\\b/i) !== -1)\r\n {\r\n return this.bookName(19);\r\n }\r\n if (fbook.search(/\\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\\b/i) !== -1)\r\n {\r\n return this.bookName(20);\r\n }\r\n if (fbook.search(/\\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\\b/i) !== -1)\r\n {\r\n return this.bookName(21);\r\n }\r\n if (fbook.search(/\\b(song\\sof\\ssolomon|song\\sof\\ssongs|sos|ss|son|so|song|songs)\\b/i) !== -1)\r\n {\r\n return this.bookName(22);\r\n }\r\n if (fbook.search(/\\b(isaiah|is|isah|isai|ia)\\b/i) !== -1)\r\n {\r\n return this.bookName(23);\r\n }\r\n if (fbook.search(/\\b(jerimiah|jeremiah|jer|je|jere)\\b/i) !== -1)\r\n {\r\n return this.bookName(24);\r\n }\r\n if (fbook.search(/\\b(lamentations|lam|la|lamentation)\\b/i) !== -1)\r\n {\r\n return this.bookName(25);\r\n }\r\n if (fbook.search(/\\b(ezekiel|eze|ezk|ezek)\\b/i) !== -1)\r\n {\r\n return this.bookName(26);\r\n }\r\n if (fbook.search(/\\b(daniel|dan|dn|dl|da)\\b/i) !== -1)\r\n {\r\n return this.bookName(27);\r\n }\r\n if (fbook.search(/\\b(hosea|hos|ho)\\b/i) !== -1)\r\n {\r\n return this.bookName(28);\r\n }\r\n if (fbook.search(/\\b(joel|joe|jl)\\b/i) !== -1)\r\n {\r\n return this.bookName(29);\r\n }\r\n if (fbook.search(/\\b(amos|am|amo)\\b/i) !== -1)\r\n {\r\n return this.bookName(30);\r\n }\r\n if (fbook.search(/\\b(obadiah|oba|ob|obad)\\b/i) !== -1)\r\n {\r\n return this.bookName(31);\r\n }\r\n if (fbook.search(/\\b(jonah|jnh|jon)\\b/i) !== -1)\r\n {\r\n return this.bookName(32);\r\n }\r\n if (fbook.search(/\\b(micah|mic|mi)\\b/i) !== -1)\r\n {\r\n return this.bookName(33);\r\n }\r\n if (fbook.search(/\\b(nahum|nah|na)\\b/i) !== -1)\r\n {\r\n return this.bookName(34);\r\n }\r\n if (fbook.search(/\\b(habakkuk|hab|ha|habakuk)\\b/i) !== -1)\r\n {\r\n return this.bookName(35);\r\n }\r\n if (fbook.search(/\\b(zephaniah|zeph|zep)\\b/i) !== -1)\r\n {\r\n return this.bookName(36);\r\n }\r\n if (fbook.search(/\\b(haggia|hag|hg|haggai)\\b/i) !== -1)\r\n {\r\n return this.bookName(37);\r\n }\r\n if (fbook.search(/\\b(zechariah|zech|zch|zec)\\b/i) !== -1)\r\n {\r\n return this.bookName(38);\r\n }\r\n if (fbook.search(/\\b(malachi|mal)\\b/i) !== -1)\r\n {\r\n return this.bookName(39);\r\n }\r\n if (fbook.search(/\\b(matthew|mt|matt|mat)\\b/i) !== -1)\r\n {\r\n return this.bookName(40);\r\n }\r\n if (fbook.search(/\\b(mark|mrk|mk|mr)\\b/i) !== -1)\r\n {\r\n return this.bookName(41);\r\n }\r\n if (fbook.search(/\\b(luke|lu|lke|luk|lk)\\b/i) !== -1)\r\n {\r\n return this.bookName(42);\r\n }\r\n // must come before the Gospel of John\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(john|jn|jo)\\b/i) !== -1)\r\n {\r\n return this.bookName(62);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(john|jn|jo)\\b/i) !== -1)\r\n {\r\n return this.bookName(63);\r\n }\r\n if (fbook.search(/\\b(3|iii|3rd|third)\\s*(john|jn|jo)\\b/i) !== -1)\r\n {\r\n return this.bookName(64);\r\n }\r\n // 1, 2, and 3rd John need to come before this one, else this will catch those book references.\r\n if (fbook.search(/\\b(john|jn|jhn)\\b/i) !== -1)\r\n {\r\n return this.bookName(43);\r\n }\r\n if (fbook.search(/\\b(acts|ac|act)\\b/i) !== -1)\r\n {\r\n return this.bookName(44);\r\n }\r\n if (fbook.search(/\\b(romans|rom|ro|rm|roman)\\b/i) !== -1)\r\n {\r\n return this.bookName(45);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1)\r\n {\r\n return this.bookName(46);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1)\r\n {\r\n return this.bookName(47);\r\n }\r\n if (fbook.search(/\\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\\b/i) !== -1)\r\n {\r\n return this.bookName(48);\r\n }\r\n if (fbook.search(/\\b(ephesians|eph|ep|ephes|ephe|ephs)\\b/i) !== -1)\r\n {\r\n return this.bookName(49);\r\n }\r\n if (fbook.search(/\\b(philippians|phi|phil|ph|philip)\\b/i) !== -1)\r\n {\r\n return this.bookName(50);\r\n }\r\n if (fbook.search(/\\b(colossians|col|co|colossian|colos|coloss)\\b/i) !== -1)\r\n {\r\n return this.bookName(51);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1)\r\n {\r\n return this.bookName(52);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1)\r\n {\r\n return this.bookName(53);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(timothy|tim|ti|timoth|tm)\\b/i) !== -1)\r\n {\r\n return this.bookName(54);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(timothy|tim|timoth|tm)\\b/i) !== -1)\r\n {\r\n return this.bookName(55);\r\n }\r\n if (fbook.search(/\\b(titus|tit)\\b/i) !== -1)\r\n {\r\n return this.bookName(56);\r\n }\r\n if (fbook.search(/\\b(philemon|phlmn|phl|phm|phile|philem)\\b/i) !== -1)\r\n {\r\n return this.bookName(57);\r\n }\r\n if (fbook.search(/\\b(hebrews|heb|he|hebrew)\\b/i) !== -1)\r\n {\r\n return this.bookName(58);\r\n }\r\n if (fbook.search(/\\b(james|jam|ja|jas|jms|jame|jm)\\b/i) !== -1)\r\n {\r\n return this.bookName(59);\r\n }\r\n if (fbook.search(/\\b(1|i|1st|first)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1)\r\n {\r\n return this.bookName(60);\r\n }\r\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1)\r\n {\r\n return this.bookName(61);\r\n }\r\n if (fbook.search(/\\b(jude|ju)\\b/i) !== -1)\r\n {\r\n return this.bookName(65);\r\n }\r\n if (fbook.search(/\\b(revelation|rev|re|revelations|rv)\\b/i) !== -1)\r\n {\r\n return this.bookName(66);\r\n }\r\n\r\n return this.bookName(0);\r\n }\r\n\r\n public static toString(section: Section)\r\n {\r\n // get the starting book, chapter, verse\r\n let ref = section.start.book.name.concat(' ').\r\n concat(section.start.chapter).concat(':').\r\n concat(section.start.verse);\r\n\r\n if (section.start.chapter === section.end.chapter &&\r\n section.start.verse === section.end.verse &&\r\n section.start.book.name === section.end.book.name)\r\n {\r\n return ref;\r\n }\r\n\r\n if (section.start.chapter === section.end.chapter &&\r\n section.start.verse !== section.end.verse &&\r\n section.start.book.name === section.end.book.name)\r\n {\r\n return ref.concat(' - ').concat(section.end.verse);\r\n }\r\n\r\n if (section.start.book.name !== section.end.book.name)\r\n {\r\n ref = ref.concat(' - ').concat(section.end.book.name).concat(' ');\r\n }\r\n else\r\n {\r\n ref = ref.concat(' - ');\r\n }\r\n\r\n ref = ref.concat(section.end.chapter).concat(':');\r\n\r\n return ref.concat(section.end.verse);\r\n }\r\n\r\n public static Books: Array = [\r\n {\r\n name: 'Unkown',\r\n short_name: 'Unk',\r\n long_name: 'Unknown',\r\n book_number: 0,\r\n last_chapter: 0,\r\n chapters: [0]\r\n },\r\n {\r\n name: 'Genesis',\r\n short_name: 'Gen',\r\n long_name: 'Book of Genesis',\r\n book_number: 1,\r\n last_chapter: 66,\r\n chapters: [0, 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26]\r\n },\r\n {\r\n book_number: 2,\r\n short_name: 'Exo',\r\n name: 'Exodus',\r\n long_name: 'Book of Exodus',\r\n last_chapter: 40,\r\n chapters: [0, 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38]\r\n },\r\n {\r\n book_number: 3,\r\n name: 'Leviticus',\r\n short_name: 'Lev',\r\n long_name: 'Leviticus',\r\n last_chapter: 27,\r\n chapters: [0, 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34]\r\n },\r\n {\r\n book_number: 4,\r\n name: 'Numbers',\r\n short_name: 'Num',\r\n long_name: 'Book of Numbers',\r\n last_chapter: 36,\r\n chapters: [0, 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13]\r\n },\r\n {\r\n book_number: 5,\r\n name: 'Deuteronomy',\r\n short_name: 'Deut',\r\n long_name: 'Book of Deuteronomy',\r\n last_chapter: 34,\r\n chapters: [0, 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12]\r\n },\r\n {\r\n book_number: 6,\r\n name: 'Joshua',\r\n short_name: 'Josh',\r\n long_name: 'Book of Joshua',\r\n last_chapter: 24,\r\n chapters: [0, 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]\r\n },\r\n {\r\n book_number: 7,\r\n name: 'Judges',\r\n short_name: 'Jud',\r\n long_name: 'Book of Judges',\r\n last_chapter: 21,\r\n chapters: [0, 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]\r\n },\r\n {\r\n book_number: 8,\r\n name: 'Ruth',\r\n short_name: 'Ruth',\r\n long_name: 'Book of Ruth',\r\n last_chapter: 4,\r\n chapters: [0, 22, 23, 18, 22]\r\n },\r\n {\r\n book_number: 9,\r\n name: '1 Samuel',\r\n short_name: '1 Sam',\r\n long_name: 'First Book of Samuel',\r\n last_chapter: 31,\r\n chapters: [0, 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13]\r\n },\r\n {\r\n book_number: 10,\r\n name: '2 Samuel',\r\n short_name: '2 Sam',\r\n long_name: 'Second Book of Samuel',\r\n last_chapter: 24,\r\n chapters: [0, 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]\r\n },\r\n {\r\n book_number: 11,\r\n name: '1 Kings',\r\n short_name: '1 Kng',\r\n long_name: 'First Book of Kings',\r\n last_chapter: 22,\r\n chapters: [0, 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]\r\n },\r\n {\r\n book_number: 12,\r\n name: '2 Kings',\r\n short_name: '2 Kng',\r\n long_name: 'Second Book of Kings',\r\n last_chapter: 25,\r\n chapters: [0, 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]\r\n },\r\n {\r\n book_number: 13,\r\n name: '1 Chronicles',\r\n short_name: '1 Chr',\r\n long_name: 'First Book of Chronicles',\r\n last_chapter: 29,\r\n chapters: [0, 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30]\r\n },\r\n {\r\n book_number: 14,\r\n name: '2 Chronicles',\r\n short_name: '2 Chr',\r\n long_name: 'Second Book of Chronicles',\r\n last_chapter: 36,\r\n chapters: [0, 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23]\r\n },\r\n {\r\n book_number: 15,\r\n name: 'Ezra',\r\n short_name: 'Ezra',\r\n long_name: 'Book of Ezra',\r\n last_chapter: 10,\r\n chapters: [0, 11, 70, 13, 24, 17, 22, 28, 36, 15, 44]\r\n },\r\n {\r\n book_number: 16,\r\n name: 'Nehemiah',\r\n short_name: 'Neh',\r\n long_name: 'Book of Nehemiah',\r\n last_chapter: 13,\r\n chapters: [0, 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]\r\n },\r\n {\r\n book_number: 17,\r\n name: 'Esther',\r\n short_name: 'Esther',\r\n long_name: 'Book of Esther',\r\n last_chapter: 10,\r\n chapters: [0, 22, 23, 15, 17, 14, 14, 10, 17, 32, 3]\r\n },\r\n {\r\n book_number: 18,\r\n name: 'Job',\r\n short_name: 'Job',\r\n long_name: 'Book of Job',\r\n last_chapter: 42,\r\n chapters: [0, 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17]\r\n },\r\n {\r\n book_number: 19,\r\n name: 'Psalms',\r\n short_name: 'Psalm',\r\n long_name: 'Book of Psalms',\r\n last_chapter: 150,\r\n chapters: [0, 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6]\r\n },\r\n {\r\n book_number: 20,\r\n name: 'Proverbs',\r\n short_name: 'Prov',\r\n long_name: 'Book of Proverbs',\r\n last_chapter: 31,\r\n chapters: [0, 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31]\r\n },\r\n {\r\n book_number: 21,\r\n name: 'Ecclesiastes',\r\n short_name: 'Eccl',\r\n long_name: 'Book of Ecclesiastes',\r\n last_chapter: 12,\r\n chapters: [0, 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]\r\n },\r\n {\r\n book_number: 22,\r\n name: 'Song of Solomon',\r\n short_name: 'Song',\r\n long_name: 'Song of Solomon',\r\n last_chapter: 8,\r\n chapters: [0, 17, 17, 11, 16, 16, 13, 13, 14]\r\n },\r\n {\r\n book_number: 23,\r\n name: 'Isaiah',\r\n short_name: 'Isa',\r\n long_name: 'Book of Isaiah',\r\n last_chapter: 66,\r\n chapters: [0, 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24]\r\n },\r\n {\r\n book_number: 24,\r\n name: 'Jeremiah',\r\n short_name: 'Jer',\r\n long_name: 'Book of Jeremiah',\r\n last_chapter: 52,\r\n chapters: [0, 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34]\r\n },\r\n {\r\n book_number: 25,\r\n name: 'Lamentations',\r\n short_name: 'Lam',\r\n long_name: 'Book of Lamentations',\r\n last_chapter: 5,\r\n chapters: [0, 22, 22, 66, 22, 22]\r\n },\r\n {\r\n book_number: 26,\r\n name: 'Ezekiel',\r\n short_name: 'Eze',\r\n long_name: 'Book of Ezekiel',\r\n last_chapter: 48,\r\n chapters: [0, 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35]\r\n },\r\n {\r\n book_number: 27,\r\n name: 'Daniel',\r\n short_name: 'Dan',\r\n long_name: 'Book of Daniel',\r\n last_chapter: 12,\r\n chapters: [0, 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]\r\n },\r\n {\r\n book_number: 28,\r\n name: 'Hosea',\r\n short_name: 'Hosea',\r\n long_name: 'Book of Hosea',\r\n last_chapter: 14,\r\n chapters: [0, 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]\r\n },\r\n {\r\n book_number: 29,\r\n name: 'Joel',\r\n short_name: 'Joel',\r\n long_name: 'Book of Joel',\r\n last_chapter: 3,\r\n chapters: [0, 20, 32, 21]\r\n },\r\n {\r\n book_number: 30,\r\n name: 'Amos',\r\n short_name: 'Amos',\r\n long_name: 'Book of Amos',\r\n last_chapter: 9,\r\n chapters: [0, 15, 16, 15, 13, 27, 14, 17, 14, 15]\r\n },\r\n {\r\n book_number: 31,\r\n name: 'Obadiah',\r\n short_name: 'Oba',\r\n long_name: 'Book of Obadiah',\r\n last_chapter: 1,\r\n chapters: [0, 21]\r\n },\r\n {\r\n book_number: 32,\r\n name: 'Jonah',\r\n short_name: 'Jonah',\r\n long_name: 'Book of Jonah',\r\n last_chapter: 4,\r\n chapters: [0, 17, 10, 10, 11]\r\n },\r\n {\r\n book_number: 33,\r\n name: 'Micah',\r\n short_name: 'Micah',\r\n long_name: 'Book of Micah',\r\n last_chapter: 7,\r\n chapters: [0, 16, 13, 12, 13, 15, 16, 20]\r\n },\r\n {\r\n book_number: 34,\r\n name: 'Nahum',\r\n short_name: 'Nahum',\r\n long_name: 'Book of Nahum',\r\n last_chapter: 3,\r\n chapters: [0, 15, 13, 19]\r\n },\r\n {\r\n book_number: 35,\r\n name: 'Habakkuk',\r\n short_name: 'Hab',\r\n long_name: 'Book of Habakkuk',\r\n last_chapter: 3,\r\n chapters: [0, 17, 20, 19]\r\n },\r\n {\r\n book_number: 36,\r\n name: 'Zephaniah',\r\n short_name: 'Zeph',\r\n long_name: 'Book of Zephaniah',\r\n last_chapter: 3,\r\n chapters: [0, 18, 15, 20]\r\n },\r\n {\r\n book_number: 37,\r\n name: 'Haggai',\r\n short_name: 'Hag',\r\n long_name: 'Book of Haggai',\r\n last_chapter: 2,\r\n chapters: [0, 15, 23]\r\n },\r\n {\r\n book_number: 38,\r\n name: 'Zechariah',\r\n short_name: 'Zech',\r\n long_name: 'Book of Zechariah',\r\n last_chapter: 14,\r\n chapters: [0, 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]\r\n },\r\n {\r\n book_number: 39,\r\n name: 'Malachi',\r\n short_name: 'Mal',\r\n long_name: 'Book of Malachi',\r\n last_chapter: 4,\r\n chapters: [0, 14, 17, 18, 6]\r\n },\r\n {\r\n book_number: 40,\r\n name: 'Matthew',\r\n short_name: 'Matt',\r\n long_name: 'Gospel of Matthew',\r\n last_chapter: 28,\r\n chapters: [0, 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20]\r\n },\r\n {\r\n book_number: 41,\r\n name: 'Mark',\r\n short_name: 'Mark',\r\n long_name: 'Gospel of Mark',\r\n last_chapter: 16,\r\n chapters: [0, 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]\r\n },\r\n {\r\n book_number: 42,\r\n name: 'Luke',\r\n short_name: 'Luke',\r\n long_name: 'Gospel of Luke',\r\n last_chapter: 24,\r\n chapters: [0, 80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]\r\n },\r\n {\r\n book_number: 43,\r\n name: 'John',\r\n short_name: 'John',\r\n long_name: 'Gospel of John',\r\n last_chapter: 21,\r\n chapters: [0, 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]\r\n },\r\n {\r\n book_number: 44,\r\n name: 'Acts',\r\n short_name: 'Acts',\r\n long_name: 'Acts of the Apostles',\r\n last_chapter: 28,\r\n chapters: [0, 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31]\r\n },\r\n {\r\n book_number: 45,\r\n name: 'Romans',\r\n short_name: 'Rom',\r\n long_name: 'Epistle to the Romans',\r\n last_chapter: 16,\r\n chapters: [0, 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]\r\n },\r\n {\r\n book_number: 46,\r\n name: '1 Corinthians',\r\n short_name: '1 Cor',\r\n long_name: 'First Epistle to the Corinthians',\r\n last_chapter: 16,\r\n chapters: [0, 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]\r\n },\r\n {\r\n book_number: 47,\r\n name: '2 Corinthians',\r\n short_name: '2 Cor',\r\n long_name: 'Second Epistle to the Corinthians',\r\n last_chapter: 13,\r\n chapters: [0, 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]\r\n },\r\n {\r\n book_number: 48,\r\n name: 'Galatians',\r\n short_name: 'Gal',\r\n long_name: 'Epistle to the Galatians',\r\n last_chapter: 6,\r\n chapters: [0, 24, 21, 29, 31, 26, 18]\r\n },\r\n {\r\n book_number: 49,\r\n name: 'Ephesians',\r\n short_name: 'Eph',\r\n long_name: 'Epistle to the Ephesians',\r\n last_chapter: 6,\r\n chapters: [0, 23, 22, 21, 32, 33, 24]\r\n },\r\n {\r\n book_number: 50,\r\n name: 'Philippians',\r\n short_name: 'Phil',\r\n long_name: 'Epistle to the Philippians',\r\n last_chapter: 4,\r\n chapters: [0, 30, 30, 21, 23]\r\n },\r\n {\r\n book_number: 51,\r\n name: 'Colossians',\r\n short_name: 'Col',\r\n long_name: 'Epistle to the Colossians',\r\n last_chapter: 4,\r\n chapters: [0, 29, 23, 25, 18]\r\n },\r\n {\r\n book_number: 52,\r\n name: '1 Thessalonians',\r\n short_name: '1 Thes',\r\n long_name: 'First Epistle to the Thessalonians',\r\n last_chapter: 5,\r\n chapters: [0, 10, 20, 13, 18, 28]\r\n },\r\n {\r\n book_number: 53,\r\n name: '2 Thessalonians',\r\n short_name: '2 Thes',\r\n long_name: 'Second Epistle to the Thessalonians',\r\n last_chapter: 3,\r\n chapters: [0, 12, 17, 18]\r\n },\r\n {\r\n book_number: 54,\r\n name: '1 Timothy',\r\n short_name: '1 Tim',\r\n long_name: 'First Epistle to Timothy',\r\n last_chapter: 6,\r\n chapters: [0, 20, 15, 16, 16, 25, 21]\r\n },\r\n {\r\n book_number: 55,\r\n name: '2 Timothy',\r\n short_name: '2 Tim',\r\n long_name: 'Second Epistle to Timothy',\r\n last_chapter: 4,\r\n chapters: [0, 18, 26, 17, 22]\r\n },\r\n {\r\n book_number: 56,\r\n name: 'Titus',\r\n short_name: 'Titis',\r\n long_name: 'Epistle to Titus',\r\n last_chapter: 3,\r\n chapters: [0, 16, 15, 15]\r\n },\r\n {\r\n book_number: 57,\r\n name: 'Philemon',\r\n short_name: 'Phi',\r\n long_name: 'Epistle to Philemon',\r\n last_chapter: 1,\r\n chapters: [0, 25]\r\n },\r\n {\r\n book_number: 58,\r\n name: 'Hebrews',\r\n short_name: 'Heb',\r\n long_name: 'Epistle to the Hebrews',\r\n last_chapter: 13,\r\n chapters: [0, 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]\r\n },\r\n {\r\n book_number: 59,\r\n name: 'James',\r\n short_name: 'James',\r\n long_name: 'Epistle of James',\r\n last_chapter: 5,\r\n chapters: [0, 27, 26, 18, 17, 20]\r\n },\r\n {\r\n book_number: 60,\r\n name: '1 Peter',\r\n short_name: '1 Pe',\r\n long_name: 'First Epistle of Peter',\r\n last_chapter: 5,\r\n chapters: [0, 25, 25, 22, 19, 14]\r\n },\r\n {\r\n book_number: 61,\r\n name: '2 Peter',\r\n short_name: '2 Pe',\r\n long_name: 'Second Epistle of Peter',\r\n last_chapter: 3,\r\n chapters: [0, 21, 22, 18]\r\n },\r\n {\r\n book_number: 62,\r\n name: '1 John',\r\n short_name: '1 Jn',\r\n long_name: 'First Epistle of John',\r\n last_chapter: 5,\r\n chapters: [0, 10, 29, 24, 21, 21]\r\n },\r\n {\r\n book_number: 63,\r\n name: '2 John',\r\n short_name: '2 Jn',\r\n long_name: 'Second Epistle of John',\r\n last_chapter: 1,\r\n chapters: [0, 13]\r\n },\r\n {\r\n book_number: 64,\r\n name: '3 John',\r\n short_name: '3 Jn',\r\n long_name: 'Third Epistle of John',\r\n last_chapter: 1,\r\n chapters: [0, 14]\r\n },\r\n {\r\n book_number: 65,\r\n name: 'Jude',\r\n short_name: 'Jude',\r\n long_name: 'Epistle to Jude',\r\n last_chapter: 1,\r\n chapters: [0, 25]\r\n },\r\n {\r\n book_number: 66,\r\n name: 'Revelation',\r\n short_name: 'Rev',\r\n long_name: 'Book of Revelations',\r\n last_chapter: 22,\r\n chapters: [0, 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]\r\n }\r\n ];\r\n\r\n public static bookName(booknum: number): Book\r\n {\r\n return this.Books[booknum];\r\n }\r\n}\r\n\r\nexport type Book = {\r\n name: string,\r\n short_name: string,\r\n long_name: string,\r\n book_number: number,\r\n last_chapter: number,\r\n chapters: [number],\r\n};\r\n\r\nexport type Section = {\r\n start: Location,\r\n end: Location,\r\n};\r\n\r\nexport type Location = {\r\n book: Book,\r\n chapter: string,\r\n verse: string,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Reference.ts","import { Component, ViewChild } from '@angular/core';\nimport { Platform, MenuController, Nav } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { SearchPage } from '../pages/search/search';\n\nimport { PagesService } from '../services/pages-service';\n\n@Component({\n templateUrl: 'app.html',\n providers: [PagesService]\n})\nexport class MyApp\n{\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = SearchPage;\n\n constructor(\n public platform: Platform,\n public menu: MenuController,\n private statusBar: StatusBar,\n private splash: SplashScreen,\n private pagesSvc: PagesService\n )\n {\n this.initializeApp();\n }\n\n initializeApp()\n {\n this.platform.ready().then(() =>\n {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this.statusBar.styleDefault();\n this.splash.hide();\n });\n }\n\n openPage(page)\n {\n // close the menu when clicking a link from the menu\n this.menu.close('pages');\n \n // because the actions menu is on a Page component, and you swap the SearchPage out,\n // the menu get registered multiple times. to avoid some pages not opening the menu because\n // multiple menus with the same id exist and the first one in the list is returned (which happens\n // be disabled when another of the same id is added) it won't show. because not enabled.\n // ---\n // unregistering the actions menu whenever a new page is opened fixes the problem, because the menu\n // will get reregistered when SearchPage loads. Also, if you go to a non SearchPage, the actions\n // menu won't be there, but the unregister function doesn't fail if a non existent id is given,\n // so thats ok.\n this.menu._unregister(this.menu.get('actions'));\n\n // navigate to the new page if it is not the current page\n this.nav.setRoot(page.component, page.params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","// our root app component\r\nimport {Component, Compiler, ViewContainerRef, ViewChild, Input, ComponentRef, ComponentFactoryResolver, ChangeDetectorRef} from '@angular/core'\r\n\r\n// Helper component to add dynamic components\r\n@Component({\r\n selector: 'component-loader',\r\n template: `
`\r\n})\r\nexport class ComponentLoader {\r\n @ViewChild('target', { read: ViewContainerRef }) target;\r\n @Input() type;\r\n @Input() data;\r\n cmpRef: ComponentRef;\r\n private isViewInitialized = false;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private compiler: Compiler,\r\n private cdRef: ChangeDetectorRef) { }\r\n\r\n updateComponent() {\r\n if (!this.isViewInitialized) {\r\n return;\r\n }\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(this.type);\r\n this.cmpRef = this.target.createComponent(factory);\r\n // to access the created instance use\r\n // this.compRef.instance.someProperty = 'someValue';\r\n // this.compRef.instance.someOutput.subscribe(val => doSomething());\r\n \r\n this.cmpRef.instance.item = this.data;\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnChanges() {\r\n this.updateComponent();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.isViewInitialized = true;\r\n this.updateComponent();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n }\r\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/component-loader/component-loader.ts","import { Component, EventEmitter, Output, Input, OnInit, ElementRef } from '@angular/core';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { BiblePassageResult, BibleService, BiblePassage, BibleVerse, HashTable, Paragraph } from '../../services/bible-service';\nimport { Reference } from '../../libs/Reference';\nimport { ProfileService } from '../../services/profile-service';\n\n@Component({\n selector: 'passage',\n templateUrl: 'passage.html',\n providers: [BibleService]\n})\nexport class Passage implements OnInit\n{\n @Output()\n onItemClicked = new EventEmitter();\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n data: BiblePassageResult;\n withParas: BibleParaPassage[];\n ref: Reference;\n\n constructor(private bibleService: BibleService, private elementRef: ElementRef, private profileService: ProfileService)\n {\n }\n\n ngOnInit(): void\n {\n this.ref = new Reference(this.cardItem.qry);\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.setData(data);\n });\n }\n\n\n setData(data: BiblePassageResult)\n {\n this.data = data;\n this.withParas = this.getParaPassages(data.cs);\n }\n\n close()\n {\n let d = 250;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() =>\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n next()\n {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)].toString();\n\n if (this.ref.Section.end.verse !== '*' && this.ref.Section.end.verse !== last_verse_for_end)\n this.ref.Section.end.chapter = this.ref.Section.end.chapter;\n else\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n\n this.ref.Section.start.chapter = this.ref.Section.end.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n prev()\n {\n if (this.ref.Section.start.verse !== '1')\n this.ref.Section.start.chapter = this.ref.Section.start.chapter;\n else\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n\n this.ref.Section.end.chapter = this.ref.Section.start.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n expand()\n {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)];\n\n // if your verse is at the beginning, to go the prev chapter and add 3 verses from that\n if (parseInt(this.ref.Section.start.verse) < 4)\n {\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n this.ref.Section.start.verse = '*-' + (3 - parseInt(this.ref.Section.start.verse));\n if (this.ref.Section.start.chapter === '0')\n {\n this.ref.Section.start.chapter = '1';\n this.ref.Section.start.verse = '1';\n }\n }\n else // or go back 3 verses\n this.ref.Section.start.verse = (parseInt(this.ref.Section.start.verse) - 3).toString();\n\n // if your verse is at the end, go to the next chapter\n if (this.ref.Section.end.verse === '*' || parseInt(this.ref.Section.end.verse) + 3 > last_verse_for_end)\n {\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n if (this.ref.Section.end.verse === '*')\n this.ref.Section.end.verse = '3';\n else\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3 - last_verse_for_end).toString();\n\n if (this.ref.Section.end.chapter === (this.ref.Section.end.book.last_chapter + 1).toString())\n {\n this.ref.Section.end.chapter = this.ref.Section.end.book.last_chapter.toString();\n this.ref.Section.end.verse = last_verse_for_end.toString();\n }\n }\n else // or add 3 verses\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3).toString();\n\n if (this.ref.Section.start.verse === '0')\n this.ref.Section.start.verse = '1';\n\n this.bibleService.getResultAsPromise(this.ref.Section).then(data =>\n {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n openStrongs(strongs: string)\n {\n this.onItemClicked.emit({ card: this.cardItem, qry: this.cardItem.dict + strongs, from_search_bar: false });\n }\n\n openMenu(strongs: string)\n {\n }\n\n isPunct(c: string)\n {\n return new RegExp('^[\\.\\,\\;\\:\\?\\!]$').test(c);\n }\n\n hasHeader(p: Paragraph)\n {\n if (p === undefined)\n return false;\n\n return p.h.length > 0;\n }\n\n isPara(vs: BibleVerse)\n {\n return this.getRefKey(vs) in BibleService.paragraphs;\n }\n\n getRefKey(vs: BibleVerse)\n {\n return this.ref.Section.start.book.book_number + ';' + this.ref.Section.start.chapter + ';' + vs.v;\n }\n\n getParaPassages(chapters: BiblePassage[])\n {\n let passages: BibleParaPassage[] = [];\n for (let ch of chapters)\n {\n let para = {\n ch: ch.ch,\n paras: this.getParas(ch)\n };\n\n passages.push(para);\n }\n return passages;\n }\n\n getParas(ch: BiblePassage)\n {\n // group the verses into paragraphs.\n\n // create an initial paragraph to hold verses that might come before a paragraph.\n let para: BiblePara = { p: { h: '', p: 0 }, vss: [] };\n let paras: BiblePara[] = [];\n\n // for each verse in the chapter, break them into paragraphs.\n for (let v of ch.vss)\n {\n if (this.isPara(v))\n {\n paras.push(para);\n para = { p: BibleService.paragraphs[this.getRefKey(v)], vss: [v] };\n if (para.p === undefined)\n para.p = { h: '', p: 0 }; // just in case you can't find a paragraph.\n }\n else\n {\n para.vss.push(v);\n }\n }\n\n // add the final paragraph if it has verses.\n if (para.vss.length > 0)\n paras.push(para);\n\n return paras;\n }\n}\n\ntype BiblePara = {\n p: Paragraph,\n vss: BibleVerse[],\n}\n\ntype BibleParaPassage = {\n ch: number;\n paras: BiblePara[];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/passage/passage.ts","/// \r\n/// \r\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\nimport { Section, Reference } from '../libs/Reference';\r\n\r\n@Injectable()\r\nexport class BibleService\r\n{\r\n chapters: BiblePassage[];\r\n result: BiblePassageResult;\r\n static paragraphs: HashTable;\r\n count = 0;\r\n $: any;\r\n\r\n constructor(private http: Http)\r\n {\r\n this.getParagraphMarkersAsPromise()\r\n }\r\n\r\n getParagraphMarkersAsPromise(): Promise>\r\n {\r\n return new Promise((resolve) => { resolve(this.getParagraphMarkers()); });\r\n }\r\n\r\n getParagraphMarkers() : HashTable\r\n {\r\n try\r\n {\r\n if (BibleService.paragraphs !== undefined && '1;1;1' in BibleService.paragraphs)\r\n return BibleService.paragraphs;\r\n\r\n const self = this;\r\n\r\n const url = 'data/bibles/paras.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: HashTable)\r\n {\r\n BibleService.paragraphs = d;\r\n },\r\n error()\r\n {\r\n console.log('Unable to retrieve paragraphs.');\r\n }\r\n });\r\n\r\n return BibleService.paragraphs;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n\r\n getResultAsPromise(section: Section): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(section)); });\r\n }\r\n\r\n getResult(section: Section): BiblePassageResult\r\n {\r\n try\r\n {\r\n const self = this;\r\n this.chapters = []; // the verses from the chapter.\r\n this.result = {\r\n cs: [],\r\n testament: '',\r\n ref: Reference.toString(section),\r\n status: 0,\r\n msg: ':)'\r\n };\r\n\r\n if (Number(section.start.chapter) > section.start.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.start.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.start.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n if (Number(section.end.chapter) > section.end.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.end.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.end.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n this.count = Number(section.end.chapter) - Number(section.start.chapter) + 1;\r\n\r\n for (let i = Number(section.start.chapter); i <= Number(section.end.chapter); i++)\r\n {\r\n const url = 'data/bibles/kjv_strongs/' + section.start.book.book_number + '-' + i + '.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: BiblePassage)\r\n {\r\n self.chapters.push(d);\r\n },\r\n error()\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve bible passage ' + self.result.ref + '.';\r\n }\r\n });\r\n }\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n for (let j = 0; j < this.chapters.length; j++)\r\n {\r\n const vss: BibleVerse[] = [];\r\n let start: number;\r\n let end;\r\n\r\n // figure out the start verse.\r\n if (j === 0)\r\n {\r\n if (section.start.verse.indexOf('*') !== -1) // you sometimes use this as a shortcut to the last verse\r\n {\r\n // replace the * with the last verse, then eval the expression.\r\n section.start.verse = section.start.verse.replace('*', (this.chapters[j].vss.length).toString());\r\n\r\n start = math.eval(section.start.verse);\r\n\r\n // update the section and the ref.\r\n section.start.verse = start.toString();\r\n this.result.ref = Reference.toString(section);\r\n }\r\n else\r\n start = parseInt(section.start.verse);\r\n }\r\n else\r\n start = 1;\r\n\r\n // figure out the end verse\r\n if ((j + 1) === this.chapters.length)\r\n end = section.end.verse;\r\n else\r\n end = '*';\r\n\r\n // get the verses requested.\r\n const tvs = this.chapters[j].vss.length;\r\n if (end === '*' || parseInt(end) > tvs)\r\n end = tvs;\r\n\r\n // we're using c based indexes here, so the index is 1 less than the verse #.\r\n for (let i = start; i <= end; i++)\r\n vss.push(this.chapters[j].vss[i - 1]);\r\n\r\n this.result.cs.push({\r\n ch: this.chapters[j].ch,\r\n vss: vss\r\n });\r\n }\r\n\r\n\r\n if (section.start.book.book_number >= 40)\r\n this.result.testament = 'new';\r\n else\r\n this.result.testament = 'old';\r\n\r\n return this.result;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport type BiblePassageResult = {\r\n cs: BiblePassage[],\r\n testament: string,\r\n ref: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\nexport type BiblePassage = {\r\n ch: number,\r\n vss: BibleVerse[],\r\n}\r\n\r\nexport type BibleVerse = {\r\n v: number,\r\n w: [\r\n {\r\n t: string, s: string,\r\n }\r\n ],\r\n}\r\n\r\nexport type Paragraph = {\r\n h: string,\r\n p: number\r\n}\r\n\r\nexport interface HashTable\r\n{\r\n [key: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/bible-service.ts","import { HostListener, EventEmitter, Component, Input, Output, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\nimport { Reference } from '../../libs/Reference';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { StrongsResult, StrongsService } from '../../services/strongs-service';\n\n@Component({\n selector: 'strongs',\n templateUrl: 'strongs.html',\n providers: [StrongsService]\n})\nexport class Strongs implements AfterViewChecked, OnInit\n{\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n data: StrongsResult;\n\n constructor(private strongsService: StrongsService, private elementRef: ElementRef)\r\n {\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(evt)\r\n {\n $('strongs ion-scroll').each((i, el) =>\r\n {\r\n let len = $(el).find('.scroll-content .scroll-zoom-wrapper dl span').length;\r\n len += $(el).find('.scroll-content .scroll-zoom-wrapper dl dd').length;\r\n\r\n if (len < 20)\r\n $(el).css('height', Math.ceil(len / 3) * 30 + 30);\r\n });\r\n }\n\n ngAfterViewChecked(): void\n {\r\n this.onResize(null);\r\n }\n\r\n ngOnInit(): void\r\n {\r\n this.strongsService.getResultAsPromise(parseInt(this.cardItem.qry), this.cardItem.dict)\r\n .then(data =>\r\n this.data = data\r\n );\r\n }\n\n close()\n {\r\n const d = 275;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() =>\r\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\r\n openItem(p: string)\r\n {\n this.onItemClicked.emit({ card: this.cardItem, qry: p, from_search_bar: false });\n }\n\n makePassage(p: string)\r\n {\n return Reference.bookName(parseInt(p.split(';')[0])).name + ' ' + p.split(';')[1] + ':' + p.split(';')[2];\n }\n\n openPassage(p: string)\n {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs/strongs.ts","/// \nimport { HostListener, EventEmitter, Component, Input, Output, AfterViewChecked, OnInit, ElementRef } from '@angular/core';\nimport { Reference } from '../../libs/Reference';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { WordLookupResult, WordService } from '../../services/word-service';\n\n@Component({\n selector: 'words',\n templateUrl: 'words.html',\n providers: [WordService]\n})\nexport class Words implements AfterViewChecked, OnInit\n{\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n $: any;\n\n data: WordLookupResult;\n\n constructor(private wordService: WordService, private elementRef: ElementRef)\r\n {\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(evt)\r\n {\n $('words ion-scroll').each((i, el) =>\r\n {\r\n const wr = $(el).find('.scroll-content .scroll-zoom-wrapper')[0];\r\n const len = $(el).find('.scroll-zoom-wrapper a').length;\r\n\r\n if (wr.scrollWidth < 500) // 1 col\r\n {\r\n // 5 rows\r\n len < 6 ? $(el).css('height', len * 44.4 + 25) : $(el).css('height', 250);\n }\r\n else if (wr.scrollWidth < 699) // 2 col\r\n {\r\n // 6 rows\r\n len < 13 ? $(el).css('height', Math.ceil(len / 2) * 44.4 + 25) : $(el).css('height', 300);\r\n }\r\n else if (wr.scrollWidth < 799) // 3 col\r\n {\r\n // 7 rows\r\n len < 22 ? $(el).css('height', Math.ceil(len / 3) * 44.4 + 25) : $(el).css('height', 350);\r\n }\r\n else if (wr.scrollWidth < 899) // 4 col\r\n {\r\n // 7 rows\r\n len < 29 ? $(el).css('height', Math.ceil(len / 4) * 44.4 + 25) : $(el).css('height', 375);\r\n }\r\n else if (wr.scrollWidth < 1199) // 5 col\r\n {\r\n // 8 rows\r\n len < 41 ? $(el).css('height', Math.ceil(len / 5) * 44.4 + 25) : $(el).css('height', 400);\r\n }\r\n else // 6 col\r\n {\r\n // 8 rows\r\n len < 49 ? $(el).css('height', Math.ceil(len / 6) * 44.4 + 25) : $(el).css('height', 425);\r\n }\r\n });\r\n }\n public ngAfterViewChecked(): void\n {\r\n this.onResize(null);\r\n }\n\n ngOnInit(): void\r\n {\r\n this.wordService.getResultAsPromise(this.cardItem.qry).then(data =>\r\n this.data = data\r\n );\r\n }\r\n\r\n close()\r\n {\n const d = 275;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() =>\r\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n makePassage(p: string)\n {\n return Reference.bookName(parseInt(p.split(':')[0])).name + ' ' + p.split(':')[1] + ':' + p.split(':')[2];\n }\n\n openPassage(p: string)\n {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/words/words.ts","/// \r\nimport { stemmer } from '../libs/Stemmer';\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\n\r\n@Injectable()\r\nexport class WordService\r\n{\r\n\r\n wordToStem: Map = {};\n\r\n constructor(private http: Http)\r\n {\r\n this.getStemWordIndex();\r\n }\r\n\r\n normalizeQueryString(qry: string): string[]\r\n {\r\n qry = qry.toLowerCase();\r\n return qry.replace(/'/g, '').replace(/\\s+/g, ' ').split(' ');\r\n }\r\n\r\n getResultAsPromise(qry: string): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(qry)); });\r\n }\r\n\r\n getResult(qry: string): WordLookupResult\r\n {\r\n const qs = this.normalizeQueryString(qry);\r\n const words = this.buildIndexArray().sort();\r\n const results = new Array();\r\n\r\n // Loop through each query term.\r\n for (let q of qs)\r\n {\r\n const stem = this.wordToStem[q];\r\n\r\n // For each query term, figure out which xml file it is in, and get it.\r\n // getSearchRefs returns an array of references.\r\n for (let w = 0; w < words.length; w++)\r\n {\r\n // If we are at the end of the array, we want to use a different test.\r\n if (w === 0)\r\n {\r\n if (stem <= words[w])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n if (stem <= words[w] && stem > words[w - 1])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n }\r\n } // End of loop through query terms\r\n\r\n // Now we need to test results. If there is more than one item in the array, we need to find the set\r\n // that is shared by all of them. IF not, we can just return those refs.\r\n if (results.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n let shared: string[];\r\n if (results.length === 1)\r\n {\r\n shared = results[0];\r\n }\r\n else\r\n {\r\n shared = this.findSharedSet(results);\r\n }\r\n\r\n if (shared == null || shared.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n return { word: qry, refs: shared, status: 0, msg: ':)' };\r\n }\r\n \r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getStemWordIndex()\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: WordToStem[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/index/word_to_stem_idx.json',\r\n dataType: 'json',\r\n success(d: WordToStem[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\n for (let i of r)\r\n {\r\n this.wordToStem[i.w] = i.s;\r\n }\r\n }\n\r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getSearchReferences(url, query): string[]\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: IndexResult[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: IndexResult[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\r\n const refs = $.grep(r, (o) => o.w === query);\r\n\r\n if (refs.length > 0)\r\n return refs[0].r;\r\n else\r\n return [];\r\n }\r\n\r\n private buildIndexArray()\r\n {\r\n const words = new Array();\r\n words.unshift('abishur');\r\n words.unshift('achor');\r\n words.unshift('adoni');\r\n words.unshift('afterward');\r\n words.unshift('ahishahar');\r\n words.unshift('alleg');\r\n words.unshift('ambush');\r\n words.unshift('ancestor');\r\n words.unshift('aphik');\r\n words.unshift('arbah');\r\n words.unshift('arodi');\r\n words.unshift('ashkenaz');\r\n words.unshift('ate');\r\n words.unshift('azaniah');\r\n words.unshift('backbiteth');\r\n words.unshift('barbarian');\r\n words.unshift('beard');\r\n words.unshift('begettest');\r\n words.unshift('benefactor');\r\n words.unshift('bethel');\r\n words.unshift('bilshan');\r\n words.unshift('blindeth');\r\n words.unshift('booti');\r\n words.unshift('breaketh');\r\n words.unshift('bucket');\r\n words.unshift('cabbon');\r\n words.unshift('caphtor');\r\n words.unshift('causeless');\r\n words.unshift('chapmen');\r\n words.unshift('chese');\r\n words.unshift('chrysoprasus');\r\n words.unshift('cloth');\r\n words.unshift('common');\r\n words.unshift('confess');\r\n words.unshift('contendeth');\r\n words.unshift('coucheth');\r\n words.unshift('crept');\r\n words.unshift('curseth');\r\n words.unshift('darius');\r\n words.unshift('decketh');\r\n words.unshift('dema');\r\n words.unshift('devil');\r\n words.unshift('directeth');\r\n words.unshift('disposit');\r\n words.unshift('doth');\r\n words.unshift('drowsi');\r\n words.unshift('ebe');\r\n words.unshift('elead');\r\n words.unshift('elkoshit');\r\n words.unshift('encourag');\r\n words.unshift('entreat');\r\n words.unshift('eschew');\r\n words.unshift('ever');\r\n words.unshift('expert');\r\n words.unshift('fallest');\r\n words.unshift('feedeth');\r\n words.unshift('filthi');\r\n words.unshift('fleeth');\r\n words.unshift('forborn');\r\n words.unshift('forsookest');\r\n words.unshift('fretteth');\r\n words.unshift('gahar');\r\n words.unshift('gazzam');\r\n words.unshift('gibea');\r\n words.unshift('glister');\r\n words.unshift('got');\r\n words.unshift('grope');\r\n words.unshift('hadlai');\r\n words.unshift('hammon');\r\n words.unshift('harbona');\r\n words.unshift('hasrah');\r\n words.unshift('hazezon');\r\n words.unshift('heinous');\r\n words.unshift('herebi');\r\n words.unshift('highest');\r\n words.unshift('holdeth');\r\n words.unshift('hosanna');\r\n words.unshift('huri');\r\n words.unshift('ill');\r\n words.unshift('inexcus');\r\n words.unshift('intend');\r\n words.unshift('ishui');\r\n words.unshift('jaazaniah');\r\n words.unshift('jaminit');\r\n words.unshift('jecoliah');\r\n words.unshift('jeopard');\r\n words.unshift('jethro');\r\n words.unshift('joiarib');\r\n words.unshift('juda');\r\n words.unshift('kelaiah');\r\n words.unshift('kishion');\r\n words.unshift('laden');\r\n words.unshift('laughter');\r\n words.unshift('lehi');\r\n words.unshift('lift');\r\n words.unshift('loatheth');\r\n words.unshift('lucius');\r\n words.unshift('madmen');\r\n words.unshift('malachi');\r\n words.unshift('march');\r\n words.unshift('maul');\r\n words.unshift('melchizedek');\r\n words.unshift('merrili');\r\n words.unshift('midianit');\r\n words.unshift('miri');\r\n words.unshift('modest');\r\n words.unshift('move');\r\n words.unshift('naashon');\r\n words.unshift('nazareth');\r\n words.unshift('nephishesim');\r\n words.unshift('nisan');\r\n words.unshift('obadiah');\r\n words.unshift('oliveyard');\r\n words.unshift('oren');\r\n words.unshift('overrun');\r\n words.unshift('pallu');\r\n words.unshift('pas');\r\n words.unshift('peel');\r\n words.unshift('pernici');\r\n words.unshift('philip');\r\n words.unshift('pison');\r\n words.unshift('plucketh');\r\n words.unshift('pour');\r\n words.unshift('price');\r\n words.unshift('proport');\r\n words.unshift('purg');\r\n words.unshift('rabboni');\r\n words.unshift('ravish');\r\n words.unshift('redeemedst');\r\n words.unshift('remainest');\r\n words.unshift('reput');\r\n words.unshift('revers');\r\n words.unshift('rissah');\r\n words.unshift('ruddi');\r\n words.unshift('said');\r\n words.unshift('sapphir');\r\n words.unshift('scepter');\r\n words.unshift('secundus');\r\n words.unshift('separ');\r\n words.unshift('shachia');\r\n words.unshift('sharar');\r\n words.unshift('sheepshear');\r\n words.unshift('sheva');\r\n words.unshift('shishak');\r\n words.unshift('shroud');\r\n words.unshift('signifi');\r\n words.unshift('sittest');\r\n words.unshift('slow');\r\n words.unshift('soft');\r\n words.unshift('sowedst');\r\n words.unshift('spoil');\r\n words.unshift('station');\r\n words.unshift('stoop');\r\n words.unshift('strongest');\r\n words.unshift('sum');\r\n words.unshift('sweep');\r\n words.unshift('tahapan');\r\n words.unshift('tast');\r\n words.unshift('ten');\r\n words.unshift('thereat');\r\n words.unshift('threaten');\r\n words.unshift('timbrel');\r\n words.unshift('tongu');\r\n words.unshift('travailest');\r\n words.unshift('trust');\r\n words.unshift('uncircumcis');\r\n words.unshift('unprepar');\r\n words.unshift('urg');\r\n words.unshift('vat');\r\n words.unshift('visiteth');\r\n words.unshift('wash');\r\n words.unshift('wed');\r\n words.unshift('wherewith');\r\n words.unshift('winepress');\r\n words.unshift('won');\r\n words.unshift('written');\r\n words.unshift('zalmonah');\r\n words.unshift('zenan');\r\n words.unshift('ziphim');\r\n words.unshift('zuzim');\n\r\n return words;\r\n }\r\n\r\n /*\r\n * Returns a list of references in string form as a string[] that are shared\r\n * given a list of lists of references in string form.\r\n */\r\n private findSharedSet(results)\r\n {\r\n // FindSharedSet takes an array of reference arrays, and figures out\r\n // which references are shared by all arrays/sets, then returns a single\r\n // array of references.\r\n for (let j in results)\r\n {\r\n if (results.hasOwnProperty(j))\r\n {\r\n const refs = results[j];\r\n if (refs != null)\r\n {\r\n for (let i = 0; i < refs.length; i++)\r\n {\r\n const r = refs[i].split(':');\r\n // convert references to single integers.\r\n // Book * 100000000, Chapter * 10000, Verse remains same, add all together.\r\n let ref = r[0] * 100000000;\r\n ref = ref + (r[1] * 10000);\r\n ref = ref + r[2] * 1;\r\n results[j][i] = ref;\r\n }\r\n } else\r\n return null;\r\n }\r\n }\r\n\r\n // get the first result\r\n let result = results[0];\r\n\r\n // for each additional result, get the shared set\r\n for (let i = 1; i < results.length; i++)\r\n result = this.returnSharedSet(results[i], result);\r\n\r\n // convert the references back into book, chapter and verse.\r\n for (let i = 0; i < result.length; i++)\r\n {\r\n const ref = result[i];\r\n result[i] = Math.floor(ref / 100000000) + ':' + Math.floor((ref % 100000000) / 10000) + ':' + Math.floor((ref % 100000000) % 10000);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private returnSharedSet(x, y)\r\n {\r\n /// \r\n /// Takes two javascript arrays and returns an array\r\n /// containing a set of values shared by arrays.\r\n /// \r\n // declare iterator\r\n let i = 0;\r\n // declare terminator\r\n let t = (x.length < y.length) ? x.length : y.length;\r\n // sort the arrays\r\n x.sort((a, b) => a - b);\r\n y.sort((a, b) => a - b);\r\n // in this loop, we remove from the arrays, the\r\n // values that aren't shared between them.\r\n while (i < t)\r\n {\r\n if (x[i] === y[i])\r\n i++;\r\n\r\n if (x[i] < y[i])\r\n x.splice(i, 1);\r\n\r\n if (x[i] > y[i])\r\n y.splice(i, 1);\r\n\r\n t = (x.length < y.length) ? x.length : y.length;\r\n // we have to make sure to remove any extra values\r\n // at the end of an array when we reach the end of\r\n // the other.\r\n if (t === i && t < x.length)\r\n x.splice(i, x.length - i);\r\n\r\n if (t === i && t < y.length)\r\n y.splice(i, x.length - i);\r\n }\r\n // we could return y, because at this time, both arrays\r\n // are identical.\r\n return x;\r\n }\r\n}\r\n\r\nexport type WordLookupResult = {\r\n refs: string[],\r\n word: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\ntype IndexResult = {\r\n r: string[];\r\n w: string;\r\n}\n\ntype WordToStem = { w:string, s: string}\r\ninterface Map\r\n{\r\n [K: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/word-service.ts","import { EventEmitter, Component, Input, Output, ElementRef } from '@angular/core';\nimport { CardItem } from '../../pages/search/search';\n\n@Component({\n selector: 'error',\n templateUrl: 'error.html'\n})\nexport class Error\r\n{\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n constructor(private elementRef: ElementRef)\r\n {\n }\n\n close()\r\n {\n const d = 275;\n this.elementRef.nativeElement.parentElement.animate({\n transform: ['none', 'translate3d(110%, 0, 0)']\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out',\n });\n setTimeout(() =>\r\n {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error/error.ts","import { Component, Input} from '@angular/core';\n\n@Component({\n selector: 'error-message',\n templateUrl: 'error-message.html'\n})\nexport class ErrorMessage\r\n{\n @Input()\n msg: string;\n\n constructor()\r\n {\n this.msg = '';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error-message/error-message.ts","/// \nimport { Injectable } from '@angular/core';\nimport { AngularFireDatabase, AngularFireObject } from 'angularfire2/database';\nimport { AngularFireAuth } from 'angularfire2/auth';\nimport * as firebase from 'firebase/app';\nimport { Observable } from 'rxjs/Observable';\nimport { Catch } from 'rxjs/add/operator';\nimport { Storage } from '@ionic/storage';\n\nimport { CardItem } from '../pages/search/search';\nimport { Promise } from 'q';\nimport { setTimeout } from 'timers';\n\nimport { Output, EventEmitter } from '@angular/core';\n\nexport const DEFAULT_USER_NAME = 'john_doe';\n\n@Injectable()\nexport class ProfileService\n{\n @Output()\n onSavedPagesChanged = new EventEmitter();\n @Output()\n onLocalStorageLoaded = new EventEmitter();\n\n localProfile: User;\n remoteProfile: fbObject | null;\n isWeb: boolean;\n url: string;\n needsSync = false;\n firebaseUser: firebase.User;\n remoteLoggedIn: boolean;\n localIsLoaded: boolean;\n\n constructor(\n private local: Storage,\n private db: AngularFireDatabase,\n public firebaseAuth: AngularFireAuth\n )\n {\n this.url = document.URL;\n this.isWeb = (document.URL.startsWith('http') && !document.URL.startsWith('http://localhost:8080'));\n this.localIsLoaded = false;\n\n // asyncrounosly kick off a poller that does the work of syncing remotely when the\n // profile needs to be synced.\n (function poll(self)\n {\n setTimeout(function ()\n {\n // Setup the next poll recursively\n if (self.needsSync)\n {\n // do the sync here.\n // If we have a remote profile then save it there too \n if (self.remoteProfile && self.localProfile.uid)\n {\n let st = new Date(); console.log('Saving the remote profile...');\n self.remoteProfile.ref.set(self.localProfile);\n console.log(' Finished saving remote profile. ' + self.elapsed(st, new Date) + 'ms');\n }\n self.needsSync = false;\n }\n\n poll(self);\n }, 10000);\n })(this);\n\n this.local.get('profile').then(json_profile =>\n {\n let t = this.profile();\n\n if (json_profile !== null)\n t = JSON.parse(json_profile);\n\n this.localProfile = t;\n this.localIsLoaded = true;\n this.onLocalStorageLoaded.emit(this.localProfile);\n });\n\n this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state));\n\n }\n\n profile(): User\n {\n if (!this.localProfile)\n {\n this.localProfile = ProfileService.createDefaultUser();\n }\n\n return this.localProfile;\n }\n\n subscribeToRemoteProfile(db: AngularFireDatabase, user: firebase.User)\n {\n console.log('subscribeToRemoteProfile');\n if (!user || this.firebaseUser) return;\n console.log('You got the firebase user.');\n let obj = db.object('/settings/' + user.uid);\n this.remoteProfile = {\n ref: obj as AngularFireObject,\n stream: obj.valueChanges() as Observable,\n };\n this.firebaseUser = user;\n this.profile().username = user.displayName;\n this.profile().uid = user.uid;\n\n this.remoteProfile.stream.subscribe(\n user => this.handleRemotePreferenceChange(user),\n error => console.log(error));\n }\n\n\n comparePage(a: SavedPage, b: SavedPage)\n {\n if (a.title > b.title)\n return 1;\n if (a.title === b.title)\n return 0;\n if (a.title < b.title)\n return -1;\n\n }\n private returnYonly(a: SavedPage[], b: SavedPage[])\n {\n let r: SavedPage[] = [];\n if (b === undefined)\n return r;\n\n if (a !== undefined && a.length === 0 && b !== undefined && b.length > 0)\n return [...b];\n\n let x = [...a];\n let y = [...b];\n\n /// \n /// Takes two javascript arrays and returns an array\n /// containing a set of values shared by arrays.\n /// \n // declare iterator\n let i = 0;\n // declare terminator\n let t = (x.length < y.length) ? x.length : y.length;\n // sort the arrays\n x.sort(this.comparePage);\n y.sort(this.comparePage);\n\n // in this loop, we remove from the arrays, the\n // values that aren't shared between them.\n while (i < t)\n {\n if (x[i].title === y[i].title)\n {\n i++;\n }\n\n if (x.length > i && y.length > i && x[i].title < y[i].title)\n x.splice(i, 1);\n\n if (x.length > i && y.length > i && x[i].title > y[i].title)\n {\n r.unshift(y[i]);\n y.splice(i, 1);\n }\n\n t = (x.length < y.length) ? x.length : y.length;\n\n if (t === i && t < y.length)\n {\n r = r.concat(y);\n }\n }\n // we could return y, because at this time, both arrays\n // are identical.\n return r;\n }\n\n handleRemotePreferenceChange(user: User)\n {\n console.log('handleRemotePreferenceChange');\n if (user)\n {\n let changed = false;\n let local_was_empty = this.profile().saved_pages.length === 0;\n\n // merge the saved pages so you don't loose those either\n // don't add if they are the same.\n let ys = this.returnYonly(this.profile().saved_pages, user.saved_pages);\n\n if (ys.length > 0)\n {\n this.localProfile.saved_pages = this.localProfile.saved_pages.concat(ys);\n this.onSavedPagesChanged.emit(this.localProfile.saved_pages);\n\n if (!local_was_empty)\n {\n changed = true;\n this.needsSync = true;\n }\n }\n if (this.profile().saved_pages.length > 0 && user.saved_pages === undefined)\n {\n changed = true;\n this.needsSync = true;\n }\n\n // don't sync things that don't make sense.\n if (this.profile().uid !== user.uid)\n {\n this.profile().uid = user.uid;\n changed = true;\n }\n if (this.profile().username !== user.username)\n {\n this.profile().username = user.username;\n changed = true;\n }\n // We only save the local change here since this is an update from our remote profile.\n if (changed)\n {\n this.localSave();\n }\n }\n else\n {\n this.save();\n }\n }\n\n currentUser(): firebase.User\n {\n return this.firebaseAuth.auth.currentUser;\n }\n\n authenticate()\n {\n console.log('Authenticating to remote...');\n\n let self = this;\n let provider = new firebase.auth.GoogleAuthProvider();\n if (this.isWeb)\n {\n this.firebaseAuth.auth.signInWithPopup(provider);\n }\n else\n {\n firebase.auth().signInWithRedirect(provider).then(function ()\n {\n return firebase.auth().getRedirectResult();\n }).catch(function (error)\n {\n // Handle Errors here.\n console.log(error);\n });\n }\n this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state));\n this.remoteLoggedIn = true;\n\n }\n\n refresh()\n {\n console.log('refresh');\n this.logout();\n this.authenticate();\n }\n\n logout()\n {\n console.log('logout');\n this.firebaseAuth.auth.signOut(); // sign out\n this.remoteProfile = null; // inform the profile service not to bother\n this.remoteLoggedIn = false;\n }\n\n save()\n {\n this.localSave();\n this.needsSync = true;\n }\n\n localSave()\n {\n console.log('saving local');\n this.local.set('profile', JSON.stringify(this.profile()));\n }\n\n\n private elapsed(start: Date, finish: Date)\n {\n let difference = new Date();\n difference.setTime(finish.getTime() - start.getTime());\n return difference.getMilliseconds();\n }\n\n // this function updates a user object, in case new properties have been introduced\n // in a release. \n update(t: User): boolean\n {\n let updated = false;\n let k;\n const user = this.profile();\n for (k in user)\n {\n if (user.hasOwnProperty(k))\n {\n if (t[k] === undefined)\n {\n t[k] = user[k];\n updated = true;\n }\n }\n }\n\n for (k in user)\n if (user.hasOwnProperty(k))\n user[k] = t[k];\n\n this.textSizeChanged();\n return updated;\n }\n\n private resetUser()\n {\n this.profile().strongs_modal = true;\n this.profile().clear_search_after_query = false;\n this.profile().items = [];\n this.profile().append_to_bottom = false;\n this.profile().insert_next_to_item = false;\n this.profile().font_size = 10;\n this.profile().saved_pages = [];\n this.profile().verses_on_new_line = true;\n this.profile().show_verse_numbers = true;\n this.profile().show_paragraph_headings = true;\n this.profile().show_paragraphs = true;\n }\n\n reset()\n {\n this.resetUser();\n this.remoteProfile.ref.set(this.profile())\n this.save();\n }\n\n removePage(page: SavedPage)\n {\n let idx = this.profile().saved_pages.indexOf(page);\n this.profile().saved_pages.splice(idx, 1);\n this.onSavedPagesChanged.emit(this.localProfile.saved_pages);\n\n // Sync with remote\n this.save();\n }\n\n // TODO(jwall): This belongs somewhere else.\n textSizeChanged()\n {\n $('html').css('font-size', this.profile().font_size + 'px');\n }\n\n static createDefaultUser(): User\n {\n return {\n username: DEFAULT_USER_NAME,\n uid: null,\n font_size: 10,\n saved_pages: [],\n items: [],\n\n strongs_modal: true,\n clear_search_after_query: false,\n append_to_bottom: false,\n insert_next_to_item: false,\n\n verses_on_new_line: false,\n show_verse_numbers: true,\n show_paragraphs: true,\n show_paragraph_headings: true,\n };\n }\n\n}\n\n\ntype fbObject = {\n ref: AngularFireObject,\n stream: Observable,\n};\n\nexport type User = {\n username: string,\n uid: string | null,\n strongs_modal: boolean,\n clear_search_after_query: boolean,\n items: CardItem[],\n append_to_bottom: boolean,\n insert_next_to_item: boolean,\n font_size: number,\n saved_pages: SavedPage[],\n verses_on_new_line: boolean,\n show_verse_numbers: boolean,\n show_paragraphs: boolean,\n show_paragraph_headings: boolean,\n}\n\nexport type SavedPage = {\n queries: CardItem[],\n title: string,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/profile-service.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/DynamicBibleIonic/config.xml b/DynamicBibleIonic/config.xml index 0c6d5e59..3a4bb515 100644 --- a/DynamicBibleIonic/config.xml +++ b/DynamicBibleIonic/config.xml @@ -67,35 +67,35 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - diff --git a/DynamicBibleIonic/hooks/after_prepare/remove_map_files.js b/DynamicBibleIonic/hooks/after_prepare/remove_map_files.js deleted file mode 100644 index bbd771c8..00000000 --- a/DynamicBibleIonic/hooks/after_prepare/remove_map_files.js +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env node - -var fs = require('fs'); -var path = require('path'); - -var rootdir = process.argv[2]; - -if (rootdir) -{ - console.log("Root: " + rootdir); - - // go through each of the platform directories that have been prepared - var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []); - - for (var x = 0; x < platforms.length; x++) - { - // // open up the index.html file at the www root - // try - // { - // var platform = platforms[x].trim().toLowerCase(); - // var testBuildPath; - - // if (platform === 'android') - // { - // testBuildPath = path.join(rootdir, 'platforms', platform, 'app', 'assets', 'www', 'build'); - // } - // else - // { - // testBuildPath = path.join(rootdir, 'platforms', platform, 'app', 'www', 'build'); - // } - - // if (fs.existsSync(testBuildPath)) - // { - // console.log('Removing map files from assets after prepare: ' + testBuildPath); - // fs.unlinkSync(testBuildPath + '/vendor.js.map'); - // fs.unlinkSync(testBuildPath + '/main.js.map'); - // fs.unlinkSync(testBuildPath + '/main.css.map'); - // } - // else - // { - // console.log('Build dir @ ' + testBuildPath + ' does not exist for removal'); - // } - // } catch (e) - // { - // process.stdout.write(e); - // } - } -} diff --git a/DynamicBibleIonic/package-lock.json b/DynamicBibleIonic/package-lock.json index c786079b..e2d7c47d 100644 --- a/DynamicBibleIonic/package-lock.json +++ b/DynamicBibleIonic/package-lock.json @@ -8,6 +8,7 @@ "version": "0.0.36", "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.36.tgz", "integrity": "sha1-6Bbum+Itu3d3JPAoGs+nLP/xhLc=", + "dev": true, "requires": { "loader-utils": "1.1.0", "source-map": "0.5.7", @@ -18,7 +19,8 @@ "typescript": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=" + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true } } }, @@ -26,6 +28,7 @@ "version": "0.0.22", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.0.22.tgz", "integrity": "sha1-6Q9Gv3/0fSYKdnlZJnvGX/7jnvE=", + "dev": true, "requires": { "source-map": "0.5.7" } @@ -34,6 +37,7 @@ "version": "0.0.42", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.42.tgz", "integrity": "sha1-NO6nE2RVVFyKvSHt+Uo2hwoHP+o=", + "dev": true, "requires": { "@angular-devkit/core": "0.0.22", "@ngtools/json-schema": "1.1.0", @@ -46,6 +50,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.6.3.tgz", "integrity": "sha1-YxILNH/I7iBvdzB00l/dSAfBieM=", + "dev": true, "requires": { "@angular-devkit/build-optimizer": "0.0.36", "@angular-devkit/schematics": "0.0.42", @@ -111,6 +116,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, "requires": { "color-convert": "1.9.1" } @@ -119,6 +125,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", "integrity": "sha1-RAP1zxjzXAX1H73xUr9Yj5Vs98s=", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -128,12 +135,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "schema-utils": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", "integrity": "sha1-4qWU0zlYNNXhXaIrSL4TUXhZRY4=", + "dev": true, "requires": { "ajv": "5.5.2", "ajv-keywords": "2.1.1" @@ -142,12 +151,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -156,6 +167,7 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.4.tgz", "integrity": "sha1-LVkmeHkeUxBFa7yV6VITnjsTFno=", + "dev": true, "requires": { "commander": "2.12.2", "source-map": "0.6.1" @@ -165,6 +177,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.6.tgz", "integrity": "sha1-9LqESe3PF4NcGLpq6ZudYQhX+xk=", + "dev": true, "requires": { "cacache": "10.0.1", "find-cache-dir": "1.0.0", @@ -711,12 +724,14 @@ "@ngtools/json-schema": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz", - "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=" + "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=", + "dev": true }, "@ngtools/webpack": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.9.3.tgz", "integrity": "sha1-NT4n5vIas1Rn0Xtn4wlt/F2b+Aw=", + "dev": true, "requires": { "chalk": "2.2.2", "enhanced-resolve": "3.4.1", @@ -732,6 +747,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, "requires": { "color-convert": "1.9.1" } @@ -740,6 +756,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", "integrity": "sha1-RAP1zxjzXAX1H73xUr9Yj5Vs98s=", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -749,12 +766,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -765,6 +784,7 @@ "version": "0.1.11", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.1.11.tgz", "integrity": "sha1-tfFTILu2CWnWbHao72VFBYrIHs4=", + "dev": true, "requires": { "@angular-devkit/core": "0.0.22" } @@ -772,7 +792,8 @@ "@schematics/schematics": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/@schematics/schematics/-/schematics-0.0.11.tgz", - "integrity": "sha1-yPcPJw7TjymyhzJIEm/Vmr1jWGI=" + "integrity": "sha1-yPcPJw7TjymyhzJIEm/Vmr1jWGI=", + "dev": true }, "@types/jasmine": { "version": "2.5.41", @@ -800,18 +821,20 @@ "@types/selenium-webdriver": { "version": "2.53.43", "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz", - "integrity": "sha1-LePXGIGbwgFldUxKWa+36YM/Zwc=", + "integrity": "sha512-UBYHWph6P3tutkbXpW6XYg9ZPbTKjw/YC2hGG1/GEvWwTbvezBUv3h+mmUFw79T3RFPnmedpiXdOBbXX+4l0jg==", "dev": true }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "accepts": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "dev": true, "requires": { "mime-types": "2.1.17", "negotiator": "0.6.1" @@ -820,12 +843,14 @@ "acorn": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", - "integrity": "sha1-dEbTlFnFT7SagObuZHgUm5QOyCI=" + "integrity": "sha1-dEbTlFnFT7SagObuZHgUm5QOyCI=", + "dev": true }, "acorn-dynamic-import": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, "requires": { "acorn": "4.0.13" }, @@ -833,7 +858,8 @@ "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true } } }, @@ -871,6 +897,7 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", @@ -881,12 +908,14 @@ "ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=" + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, "requires": { "kind-of": "3.2.2", "longest": "1.0.1", @@ -896,7 +925,8 @@ "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true }, "amdefine": { "version": "1.0.1", @@ -911,7 +941,8 @@ "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -921,12 +952,13 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "requires": { "micromatch": "2.3.11", "normalize-path": "2.1.1" @@ -944,12 +976,14 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, "requires": { "delegates": "1.0.0", "readable-stream": "2.3.3" @@ -959,6 +993,7 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, "requires": { "sprintf-js": "1.0.3" } @@ -985,22 +1020,25 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true }, "array-flatten": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true }, "array-includes": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, "requires": { "define-properties": "1.1.2", "es-abstract": "1.10.0" @@ -1016,6 +1054,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, "requires": { "array-uniq": "1.0.3" } @@ -1023,7 +1062,8 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true }, "array-unique": { "version": "0.2.1", @@ -1039,12 +1079,14 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, "optional": true }, "ascli": { @@ -1059,12 +1101,14 @@ "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true }, "asn1.js": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", "integrity": "sha1-gRfvT37YfNj4kES1v/l6wkOhbJo=", + "dev": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.3", @@ -1075,6 +1119,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, "requires": { "util": "0.10.3" } @@ -1082,7 +1127,8 @@ "assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true }, "ast-types": { "version": "0.8.15", @@ -1093,6 +1139,7 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", + "dev": true, "requires": { "lodash": "4.17.4" } @@ -1105,7 +1152,8 @@ "async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true }, "async-limiter": { "version": "1.0.0", @@ -1116,12 +1164,14 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, "requires": { "browserslist": "1.7.7", "caniuse-db": "1.0.30000787", @@ -1134,17 +1184,20 @@ "aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true }, "aws4": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, "requires": { "chalk": "1.1.3", "esutils": "2.0.2", @@ -1155,6 +1208,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -1166,7 +1220,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, @@ -1174,6 +1229,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "dev": true, "requires": { "babel-messages": "6.23.0", "babel-runtime": "6.26.0", @@ -1188,7 +1244,8 @@ "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true } } }, @@ -1196,6 +1253,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -1204,6 +1262,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { "core-js": "2.5.3", "regenerator-runtime": "0.11.1" @@ -1213,6 +1272,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-traverse": "6.26.0", @@ -1225,6 +1285,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, "requires": { "babel-code-frame": "6.26.0", "babel-messages": "6.23.0", @@ -1241,6 +1302,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", @@ -1251,7 +1313,8 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "dev": true }, "backo2": { "version": "1.0.2", @@ -1278,7 +1341,8 @@ "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=" + "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=", + "dev": true }, "base64id": { "version": "1.0.0", @@ -1289,12 +1353,14 @@ "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -1312,7 +1378,8 @@ "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=" + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true }, "binary-extensions": { "version": "1.11.0", @@ -1329,6 +1396,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "requires": { "inherits": "2.0.3" } @@ -1345,12 +1413,14 @@ "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true }, "body": { "version": "5.1.0", @@ -1392,6 +1462,7 @@ "version": "1.18.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, "requires": { "bytes": "3.0.0", "content-type": "1.0.4", @@ -1408,7 +1479,8 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=" + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true } } }, @@ -1416,6 +1488,7 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, "requires": { "array-flatten": "2.1.1", "deep-equal": "1.0.1", @@ -1428,12 +1501,14 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true }, "boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, "requires": { "hoek": "2.16.3" } @@ -1460,7 +1535,8 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true }, "browser-resolve": { "version": "1.11.2", @@ -1482,7 +1558,8 @@ "browserify-aes": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha1-OLerVe24Bv8tzaGn8WIHc6R3xJ8=", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -1496,6 +1573,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, "requires": { "browserify-aes": "1.1.1", "browserify-des": "1.0.0", @@ -1506,6 +1584,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -1516,6 +1595,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.5" @@ -1525,6 +1605,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -1538,7 +1619,8 @@ "browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, "requires": { "pako": "1.0.6" } @@ -1547,6 +1629,7 @@ "version": "1.7.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, "requires": { "caniuse-db": "1.0.30000787", "electron-to-chromium": "1.3.30" @@ -1556,6 +1639,7 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, "requires": { "base64-js": "1.2.1", "ieee754": "1.1.8", @@ -1565,22 +1649,26 @@ "buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=" + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true }, "bytebuffer": { "version": "5.0.1", @@ -1593,12 +1681,14 @@ "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true }, "cacache": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz", "integrity": "sha1-PgX25hYRfZtUZlsbIMiuuT6l028=", + "dev": true, "requires": { "bluebird": "3.5.1", "chownr": "1.0.1", @@ -1625,6 +1715,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, "requires": { "no-case": "2.3.2", "upper-case": "1.1.3" @@ -1639,6 +1730,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, "requires": { "camelcase": "2.1.1", "map-obj": "1.0.1" @@ -1648,6 +1740,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, "requires": { "browserslist": "1.7.7", "caniuse-db": "1.0.30000787", @@ -1658,7 +1751,8 @@ "caniuse-db": { "version": "1.0.30000787", "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000787.tgz", - "integrity": "sha1-ygeigb5Taoi9f6yWuolfPPU/gRs=" + "integrity": "sha1-ygeigb5Taoi9f6yWuolfPPU/gRs=", + "dev": true }, "caniuse-lite": { "version": "1.0.30000787", @@ -1669,12 +1763,14 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" @@ -1683,7 +1779,8 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true } } }, @@ -1691,6 +1788,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -1701,6 +1799,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, "requires": { "color-convert": "1.9.1" } @@ -1708,12 +1807,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -1739,12 +1840,14 @@ "chownr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -1753,12 +1856,14 @@ "circular-dependency-plugin": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-4.3.0.tgz", - "integrity": "sha1-KhKCTlhFRuGu6lhlt78jShHEppU=" + "integrity": "sha1-KhKCTlhFRuGu6lhlt78jShHEppU=", + "dev": true }, "clap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, "requires": { "chalk": "1.1.3" }, @@ -1767,6 +1872,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -1778,7 +1884,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, @@ -1786,6 +1893,7 @@ "version": "4.1.9", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", + "dev": true, "requires": { "source-map": "0.5.7" } @@ -1823,12 +1931,14 @@ "clone": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=" + "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", + "dev": true }, "clone-deep": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", + "dev": true, "requires": { "for-own": "1.0.0", "is-plain-object": "2.0.4", @@ -1840,6 +1950,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, "requires": { "for-in": "1.0.2" } @@ -1849,12 +1960,14 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "coa": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, "requires": { "q": "1.5.1" } @@ -1958,6 +2071,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, "requires": { "clone": "1.0.3", "color-convert": "1.9.1", @@ -1967,7 +2081,8 @@ "color-convert": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -1975,12 +2090,14 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "color-string": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -1989,6 +2106,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, "requires": { "color": "0.11.4", "css-color-names": "0.0.4", @@ -1998,7 +2116,8 @@ "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true }, "colour": { "version": "0.7.1", @@ -2018,6 +2137,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, "requires": { "delayed-stream": "1.0.0" } @@ -2025,12 +2145,14 @@ "commander": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha1-D1lGxCftnsDZGka7ne9T5UZQ5VU=" + "integrity": "sha1-D1lGxCftnsDZGka7ne9T5UZQ5VU=", + "dev": true }, "common-tags": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.6.0.tgz", "integrity": "sha1-eI5LzFgvFpk+WyyS92scy4BzFTc=", + "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -2038,7 +2160,8 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true }, "component-bind": { "version": "1.0.0", @@ -2062,6 +2185,7 @@ "version": "2.0.12", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", + "dev": true, "requires": { "mime-db": "1.30.0" } @@ -2070,6 +2194,7 @@ "version": "1.7.1", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "dev": true, "requires": { "accepts": "1.3.4", "bytes": "3.0.0", @@ -2089,6 +2214,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3", @@ -2142,12 +2268,14 @@ "connect-history-api-fallback": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=" + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true }, "console-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, "requires": { "date-now": "0.1.4" } @@ -2155,22 +2283,26 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true }, "content-disposition": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true }, "continuable-cache": { "version": "0.3.1", @@ -2181,22 +2313,26 @@ "convert-source-map": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true }, "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, "requires": { "aproba": "1.2.0", "fs-write-stream-atomic": "1.0.10", @@ -2210,6 +2346,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.3.1.tgz", "integrity": "sha1-GbpjcL9vjiY8vWYYWit58jIakwI=", + "dev": true, "requires": { "cacache": "10.0.1", "find-cache-dir": "1.0.0", @@ -2226,12 +2363,14 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-glob": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, "requires": { "is-extglob": "2.1.1" } @@ -2240,6 +2379,7 @@ "version": "0.2.17", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -2250,7 +2390,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -2484,9 +2625,9 @@ "integrity": "sha1-4vusECkBeeRMtyxf28QQpTHBzW0=" }, "cordova-plugin-crosswalk-webview": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-crosswalk-webview/-/cordova-plugin-crosswalk-webview-2.3.0.tgz", - "integrity": "sha1-4u407P2t3YS9qE5yZjU55AyZ0yQ=" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-crosswalk-webview/-/cordova-plugin-crosswalk-webview-2.4.0.tgz", + "integrity": "sha512-XoUBv7RHvOWMKtI5mwSUzZDgStTaFfRlmZeC1cgicel6cX88IFMr+qqECix5V/xlutiLgEv34rxP4jR3Br19Cg==" }, "cordova-plugin-customurlscheme": { "version": "4.3.0", @@ -2499,9 +2640,9 @@ "integrity": "sha1-/JQRG+aTJijGaGiTjd89yCyfv+Y=" }, "cordova-plugin-inappbrowser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-2.0.1.tgz", - "integrity": "sha1-/qk31UgZGv5hrXyY9SPx/GIi5bM=" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-2.0.2.tgz", + "integrity": "sha1-pEj8vpdMprQpiL00VRCdkj1sl2k=" }, "cordova-plugin-splashscreen": { "version": "4.1.0", @@ -2533,12 +2674,14 @@ "core-js": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true }, "core-object": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/core-object/-/core-object-3.1.5.tgz", "integrity": "sha1-+mJ7h1Aq3JgEXkRnjpqOw7nA0qk=", + "dev": true, "requires": { "chalk": "2.3.0" } @@ -2552,6 +2695,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", + "dev": true, "requires": { "is-directory": "0.3.1", "js-yaml": "3.7.0", @@ -2566,6 +2710,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" @@ -2575,6 +2720,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.3", @@ -2586,6 +2732,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, "requires": { "cipher-base": "1.0.4", "create-hash": "1.1.3", @@ -2599,6 +2746,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, "optional": true, "requires": { "lru-cache": "4.1.1", @@ -2609,6 +2757,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, "requires": { "boom": "2.10.1" } @@ -2616,7 +2765,8 @@ "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -2634,12 +2784,14 @@ "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true }, "css-loader": { "version": "0.28.8", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.8.tgz", "integrity": "sha1-/zY4FGTeoY/mDyYBoGC6ZEWIa9U=", + "dev": true, "requires": { "babel-code-frame": "6.26.0", "css-selector-tokenizer": "0.7.0", @@ -2660,12 +2812,14 @@ "css-parse": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", - "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=" + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", + "dev": true }, "css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, "requires": { "boolbase": "1.0.0", "css-what": "2.1.0", @@ -2677,6 +2831,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, "requires": { "cssesc": "0.1.0", "fastparse": "1.1.1", @@ -2686,17 +2841,20 @@ "css-what": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true }, "cssesc": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=" + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true }, "cssnano": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, "requires": { "autoprefixer": "6.7.7", "decamelize": "1.2.0", @@ -2736,6 +2894,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, "requires": { "clap": "1.2.3", "source-map": "0.5.7" @@ -2744,12 +2903,14 @@ "cuint": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=" + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, "requires": { "array-find-index": "1.0.2" } @@ -2763,12 +2924,14 @@ "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, "requires": { "es5-ext": "0.10.37" } @@ -2777,6 +2940,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "1.0.0" }, @@ -2784,19 +2948,22 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true } } }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, "requires": { "ms": "2.0.0" } @@ -2809,7 +2976,8 @@ "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true }, "default-require-extensions": { "version": "1.0.0", @@ -2824,6 +2992,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, "requires": { "foreach": "2.0.5", "object-keys": "1.0.11" @@ -2832,12 +3001,14 @@ "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, "requires": { "globby": "6.1.0", "is-path-cwd": "1.0.0", @@ -2851,6 +3022,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, "requires": { "array-union": "1.0.2", "glob": "7.1.2", @@ -2862,41 +3034,48 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true }, "denodeify": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", + "dev": true }, "depd": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true }, "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -2905,12 +3084,14 @@ "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "requires": { "repeating": "2.0.1" } @@ -2918,7 +3099,8 @@ "detect-node": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=" + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true }, "di": { "version": "0.0.1", @@ -2936,6 +3118,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -2946,6 +3129,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", + "dev": true, "requires": { "arrify": "1.0.1", "path-type": "3.0.0" @@ -2955,6 +3139,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, "requires": { "pify": "3.0.0" } @@ -2962,19 +3147,22 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true }, "dns-packet": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.2.2.tgz", "integrity": "sha1-qKJr7HZGQ4lj/Ibgb4+LFtbIv3o=", + "dev": true, "requires": { "ip": "1.1.5", "safe-buffer": "5.1.1" @@ -2984,6 +3172,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, "requires": { "buffer-indexof": "1.1.1" } @@ -3016,6 +3205,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, "requires": { "utila": "0.3.3" }, @@ -3023,7 +3213,8 @@ "utila": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=" + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true } } }, @@ -3043,6 +3234,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, "requires": { "domelementtype": "1.1.3", "entities": "1.1.1" @@ -3051,7 +3243,8 @@ "domelementtype": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true } } }, @@ -3063,17 +3256,20 @@ "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true }, "domelementtype": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true }, "domhandler": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, "requires": { "domelementtype": "1.3.0" } @@ -3082,6 +3278,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, "requires": { "dom-serializer": "0.1.0", "domelementtype": "1.3.0" @@ -3091,6 +3288,7 @@ "version": "3.5.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", "integrity": "sha1-ThUWvmiDi8kKSZlPCzmm5ZYL780=", + "dev": true, "requires": { "end-of-stream": "1.4.0", "inherits": "2.0.3", @@ -3102,6 +3300,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -3110,22 +3309,26 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true }, "ejs": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=" + "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "dev": true }, "electron-releases": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/electron-releases/-/electron-releases-2.1.0.tgz", - "integrity": "sha1-xWFL+BHxds48g242igYleCNB/U4=" + "integrity": "sha1-xWFL+BHxds48g242igYleCNB/U4=", + "dev": true }, "electron-to-chromium": { "version": "1.3.30", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.30.tgz", "integrity": "sha1-lmb1MqZFhmUfxWpyUTaS6CDQaoA=", + "dev": true, "requires": { "electron-releases": "2.1.0" } @@ -3134,6 +3337,7 @@ "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", @@ -3147,22 +3351,26 @@ "ember-cli-string-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", - "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=" + "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", + "dev": true }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true }, "encodeurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true }, "end-of-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "dev": true, "requires": { "once": "1.4.0" } @@ -3301,6 +3509,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "memory-fs": "0.4.1", @@ -3317,12 +3526,14 @@ "entities": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true }, "errno": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", "integrity": "sha1-w4bOimKD8U/AlWO3FWCQjJv1MCY=", + "dev": true, "requires": { "prr": "1.0.1" } @@ -3341,6 +3552,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, "requires": { "is-arrayish": "0.2.1" } @@ -3349,6 +3561,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", "integrity": "sha1-Hss2wZeEKgDY7kwt/YZGu5fWCGQ=", + "dev": true, "requires": { "es-to-primitive": "1.1.1", "function-bind": "1.1.1", @@ -3361,6 +3574,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, "requires": { "is-callable": "1.1.3", "is-date-object": "1.0.1", @@ -3388,6 +3602,7 @@ "version": "0.10.37", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", + "dev": true, "requires": { "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" @@ -3397,6 +3612,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3407,6 +3623,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3420,6 +3637,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3432,6 +3650,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37" @@ -3441,6 +3660,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37", @@ -3451,17 +3671,20 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", @@ -3477,12 +3700,14 @@ "esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, "requires": { "estraverse": "4.2.0", "object-assign": "4.1.1" @@ -3491,7 +3716,8 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true }, "estree-walker": { "version": "0.5.1", @@ -3502,17 +3728,20 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.37" @@ -3521,17 +3750,20 @@ "eventemitter3": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "dev": true }, "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true }, "eventsource": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, "requires": { "original": "1.0.0" } @@ -3539,7 +3771,8 @@ "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, "requires": { "md5.js": "1.3.4", "safe-buffer": "5.1.1" @@ -3549,6 +3782,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, "requires": { "cross-spawn": "5.1.0", "get-stream": "3.0.0", @@ -3563,6 +3797,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, "requires": { "lru-cache": "4.1.1", "shebang-command": "1.2.0", @@ -3641,6 +3876,7 @@ "version": "0.6.4", "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.4.tgz", "integrity": "sha1-1w/GEhl1s1/BKDDPUnVL4nQPyIY=", + "dev": true, "requires": { "loader-utils": "1.1.0", "source-map": "0.5.7" @@ -3650,6 +3886,7 @@ "version": "4.16.2", "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "dev": true, "requires": { "accepts": "1.3.4", "array-flatten": "1.1.1", @@ -3686,17 +3923,20 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true }, "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=" + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "dev": true }, "serve-static": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", "integrity": "sha1-TFfVNASnYdjy58HooYpH2/J4pxk=", + "dev": true, "requires": { "encodeurl": "1.0.1", "escape-html": "1.0.3", @@ -3709,7 +3949,8 @@ "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true }, "extglob": { "version": "0.3.2", @@ -3723,6 +3964,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", "integrity": "sha1-XwQ+qgL5dQqSWLeMCm4NwUCPsvc=", + "dev": true, "requires": { "async": "2.6.0", "loader-utils": "1.1.0", @@ -3733,7 +3975,8 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "falafel": { "version": "1.2.0", @@ -3761,22 +4004,26 @@ "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "fastparse": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=" + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, "requires": { "websocket-driver": "0.7.0" } @@ -3785,6 +4032,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.6.tgz", "integrity": "sha1-e5qPLFjwCnf930npQPesl4o+oOg=", + "dev": true, "requires": { "loader-utils": "1.1.0", "schema-utils": "0.3.0" @@ -3821,6 +4069,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "1.0.1", @@ -3835,6 +4084,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, "requires": { "commondir": "1.0.1", "make-dir": "1.1.0", @@ -3845,6 +4095,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, "requires": { "path-exists": "2.1.0", "pinkie-promise": "2.0.1" @@ -3869,12 +4120,14 @@ "flatten": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=" + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true }, "flush-write-stream": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -3901,12 +4154,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", @@ -3916,17 +4171,20 @@ "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -3945,6 +4203,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "jsonfile": "4.0.0", @@ -3955,6 +4214,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "iferr": "0.1.5", @@ -4760,6 +5020,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -4770,12 +5031,14 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, "requires": { "aproba": "1.2.0", "console-control-strings": "1.1.0", @@ -4791,6 +5054,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -4799,6 +5063,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -4811,6 +5076,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, "requires": { "globule": "1.2.0" } @@ -4818,12 +5084,14 @@ "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true }, "generate-object-property": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, "requires": { "is-property": "1.0.2" } @@ -4831,22 +5099,26 @@ "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "1.0.0" }, @@ -4854,14 +5126,15 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true } } }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4891,12 +5164,14 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=" + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "dev": true }, "globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, "requires": { "array-union": "1.0.2", "dir-glob": "2.0.0", @@ -4909,7 +5184,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -4917,6 +5193,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "dev": true, "requires": { "glob": "7.1.2", "lodash": "4.17.4", @@ -5651,17 +5928,20 @@ "handle-thing": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=" + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true }, "har-schema": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true }, "har-validator": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, "requires": { "ajv": "4.11.8", "har-schema": "1.0.5" @@ -5671,6 +5951,7 @@ "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, "requires": { "co": "4.6.0", "json-stable-stringify": "1.0.1" @@ -5682,6 +5963,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, "requires": { "function-bind": "1.1.1" } @@ -5690,6 +5972,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -5720,17 +6003,20 @@ "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true }, "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, "requires": { "inherits": "2.0.3" } @@ -5738,7 +6024,8 @@ "hash.js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -5748,6 +6035,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -5758,12 +6046,14 @@ "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, "requires": { "hash.js": "1.1.3", "minimalistic-assert": "1.0.0", @@ -5773,17 +6063,20 @@ "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true }, "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=" + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, "requires": { "inherits": "2.0.3", "obuf": "1.1.1", @@ -5794,17 +6087,20 @@ "html-comment-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=" + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true }, "html-entities": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true }, "html-minifier": { "version": "3.5.8", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.8.tgz", "integrity": "sha1-XM2x9zoNZU5gkBR1Efbmsu4xJwA=", + "dev": true, "requires": { "camel-case": "3.0.0", "clean-css": "4.1.9", @@ -5820,6 +6116,7 @@ "version": "2.30.1", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", + "dev": true, "requires": { "bluebird": "3.5.1", "html-minifier": "3.5.8", @@ -5833,6 +6130,7 @@ "version": "0.2.17", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -5846,6 +6144,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, "requires": { "domelementtype": "1.3.0", "domhandler": "2.1.0", @@ -5857,6 +6156,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, "requires": { "domelementtype": "1.3.0" } @@ -5864,12 +6164,14 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true }, "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -5880,19 +6182,22 @@ "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true }, "http-errors": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, "requires": { "depd": "1.1.1", "inherits": "2.0.3", @@ -5903,7 +6208,8 @@ "setprototypeof": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true } } }, @@ -5916,6 +6222,7 @@ "version": "1.16.2", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "dev": true, "requires": { "eventemitter3": "1.2.0", "requires-port": "1.0.0" @@ -5925,6 +6232,7 @@ "version": "0.17.4", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, "requires": { "http-proxy": "1.16.2", "is-glob": "3.1.0", @@ -5935,12 +6243,14 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "2.1.1" } @@ -5951,6 +6261,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, "requires": { "assert-plus": "0.2.0", "jsprim": "1.4.1", @@ -5960,7 +6271,8 @@ "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true }, "https-proxy-agent": { "version": "1.0.0", @@ -5976,17 +6288,20 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=" + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true }, "icss-replace-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true }, "icss-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, "requires": { "postcss": "6.0.15" }, @@ -5994,12 +6309,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -6009,12 +6326,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -6024,22 +6343,26 @@ "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true }, "ignore": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=" + "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=", + "dev": true }, "image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, "optional": true }, "immediate": { @@ -6051,6 +6374,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", + "dev": true, "requires": { "pkg-dir": "2.0.0", "resolve-cwd": "2.0.0" @@ -6059,17 +6383,20 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "in-publish": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, "requires": { "repeating": "2.0.1" } @@ -6077,12 +6404,14 @@ "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true }, "inflight": { "version": "1.0.6", @@ -6101,7 +6430,7 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "inline-process-browser": { @@ -6117,6 +6446,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, "requires": { "meow": "3.7.0" } @@ -6124,12 +6454,14 @@ "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true }, "invariant": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, "requires": { "loose-envify": "1.3.1" } @@ -6163,22 +6495,26 @@ "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true }, "ipaddr.js": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" + "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "dev": true }, "is-absolute-url": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", @@ -6191,12 +6527,13 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, "requires": { "builtin-modules": "1.1.1" } @@ -6204,17 +6541,20 @@ "is-callable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true }, "is-dotfile": { "version": "1.0.3", @@ -6243,6 +6583,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -6250,7 +6591,8 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "is-glob": { "version": "2.0.1", @@ -6270,6 +6612,7 @@ "version": "2.17.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", "integrity": "sha1-PamJFKcKIvCoVj7xURokbG/FVHE=", + "dev": true, "requires": { "generate-function": "2.0.0", "generate-object-property": "1.2.0", @@ -6288,12 +6631,14 @@ "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true }, "is-path-in-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, "requires": { "is-path-inside": "1.0.1" } @@ -6302,6 +6647,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, "requires": { "path-is-inside": "1.0.2" } @@ -6309,12 +6655,14 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "3.0.1" }, @@ -6322,7 +6670,8 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true } } }, @@ -6339,12 +6688,14 @@ "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, "requires": { "has": "1.0.1" } @@ -6352,12 +6703,14 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "is-svg": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, "requires": { "html-comment-regex": "1.1.1" } @@ -6365,22 +6718,26 @@ "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true }, "isarray": { "version": "1.0.0", @@ -6396,7 +6753,8 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "2.1.0", @@ -6409,7 +6767,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "istanbul-api": { "version": "1.2.1", @@ -6434,6 +6793,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-2.0.0.tgz", "integrity": "sha1-5UkpAKsLuoNe+oAkywC+mz7qJwA=", + "dev": true, "requires": { "convert-source-map": "1.5.1", "istanbul-lib-instrument": "1.9.1", @@ -6445,6 +6805,7 @@ "version": "0.2.17", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -6457,7 +6818,8 @@ "istanbul-lib-coverage": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=" + "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=", + "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", @@ -6472,6 +6834,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", "integrity": "sha1-JQsws1MeXTJRKZ/dZLCyydtrVY4=", + "dev": true, "requires": { "babel-generator": "6.26.0", "babel-template": "6.26.0", @@ -6678,17 +7041,20 @@ "js-base64": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz", - "integrity": "sha1-nlZv7mJHUaHXIMlmzWIm0p1AJao=" + "integrity": "sha1-nlZv7mJHUaHXIMlmzWIm0p1AJao=", + "dev": true }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "js-yaml": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, "requires": { "argparse": "1.0.9", "esprima": "2.7.3" @@ -6698,32 +7064,38 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, "optional": true }, "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true }, "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=" + "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=", + "dev": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, "requires": { "jsonify": "0.0.0" } @@ -6731,22 +7103,26 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json3": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { "graceful-fs": "4.1.11" } @@ -6754,17 +7130,20 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true }, "jsonpointer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -6775,7 +7154,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true } } }, @@ -6937,6 +7317,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.2.0.tgz", "integrity": "sha1-G/gee7SwiWJ6s1LsQXnhF8QGpUA=", + "dev": true, "requires": { "source-map-support": "0.4.18" } @@ -6944,7 +7325,8 @@ "killable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", - "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=" + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true }, "kind-of": { "version": "3.2.2", @@ -6957,7 +7339,8 @@ "lazy-cache": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "dev": true }, "lcid": { "version": "1.0.0", @@ -6970,7 +7353,8 @@ "less": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", - "integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=", + "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "dev": true, "requires": { "errno": "0.1.6", "graceful-fs": "4.1.11", @@ -6986,6 +7370,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.5.tgz", "integrity": "sha1-rhVadAbKxqzSk9eFWH/P8PR4xN0=", + "dev": true, "requires": { "clone": "2.1.1", "loader-utils": "1.1.0", @@ -6995,7 +7380,8 @@ "clone": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true } } }, @@ -7003,6 +7389,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz", "integrity": "sha1-drLO3Mx48Tn9eHfldvdWz8FBuMI=", + "dev": true, "requires": { "ejs": "2.5.7" } @@ -7028,6 +7415,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -7039,12 +7427,14 @@ "loader-runner": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -7072,6 +7462,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { "p-locate": "2.0.0", "path-exists": "3.0.0" @@ -7080,7 +7471,8 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true } } }, @@ -7092,37 +7484,44 @@ "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true }, "lodash.mergewith": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=" + "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", + "dev": true }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=" + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true }, "log4js": { "version": "0.6.38", @@ -7169,7 +7568,8 @@ "loglevel": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.0.tgz", - "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=" + "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=", + "dev": true }, "long": { "version": "3.2.0", @@ -7179,12 +7579,14 @@ "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -7193,6 +7595,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, "requires": { "currently-unhandled": "0.4.1", "signal-exit": "3.0.2" @@ -7201,12 +7604,14 @@ "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -7215,18 +7620,20 @@ "macaddress": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=" + "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", + "dev": true }, "macos-release": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", - "integrity": "sha1-gxlF4pNltHCqhySwqzbI+JWdEPs=", + "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==", "dev": true }, "magic-string": { "version": "0.22.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", "integrity": "sha1-MQObTkA2Y5VhjB1s+Bk8U5F0df8=", + "dev": true, "requires": { "vlq": "0.2.3" } @@ -7235,6 +7642,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", "integrity": "sha1-GbQ2n+SMEW9Twq+VrRAsDjnoXVE=", + "dev": true, "requires": { "pify": "3.0.0" }, @@ -7242,7 +7650,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -7255,17 +7664,20 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=" + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.3" @@ -7275,6 +7687,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -7285,12 +7698,14 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, "requires": { "mimic-fn": "1.1.0" } @@ -7299,6 +7714,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, "requires": { "errno": "0.1.6", "readable-stream": "2.3.3" @@ -7308,6 +7724,7 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, "requires": { "camelcase-keys": "2.1.0", "decamelize": "1.2.0", @@ -7324,12 +7741,14 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true }, "micromatch": { "version": "2.3.11", @@ -7354,7 +7773,8 @@ "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" @@ -7363,17 +7783,20 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=" + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true }, "mime-db": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true }, "mime-types": { "version": "2.1.17", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, "requires": { "mime-db": "1.30.0" } @@ -7381,22 +7804,25 @@ "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "1.1.8" } @@ -7410,6 +7836,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", + "dev": true, "requires": { "concat-stream": "1.6.0", "duplexify": "3.5.1", @@ -7427,6 +7854,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -7438,6 +7866,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, "requires": { "for-in": "0.1.8", "is-extendable": "0.1.1" @@ -7446,7 +7875,8 @@ "for-in": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true } } }, @@ -7474,6 +7904,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, "requires": { "aproba": "1.2.0", "copy-concurrently": "1.0.5", @@ -7486,12 +7917,14 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multicast-dns": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz", "integrity": "sha1-xQNd76khnTBkBVikkpgGc1IJgGA=", + "dev": true, "requires": { "dns-packet": "1.2.2", "thunky": "0.1.0" @@ -7500,7 +7933,8 @@ "multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true }, "nan": { "version": "2.8.0", @@ -7511,6 +7945,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", + "dev": true, "requires": { "xml-char-classes": "1.0.0" } @@ -7518,12 +7953,14 @@ "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, "requires": { "lower-case": "1.1.4" } @@ -7531,12 +7968,14 @@ "node-forge": { "version": "0.6.33", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz", - "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=" + "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", + "dev": true }, "node-gyp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, "requires": { "fstream": "1.0.11", "glob": "7.1.2", @@ -7557,6 +7996,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "requires": { "abbrev": "1.1.1" } @@ -7564,14 +8004,16 @@ "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true } } }, "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, "requires": { "assert": "1.4.1", "browserify-zlib": "0.2.0", @@ -7601,12 +8043,14 @@ "node-modules-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.1.tgz", - "integrity": "sha1-QAlrCM560OoUaAhjr0ScfHWl0cg=" + "integrity": "sha1-QAlrCM560OoUaAhjr0ScfHWl0cg=", + "dev": true }, "node-sass": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", "integrity": "sha1-k2Z3i6FGnrAUOKnoWS9CYry2eU4=", + "dev": true, "optional": true, "requires": { "async-foreach": "0.1.3", @@ -7634,12 +8078,14 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, "optional": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -7652,6 +8098,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, "optional": true, "requires": { "chalk": "1.1.3", @@ -7664,12 +8111,14 @@ "version": "6.3.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true, "optional": true }, "request": { "version": "2.79.0", "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, "optional": true, "requires": { "aws-sign2": "0.6.0", @@ -7697,12 +8146,14 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true }, "tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, "optional": true } } @@ -7716,6 +8167,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, "requires": { "abbrev": "1.1.1", "osenv": "0.1.4" @@ -7724,7 +8176,8 @@ "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -7743,12 +8196,14 @@ "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, "requires": { "object-assign": "4.1.1", "prepend-http": "1.0.4", @@ -7760,6 +8215,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, "requires": { "path-key": "2.0.1" } @@ -7767,7 +8223,8 @@ "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, "requires": { "are-we-there-yet": "1.1.4", "console-control-strings": "1.1.0", @@ -7779,6 +8236,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, "requires": { "boolbase": "1.0.0" } @@ -7792,7 +8250,8 @@ "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true }, "number-is-nan": { "version": "1.0.1", @@ -7802,12 +8261,14 @@ "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-component": { "version": "0.0.3", @@ -7832,12 +8293,14 @@ "obuf": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", - "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=" + "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", + "dev": true }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, "requires": { "ee-first": "1.1.1" } @@ -7845,7 +8308,8 @@ "on-headers": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true }, "once": { "version": "1.4.0", @@ -7859,6 +8323,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", "integrity": "sha1-cs4jBqF9vqWP8QQYUzUrSo/HdRk=", + "dev": true, "requires": { "is-wsl": "1.1.0" } @@ -7878,6 +8343,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "dev": true, "requires": { "url-parse": "1.0.5" }, @@ -7886,6 +8352,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "dev": true, "requires": { "querystringify": "0.0.4", "requires-port": "1.0.0" @@ -7896,12 +8363,14 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "1.4.0", @@ -7924,12 +8393,14 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -7938,12 +8409,14 @@ "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true }, "p-limit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", + "dev": true, "requires": { "p-try": "1.0.0" } @@ -7952,6 +8425,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { "p-limit": "1.2.0" } @@ -7959,22 +8433,26 @@ "p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=" + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=" + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true }, "parallel-transform": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, "requires": { "cyclist": "0.2.2", "inherits": "2.0.3", @@ -7985,6 +8463,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, "requires": { "no-case": "2.3.2" } @@ -7993,6 +8472,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, "requires": { "asn1.js": "4.9.2", "browserify-aes": "1.1.1", @@ -8016,6 +8496,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, "requires": { "error-ex": "1.3.1" } @@ -8050,17 +8531,20 @@ "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true }, "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, "requires": { "pinkie-promise": "2.0.1" } @@ -8073,27 +8557,32 @@ "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "pify": "2.3.0", @@ -8103,7 +8592,8 @@ "pbkdf2": { "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, "requires": { "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -8115,22 +8605,26 @@ "performance-now": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "2.0.4" } @@ -8139,6 +8633,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, "requires": { "find-up": "2.1.0" }, @@ -8147,6 +8642,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { "locate-path": "2.0.0" } @@ -8179,6 +8675,7 @@ "version": "1.0.13", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "dev": true, "requires": { "async": "1.5.2", "debug": "2.6.9", @@ -8188,7 +8685,8 @@ "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true } } }, @@ -8196,6 +8694,7 @@ "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", + "dev": true, "requires": { "chalk": "1.1.3", "js-base64": "2.4.0", @@ -8207,6 +8706,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -8218,7 +8718,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } } @@ -8228,6 +8729,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, "requires": { "postcss": "5.2.18", "postcss-message-helpers": "2.0.0", @@ -8238,6 +8740,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, "requires": { "colormin": "1.1.2", "postcss": "5.2.18", @@ -8248,6 +8751,7 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -8257,6 +8761,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.2.0.tgz", "integrity": "sha1-XZKafwbpuE4PETNBlMC6mjCs++k=", + "dev": true, "requires": { "balanced-match": "1.0.0", "postcss": "6.0.15" @@ -8265,12 +8770,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8280,12 +8787,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8296,6 +8805,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8304,6 +8814,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8312,6 +8823,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8320,6 +8832,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8328,6 +8841,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, "requires": { "postcss": "5.2.18", "uniqs": "2.0.0" @@ -8337,6 +8851,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", + "dev": true, "requires": { "postcss": "5.2.18", "uniqid": "4.1.1" @@ -8346,6 +8861,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, "requires": { "cosmiconfig": "2.2.2", "object-assign": "4.1.1", @@ -8357,6 +8873,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, "requires": { "cosmiconfig": "2.2.2", "object-assign": "4.1.1" @@ -8366,6 +8883,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "dev": true, "requires": { "cosmiconfig": "2.2.2", "object-assign": "4.1.1" @@ -8375,6 +8893,7 @@ "version": "2.0.10", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.10.tgz", "integrity": "sha1-CQ2wVAFAvVanp/cXxBvCmu70xnQ=", + "dev": true, "requires": { "loader-utils": "1.1.0", "postcss": "6.0.15", @@ -8385,12 +8904,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8400,12 +8921,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8416,6 +8939,7 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, "requires": { "has": "1.0.1", "postcss": "5.2.18", @@ -8426,6 +8950,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8434,6 +8959,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, "requires": { "browserslist": "1.7.7", "caniuse-api": "1.6.1", @@ -8445,12 +8971,14 @@ "postcss-message-helpers": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true }, "postcss-minify-font-values": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, "requires": { "object-assign": "4.1.1", "postcss": "5.2.18", @@ -8461,6 +8989,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -8470,6 +8999,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, "requires": { "alphanum-sort": "1.0.2", "postcss": "5.2.18", @@ -8481,6 +9011,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, "requires": { "alphanum-sort": "1.0.2", "has": "1.0.1", @@ -8492,6 +9023,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "dev": true, "requires": { "postcss": "6.0.15" }, @@ -8499,12 +9031,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8514,12 +9048,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8530,6 +9066,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", "postcss": "6.0.15" @@ -8538,12 +9075,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8553,12 +9092,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8569,6 +9110,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", "postcss": "6.0.15" @@ -8577,12 +9119,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8592,12 +9136,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8608,6 +9154,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, "requires": { "icss-replace-symbols": "1.1.0", "postcss": "6.0.15" @@ -8616,12 +9163,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8631,12 +9180,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8647,6 +9198,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8655,6 +9207,7 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, "requires": { "is-absolute-url": "2.1.0", "normalize-url": "1.9.1", @@ -8666,6 +9219,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -8675,6 +9229,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, "requires": { "postcss": "5.2.18", "postcss-value-parser": "3.3.0" @@ -8684,6 +9239,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, "requires": { "postcss": "5.2.18" } @@ -8692,6 +9248,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, "requires": { "has": "1.0.1", "postcss": "5.2.18", @@ -8702,6 +9259,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, "requires": { "flatten": "1.0.2", "indexes-of": "1.0.1", @@ -8712,6 +9270,7 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, "requires": { "is-svg": "2.1.0", "postcss": "5.2.18", @@ -8723,6 +9282,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, "requires": { "alphanum-sort": "1.0.2", "postcss": "5.2.18", @@ -8733,6 +9293,7 @@ "version": "7.3.0", "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.0.tgz", "integrity": "sha1-zy9F4GdDz0PP6iUwn4HLwAPceD8=", + "dev": true, "requires": { "mime": "1.6.0", "minimatch": "3.0.4", @@ -8744,12 +9305,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "postcss": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", "integrity": "sha1-9GDNYmn+3g0b9t7/8Lk0qYRdl00=", + "dev": true, "requires": { "chalk": "2.3.0", "source-map": "0.6.1", @@ -8759,12 +9322,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", "integrity": "sha1-BYoCHRthn33fOYDXEuo1kM5949U=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -8774,12 +9339,14 @@ "postcss-value-parser": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true }, "postcss-zindex": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, "requires": { "has": "1.0.1", "postcss": "5.2.18", @@ -8789,7 +9356,8 @@ "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true }, "preserve": { "version": "0.2.0", @@ -8800,6 +9368,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, "requires": { "renderkid": "2.0.1", "utila": "0.4.0" @@ -8813,7 +9382,8 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true }, "process-nextick-args": { "version": "1.0.7", @@ -8823,7 +9393,8 @@ "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, "optional": true, "requires": { "asap": "2.0.6" @@ -8832,7 +9403,8 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true }, "promise-polyfill": { "version": "6.1.0", @@ -9021,6 +9593,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "dev": true, "requires": { "forwarded": "0.1.2", "ipaddr.js": "1.5.2" @@ -9035,17 +9608,20 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -9058,6 +9634,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", "integrity": "sha1-Xf6DEcM7v2/BgmH580cCxHwIqVQ=", + "dev": true, "requires": { "end-of-stream": "1.4.0", "once": "1.4.0" @@ -9067,6 +9644,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", + "dev": true, "requires": { "duplexify": "3.5.1", "inherits": "2.0.3", @@ -9076,12 +9654,14 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true }, "qjobs": { "version": "1.1.5", @@ -9092,12 +9672,14 @@ "qs": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, "requires": { "object-assign": "4.1.1", "strict-uri-encode": "1.1.0" @@ -9106,22 +9688,25 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true }, "querystringify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=" + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "dev": true }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "requires": { "is-number": "3.0.0", "kind-of": "4.0.0" @@ -9159,6 +9744,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -9167,6 +9753,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", "integrity": "sha1-uWt99YfwHdkXJsQY8wVTsUGOPWI=", + "dev": true, "requires": { "randombytes": "2.0.5", "safe-buffer": "5.1.1" @@ -9175,12 +9762,14 @@ "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true }, "raw-body": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, "requires": { "bytes": "3.0.0", "http-errors": "1.6.2", @@ -9191,12 +9780,14 @@ "raw-loader": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "1.1.0", "normalize-package-data": "2.4.0", @@ -9207,6 +9798,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" @@ -9259,6 +9851,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, "requires": { "indent-string": "2.1.0", "strip-indent": "1.0.1" @@ -9268,6 +9861,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, "requires": { "balanced-match": "0.4.2", "math-expression-evaluator": "1.2.17", @@ -9277,7 +9871,8 @@ "balanced-match": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true } } }, @@ -9285,6 +9880,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, "requires": { "balanced-match": "0.4.2" }, @@ -9292,7 +9888,8 @@ "balanced-match": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true } } }, @@ -9304,17 +9901,19 @@ "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=" + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { "is-equal-shallow": "0.1.3" } @@ -9323,6 +9922,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, "requires": { "regenerate": "1.3.3", "regjsgen": "0.2.0", @@ -9332,12 +9932,14 @@ "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true }, "regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, "requires": { "jsesc": "0.5.0" } @@ -9345,7 +9947,8 @@ "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true }, "remove-trailing-separator": { "version": "1.1.0", @@ -9356,6 +9959,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, "requires": { "css-select": "1.2.0", "dom-converter": "0.1.4", @@ -9367,7 +9971,8 @@ "utila": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=" + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true } } }, @@ -9385,6 +9990,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { "is-finite": "1.0.2" } @@ -9393,6 +9999,7 @@ "version": "2.81.0", "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, "requires": { "aws-sign2": "0.6.0", "aws4": "1.6.0", @@ -9421,27 +10028,32 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-from-string": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true }, "resolve": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, "requires": { "path-parse": "1.0.5" } @@ -9450,6 +10062,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, "requires": { "resolve-from": "3.0.0" } @@ -9457,12 +10070,14 @@ "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, "requires": { "align-text": "0.1.4" } @@ -9470,7 +10085,7 @@ "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } @@ -9479,6 +10094,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, "requires": { "hash-base": "2.0.2", "inherits": "2.0.3" @@ -9537,6 +10153,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, "requires": { "aproba": "1.2.0" } @@ -9552,7 +10169,7 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "safe-json-parse": { "version": "1.0.1", @@ -9564,6 +10181,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, "requires": { "glob": "7.1.2", "lodash": "4.17.4", @@ -9575,6 +10193,7 @@ "version": "6.0.6", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", "integrity": "sha1-6dXmwfFV+qMqSybXqbcQfCJeQPk=", + "dev": true, "requires": { "async": "2.6.0", "clone-deep": "0.3.0", @@ -9586,7 +10205,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -9602,12 +10222,13 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "schema-utils": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, "requires": { "ajv": "5.5.2" } @@ -9616,6 +10237,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, "requires": { "js-base64": "2.4.0", "source-map": "0.4.4" @@ -9625,6 +10247,7 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, "requires": { "amdefine": "1.0.1" } @@ -9634,7 +10257,8 @@ "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true }, "selenium-webdriver": { "version": "3.0.1", @@ -9663,6 +10287,7 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz", "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=", + "dev": true, "requires": { "node-forge": "0.6.33" } @@ -9670,12 +10295,14 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=" + "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", + "dev": true }, "send": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", "integrity": "sha1-pw4coh0TgsEdDZ9iMd6ygQgNerM=", + "dev": true, "requires": { "debug": "2.6.9", "depd": "1.1.1", @@ -9695,19 +10322,22 @@ "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=" + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "dev": true } } }, "serialize-javascript": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz", - "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=" + "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "dev": true }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, "requires": { "accepts": "1.3.4", "batch": "0.6.1", @@ -9782,7 +10412,8 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-immediate-shim": { "version": "1.0.1", @@ -9792,17 +10423,20 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=" + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true }, "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", "integrity": "sha1-mPZIgEdLdPSji42p08Dy0QRjPn0=", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -9812,6 +10446,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dev": true, "requires": { "is-extendable": "0.1.1", "kind-of": "2.0.1", @@ -9823,6 +10458,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -9833,6 +10469,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "1.0.0" } @@ -9840,17 +10477,20 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "silent-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.0.tgz", "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=", + "dev": true, "requires": { "debug": "2.6.9" } @@ -9858,12 +10498,14 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, "requires": { "hoek": "2.16.3" } @@ -10014,6 +10656,7 @@ "version": "0.3.18", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", + "dev": true, "requires": { "faye-websocket": "0.10.0", "uuid": "2.0.3" @@ -10022,7 +10665,8 @@ "uuid": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true } } }, @@ -10030,6 +10674,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "dev": true, "requires": { "debug": "2.6.9", "eventsource": "0.1.6", @@ -10043,6 +10688,7 @@ "version": "0.11.1", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, "requires": { "websocket-driver": "0.7.0" } @@ -10053,6 +10699,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, "requires": { "is-plain-obj": "1.1.0" } @@ -10060,7 +10707,8 @@ "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=" + "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", + "dev": true }, "source-map": { "version": "0.5.7", @@ -10071,6 +10719,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.3.tgz", "integrity": "sha1-1LDIzUfVTtzj5r+g9SP0UrWw5SE=", + "dev": true, "requires": { "async": "2.6.0", "loader-utils": "0.2.17", @@ -10081,6 +10730,7 @@ "version": "0.2.17", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -10091,7 +10741,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true } } }, @@ -10107,6 +10758,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -10114,17 +10766,20 @@ "spdx-expression-parse": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true }, "spdx-license-ids": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true }, "spdy": { "version": "3.4.7", "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, "requires": { "debug": "2.6.9", "handle-thing": "1.2.5", @@ -10138,6 +10793,7 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", + "dev": true, "requires": { "debug": "2.6.9", "detect-node": "2.0.3", @@ -10151,12 +10807,14 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sshpk": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -10171,7 +10829,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true } } }, @@ -10179,6 +10838,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", "integrity": "sha1-E8GTkLYGyCHyoQ0Cs1HBcpuU2M8=", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -10186,12 +10846,14 @@ "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true }, "stdout-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, "requires": { "readable-stream": "2.3.3" } @@ -10200,6 +10862,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -10209,6 +10872,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", "integrity": "sha1-joxGP5HaiZF3h2WHP+TZYNj2Fr0=", + "dev": true, "requires": { "end-of-stream": "1.4.0", "stream-shift": "1.0.0" @@ -10218,6 +10882,7 @@ "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=", + "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", @@ -10229,12 +10894,14 @@ "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true }, "string-template": { "version": "0.2.1", @@ -10246,6 +10913,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" @@ -10254,12 +10922,14 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "3.0.0" } @@ -10269,7 +10939,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { "safe-buffer": "5.1.1" } @@ -10277,7 +10947,8 @@ "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true }, "strip-ansi": { "version": "3.0.1", @@ -10291,6 +10962,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "0.2.1" } @@ -10298,12 +10970,14 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, "requires": { "get-stdin": "4.0.1" } @@ -10318,6 +10992,7 @@ "version": "0.13.2", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz", "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=", + "dev": true, "requires": { "loader-utils": "1.1.0" } @@ -10326,6 +11001,7 @@ "version": "0.54.5", "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "dev": true, "requires": { "css-parse": "1.7.0", "debug": "2.6.9", @@ -10339,6 +11015,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -10351,12 +11028,14 @@ "sax": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", + "dev": true }, "source-map": { "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, "requires": { "amdefine": "1.0.1" } @@ -10367,6 +11046,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.1.tgz", "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=", + "dev": true, "requires": { "loader-utils": "1.1.0", "lodash.clonedeep": "4.5.0", @@ -10377,6 +11057,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, "requires": { "has-flag": "1.0.0" } @@ -10385,6 +11066,7 @@ "version": "0.7.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, "requires": { "coa": "1.0.4", "colors": "1.1.2", @@ -10427,12 +11109,14 @@ "tapable": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true }, "tar": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -10479,17 +11163,20 @@ "thunky": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", - "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=" + "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=", + "dev": true }, "time-stamp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=" + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "dev": true }, "timers-browserify": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", "integrity": "sha1-lspT9LeUpefA4b18yIo3Ipj6AeY=", + "dev": true, "requires": { "setimmediate": "1.0.5" } @@ -10526,22 +11213,26 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true }, "toposort": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", - "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=" + "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=", + "dev": true }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, "requires": { "punycode": "1.4.1" } @@ -10549,22 +11240,26 @@ "tree-kill": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", - "integrity": "sha1-WEZ4Yje0I5AU8F2xVrZDIS1MbzY=" + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true }, "true-case-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, "optional": true, "requires": { "glob": "6.0.4" @@ -10574,6 +11269,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, "optional": true, "requires": { "inflight": "1.0.6", @@ -10724,12 +11420,14 @@ "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -10738,12 +11436,14 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, "optional": true }, "type-is": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "2.1.17" @@ -10752,7 +11452,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typescript": { "version": "2.4.2", @@ -10764,6 +11465,7 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.4.tgz", "integrity": "sha1-2Ou3byAaN5isLwtlGWQvzKSpmDQ=", + "dev": true, "requires": { "commander": "2.12.2", "source-map": "0.6.1" @@ -10772,7 +11474,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true } } }, @@ -10780,12 +11483,14 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, "optional": true }, "uglifyjs-webpack-plugin": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, "requires": { "source-map": "0.5.7", "uglify-js": "2.8.29", @@ -10795,12 +11500,14 @@ "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, "requires": { "center-align": "0.1.3", "right-align": "0.1.3", @@ -10811,6 +11518,7 @@ "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, "requires": { "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", @@ -10820,12 +11528,14 @@ "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, "requires": { "camelcase": "1.2.1", "cliui": "2.1.0", @@ -10844,12 +11554,14 @@ "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true }, "uniqid": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", + "dev": true, "requires": { "macaddress": "0.2.8" } @@ -10857,12 +11569,14 @@ "uniqs": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true }, "unique-filename": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, "requires": { "unique-slug": "2.0.0" } @@ -10871,6 +11585,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, "requires": { "imurmurhash": "0.1.4" } @@ -10878,12 +11593,14 @@ "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true }, "unreachable-branch-transform": { "version": "0.3.0", @@ -10898,12 +11615,14 @@ "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -10912,7 +11631,8 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true } } }, @@ -10920,6 +11640,7 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", "integrity": "sha1-oAenEJYg6dmI0UvOZ3od7Lmpk/c=", + "dev": true, "requires": { "loader-utils": "1.1.0", "mime": "1.6.0", @@ -10929,7 +11650,8 @@ "url-parse": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", - "integrity": "sha1-OhnoqqbQI93SfcxEy0/I9/7COYY=", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "dev": true, "requires": { "querystringify": "1.0.0", "requires-port": "1.0.0" @@ -10938,7 +11660,8 @@ "querystringify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "dev": true } } }, @@ -10976,6 +11699,7 @@ "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, "requires": { "inherits": "2.0.1" }, @@ -10983,7 +11707,8 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true } } }, @@ -10995,17 +11720,20 @@ "utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true }, "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "dev": true }, "v8flags": { "version": "2.1.1", @@ -11020,6 +11748,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -11028,17 +11757,20 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true }, "vendors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=" + "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", + "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "1.0.0", "core-util-is": "1.0.2", @@ -11048,19 +11780,22 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true } } }, "vlq": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY=" + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, "requires": { "indexof": "0.0.1" } @@ -11075,6 +11810,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, "requires": { "async": "2.6.0", "chokidar": "1.7.0", @@ -11085,6 +11821,7 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", + "dev": true, "requires": { "minimalistic-assert": "1.0.0" } @@ -11162,6 +11899,7 @@ "version": "3.10.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", "integrity": "sha1-UpG4dQeM8qv0K90jr+P4+WwX1yU=", + "dev": true, "requires": { "acorn": "5.3.0", "acorn-dynamic-import": "2.0.2", @@ -11190,12 +11928,14 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { "locate-path": "2.0.0" } @@ -11203,12 +11943,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -11220,6 +11962,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "dev": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -11230,6 +11973,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, "requires": { "pify": "2.3.0" } @@ -11238,6 +11982,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, "requires": { "load-json-file": "2.0.0", "normalize-package-data": "2.4.0", @@ -11248,6 +11993,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, "requires": { "find-up": "2.1.0", "read-pkg": "2.0.0" @@ -11256,12 +12002,14 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -11269,12 +12017,14 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, "requires": { "camelcase": "4.1.0", "cliui": "3.2.0", @@ -11295,6 +12045,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, "requires": { "camelcase": "4.1.0" } @@ -11305,6 +12056,7 @@ "version": "0.6.9", "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", + "dev": true, "requires": { "source-list-map": "0.1.8", "source-map": "0.4.4" @@ -11313,12 +12065,14 @@ "source-list-map": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=" + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true }, "source-map": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, "requires": { "amdefine": "1.0.1" } @@ -11328,7 +12082,8 @@ "webpack-dev-middleware": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha1-+PwRIM47T8VoDO7LQ9d3lmshEF4=", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, "requires": { "memory-fs": "0.4.1", "mime": "1.6.0", @@ -11341,6 +12096,7 @@ "version": "2.9.7", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz", "integrity": "sha1-EArWoUd1R4kk1BfKbc+51SqY+u0=", + "dev": true, "requires": { "ansi-html": "0.0.7", "array-includes": "3.0.3", @@ -11374,12 +12130,14 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, "requires": { "ms": "2.0.0" } @@ -11387,12 +12145,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -11401,6 +12161,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -11411,6 +12172,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -11419,6 +12181,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, "requires": { "camelcase": "3.0.0", "cliui": "3.2.0", @@ -11439,6 +12202,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, "requires": { "camelcase": "3.0.0" } @@ -11449,6 +12213,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.1.tgz", "integrity": "sha1-8Rl6Cpc+acb77rbWWCGaqMDBNVU=", + "dev": true, "requires": { "lodash": "4.17.4" } @@ -11457,6 +12222,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=", + "dev": true, "requires": { "source-list-map": "2.0.0", "source-map": "0.6.1" @@ -11465,7 +12231,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true } } }, @@ -11473,6 +12240,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.3.tgz", "integrity": "sha1-wGBtQAkLBwzeQovsjfNgMhbkcus=", + "dev": true, "requires": { "webpack-core": "0.6.9" } @@ -11489,22 +12257,25 @@ "websocket-extensions": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=" + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" }, "when": { "version": "3.6.4", "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", - "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=" + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true }, "whet.extend": { "version": "0.9.9", "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, "requires": { "isexe": "2.0.0" } @@ -11512,12 +12283,14 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true }, "wide-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, "requires": { "string-width": "1.0.2" }, @@ -11526,6 +12299,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -11534,6 +12308,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -11554,7 +12329,8 @@ "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true }, "wordwrap": { "version": "0.0.3", @@ -11566,6 +12342,7 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "integrity": "sha1-MrMS5dw9XUXXnvRKzCWHSRzXKa4=", + "dev": true, "requires": { "errno": "0.1.6", "xtend": "4.0.1" @@ -11625,12 +12402,13 @@ "xml-char-classes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=" + "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", + "dev": true }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "requires": { "sax": "1.2.4", "xmlbuilder": "9.0.4" @@ -11666,6 +12444,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.1.tgz", "integrity": "sha1-m76b6JYUKXbfo0wGGy0GjEPTDeA=", + "dev": true, "requires": { "cuint": "0.2.2" } @@ -11678,12 +12457,14 @@ "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, "requires": { "camelcase": "3.0.0", "cliui": "3.2.0", @@ -11703,12 +12484,14 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -11717,6 +12500,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -11729,6 +12513,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, "requires": { "camelcase": "3.0.0" }, @@ -11736,7 +12521,8 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true } } }, diff --git a/DynamicBibleIonic/package.json b/DynamicBibleIonic/package.json index 12c8582e..26d1cdef 100644 --- a/DynamicBibleIonic/package.json +++ b/DynamicBibleIonic/package.json @@ -19,7 +19,6 @@ "test-coverage": "ng test --code-coverage" }, "dependencies": { - "@angular/cli": "1.6.3", "@angular/common": "5.0.0", "@angular/compiler": "5.0.0", "@angular/compiler-cli": "5.0.0", @@ -38,10 +37,10 @@ "cordova-plugin-buildinfo": "^2.0.1", "cordova-plugin-compat": "^1.2.0", "cordova-plugin-console": "^1.1.0", - "cordova-plugin-crosswalk-webview": "^2.3.0", + "cordova-plugin-crosswalk-webview": "^2.4.0", "cordova-plugin-customurlscheme": "^4.3.0", "cordova-plugin-device": "^1.1.7", - "cordova-plugin-inappbrowser": "^2.0.1", + "cordova-plugin-inappbrowser": "^2.0.2", "cordova-plugin-splashscreen": "^4.1.0", "cordova-plugin-statusbar": "^2.4.1", "cordova-plugin-whitelist": "^1.3.3", @@ -56,7 +55,7 @@ "zone.js": "0.8.18" }, "devDependencies": { - "@angular/cli": "1.1.2", + "@angular/cli": "1.6.3", "@ionic/app-scripts": "3.1.0", "@types/jasmine": "2.5.41", "@types/node": "7.0.4", diff --git a/DynamicBibleIonic/platforms/android/android.json b/DynamicBibleIonic/platforms/android/android.json index 1519410c..d44cedc7 100644 --- a/DynamicBibleIonic/platforms/android/android.json +++ b/DynamicBibleIonic/platforms/android/android.json @@ -237,10 +237,10 @@ "cordova-plugin-browsertab": "0.2.0", "cordova-plugin-buildinfo": "2.0.1", "cordova-plugin-console": "1.1.0", - "cordova-plugin-crosswalk-webview": "2.3.0", + "cordova-plugin-crosswalk-webview": "2.4.0", "cordova-plugin-customurlscheme": "4.3.0", "cordova-plugin-device": "1.1.7", - "cordova-plugin-inappbrowser": "2.0.1", + "cordova-plugin-inappbrowser": "2.0.2", "cordova-plugin-splashscreen": "4.1.0", "cordova-plugin-statusbar": "2.4.1", "cordova-plugin-whitelist": "1.3.3", diff --git a/DynamicBibleIonic/platforms/android/cordova-plugin-crosswalk-webview/dynamicbible-xwalk.gradle b/DynamicBibleIonic/platforms/android/cordova-plugin-crosswalk-webview/dynamicbible-xwalk.gradle index 635925ae..5a198bd1 100644 --- a/DynamicBibleIonic/platforms/android/cordova-plugin-crosswalk-webview/dynamicbible-xwalk.gradle +++ b/DynamicBibleIonic/platforms/android/cordova-plugin-crosswalk-webview/dynamicbible-xwalk.gradle @@ -29,7 +29,17 @@ def DEFAULT_MIN_SDK_VERSION = 14 def getConfigPreference(name) { name = name.toLowerCase() - def xml = file("res/xml/config.xml").getText() + + def xml + + if (file("src/main/res/xml/config.xml").exists()) { + // cordova-android >= 7.0.0 + xml = file("src/main/res/xml/config.xml").getText() + } else { + // cordova-android < 7.0.0 + xml = file("res/xml/config.xml").getText() + } + // Disable namespace awareness since Cordova doesn't use them properly def root = new XmlParser(false, false).parseText(xml) diff --git a/DynamicBibleIonic/platforms/android/platform_www/cordova_plugins.js b/DynamicBibleIonic/platforms/android/platform_www/cordova_plugins.js index d61a020d..6826c659 100644 --- a/DynamicBibleIonic/platforms/android/platform_www/cordova_plugins.js +++ b/DynamicBibleIonic/platforms/android/platform_www/cordova_plugins.js @@ -82,10 +82,10 @@ module.exports.metadata = "cordova-plugin-browsertab": "0.2.0", "cordova-plugin-buildinfo": "2.0.1", "cordova-plugin-console": "1.1.0", - "cordova-plugin-crosswalk-webview": "2.3.0", + "cordova-plugin-crosswalk-webview": "2.4.0", "cordova-plugin-customurlscheme": "4.3.0", "cordova-plugin-device": "1.1.7", - "cordova-plugin-inappbrowser": "2.0.1", + "cordova-plugin-inappbrowser": "2.0.2", "cordova-plugin-splashscreen": "4.1.0", "cordova-plugin-statusbar": "2.4.1", "cordova-plugin-whitelist": "1.3.3", diff --git a/DynamicBibleIonic/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java b/DynamicBibleIonic/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java index 48f68461..2b0dbe0f 100644 --- a/DynamicBibleIonic/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java +++ b/DynamicBibleIonic/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java @@ -25,6 +25,9 @@ import android.provider.Browser; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; +import android.graphics.Color; import android.net.Uri; import android.os.Build; import android.os.Bundle; @@ -51,6 +54,7 @@ import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; +import android.widget.TextView; import org.apache.cordova.CallbackContext; import org.apache.cordova.Config; @@ -67,6 +71,8 @@ import org.json.JSONObject; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.util.Arrays; +import java.util.List; import java.util.HashMap; import java.util.StringTokenizer; @@ -91,6 +97,16 @@ public class InAppBrowser extends CordovaPlugin { private static final String SHOULD_PAUSE = "shouldPauseOnSuspend"; private static final Boolean DEFAULT_HARDWARE_BACK = true; private static final String USER_WIDE_VIEW_PORT = "useWideViewPort"; + private static final String TOOLBAR_COLOR = "toolbarcolor"; + private static final String CLOSE_BUTTON_CAPTION = "closebuttoncaption"; + private static final String CLOSE_BUTTON_COLOR = "closebuttoncolor"; + private static final String HIDE_NAVIGATION = "hidenavigationbuttons"; + private static final String NAVIGATION_COLOR = "navigationbuttoncolor"; + private static final String HIDE_URL = "hideurlbar"; + private static final String FOOTER = "footer"; + private static final String FOOTER_COLOR = "footercolor"; + + private static final List customizableOptions = Arrays.asList(CLOSE_BUTTON_CAPTION, TOOLBAR_COLOR, NAVIGATION_COLOR, CLOSE_BUTTON_COLOR, FOOTER_COLOR); private InAppBrowserDialog dialog; private WebView inAppWebView; @@ -109,6 +125,14 @@ public class InAppBrowser extends CordovaPlugin { private ValueCallback mUploadCallbackLollipop; private final static int FILECHOOSER_REQUESTCODE = 1; private final static int FILECHOOSER_REQUESTCODE_LOLLIPOP = 2; + private String closeButtonCaption = ""; + private String closeButtonColor = ""; + private int toolbarColor = android.graphics.Color.LTGRAY; + private boolean hideNavigationButtons = false; + private String navigationButtonColor = ""; + private boolean hideUrlBar = false; + private boolean showFooter = false; + private String footerColor = ""; /** * Executes the request and returns PluginResult. @@ -127,7 +151,7 @@ public class InAppBrowser extends CordovaPlugin { t = SELF; } final String target = t; - final HashMap features = parseFeature(args.optString(2)); + final HashMap features = parseFeature(args.optString(2)); LOG.d(LOG_TAG, "target = " + target); @@ -366,18 +390,21 @@ public class InAppBrowser extends CordovaPlugin { * @param optString * @return */ - private HashMap parseFeature(String optString) { + private HashMap parseFeature(String optString) { if (optString.equals(NULL)) { return null; } else { - HashMap map = new HashMap(); + HashMap map = new HashMap(); StringTokenizer features = new StringTokenizer(optString, ","); StringTokenizer option; while(features.hasMoreElements()) { option = new StringTokenizer(features.nextToken(), "="); if (option.hasMoreElements()) { String key = option.nextToken(); - Boolean value = option.nextToken().equals("no") ? Boolean.FALSE : Boolean.TRUE; + String value = option.nextToken(); + if (!customizableOptions.contains(key)){ + value = value.equals("yes") || value.equals("no") ? value : "yes"; + } map.put(key, value); } } @@ -406,7 +433,7 @@ public class InAppBrowser extends CordovaPlugin { intent.putExtra(Browser.EXTRA_APPLICATION_ID, cordova.getActivity().getPackageName()); this.cordova.getActivity().startActivity(intent); return ""; - // not catching FileUriExposedException explicitly because buildtools<24 doesn't know about it + // not catching FileUriExposedException explicitly because buildtools<24 doesn't know about it } catch (java.lang.RuntimeException e) { LOG.d(LOG_TAG, "InAppBrowser: Error loading url "+url+":"+ e.toString()); return e.toString(); @@ -523,7 +550,7 @@ public class InAppBrowser extends CordovaPlugin { * @param url the url to load. * @param features jsonObject */ - public String showWebPage(final String url, HashMap features) { + public String showWebPage(final String url, HashMap features) { // Determine if we should hide the location bar. showLocationBar = true; showZoomControls = true; @@ -531,44 +558,74 @@ public class InAppBrowser extends CordovaPlugin { mediaPlaybackRequiresUserGesture = false; if (features != null) { - Boolean show = features.get(LOCATION); + String show = features.get(LOCATION); if (show != null) { - showLocationBar = show.booleanValue(); + showLocationBar = show.equals("yes") ? true : false; } - Boolean zoom = features.get(ZOOM); + if(showLocationBar) { + String hideNavigation = features.get(HIDE_NAVIGATION); + String hideUrl = features.get(HIDE_URL); + if(hideNavigation != null) hideNavigationButtons = hideNavigation.equals("yes") ? true : false; + if(hideUrl != null) hideUrlBar = hideUrl.equals("yes") ? true : false; + } + String zoom = features.get(ZOOM); if (zoom != null) { - showZoomControls = zoom.booleanValue(); + showZoomControls = zoom.equals("yes") ? true : false; } - Boolean hidden = features.get(HIDDEN); + String hidden = features.get(HIDDEN); if (hidden != null) { - openWindowHidden = hidden.booleanValue(); + openWindowHidden = hidden.equals("yes") ? true : false; } - Boolean hardwareBack = features.get(HARDWARE_BACK_BUTTON); + String hardwareBack = features.get(HARDWARE_BACK_BUTTON); if (hardwareBack != null) { - hadwareBackButton = hardwareBack.booleanValue(); + hadwareBackButton = hardwareBack.equals("yes") ? true : false; } else { hadwareBackButton = DEFAULT_HARDWARE_BACK; } - Boolean mediaPlayback = features.get(MEDIA_PLAYBACK_REQUIRES_USER_ACTION); + String mediaPlayback = features.get(MEDIA_PLAYBACK_REQUIRES_USER_ACTION); if (mediaPlayback != null) { - mediaPlaybackRequiresUserGesture = mediaPlayback.booleanValue(); + mediaPlaybackRequiresUserGesture = mediaPlayback.equals("yes") ? true : false; } - Boolean cache = features.get(CLEAR_ALL_CACHE); + String cache = features.get(CLEAR_ALL_CACHE); if (cache != null) { - clearAllCache = cache.booleanValue(); + clearAllCache = cache.equals("yes") ? true : false; } else { cache = features.get(CLEAR_SESSION_CACHE); if (cache != null) { - clearSessionCache = cache.booleanValue(); + clearSessionCache = cache.equals("yes") ? true : false; } } - Boolean shouldPause = features.get(SHOULD_PAUSE); + String shouldPause = features.get(SHOULD_PAUSE); if (shouldPause != null) { - shouldPauseInAppBrowser = shouldPause.booleanValue(); + shouldPauseInAppBrowser = shouldPause.equals("yes") ? true : false; } - Boolean wideViewPort = features.get(USER_WIDE_VIEW_PORT); + String wideViewPort = features.get(USER_WIDE_VIEW_PORT); if (wideViewPort != null ) { - useWideViewPort = wideViewPort.booleanValue(); + useWideViewPort = wideViewPort.equals("yes") ? true : false; + } + String closeButtonCaptionSet = features.get(CLOSE_BUTTON_CAPTION); + if (closeButtonCaptionSet != null) { + closeButtonCaption = closeButtonCaptionSet; + } + String closeButtonColorSet = features.get(CLOSE_BUTTON_COLOR); + if (closeButtonColorSet != null) { + closeButtonColor = closeButtonColorSet; + } + String toolbarColorSet = features.get(TOOLBAR_COLOR); + if (toolbarColorSet != null) { + toolbarColor = android.graphics.Color.parseColor(toolbarColorSet); + } + String navigationButtonColorSet = features.get(NAVIGATION_COLOR); + if (navigationButtonColorSet != null) { + navigationButtonColor = navigationButtonColorSet; + } + String showFooterSet = features.get(FOOTER); + if (showFooterSet != null) { + showFooter = showFooterSet.equals("yes") ? true : false; + } + String footerColorSet = features.get(FOOTER_COLOR); + if (footerColorSet != null) { + footerColor = footerColorSet; } } @@ -583,13 +640,60 @@ public class InAppBrowser extends CordovaPlugin { */ private int dpToPixels(int dipValue) { int value = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, - (float) dipValue, - cordova.getActivity().getResources().getDisplayMetrics() + (float) dipValue, + cordova.getActivity().getResources().getDisplayMetrics() ); return value; } + private View createCloseButton(int id){ + View _close; + Resources activityRes = cordova.getActivity().getResources(); + + if (closeButtonCaption != "") { + // Use TextView for text + TextView close = new TextView(cordova.getActivity()); + close.setText(closeButtonCaption); + close.setTextSize(20); + if (closeButtonColor != "") close.setTextColor(android.graphics.Color.parseColor(closeButtonColor)); + close.setGravity(android.view.Gravity.CENTER_VERTICAL); + close.setPadding(this.dpToPixels(10), 0, this.dpToPixels(10), 0); + _close = close; + } + else { + ImageButton close = new ImageButton(cordova.getActivity()); + int closeResId = activityRes.getIdentifier("ic_action_remove", "drawable", cordova.getActivity().getPackageName()); + Drawable closeIcon = activityRes.getDrawable(closeResId); + if (closeButtonColor != "") close.setColorFilter(android.graphics.Color.parseColor(closeButtonColor)); + close.setImageDrawable(closeIcon); + close.setScaleType(ImageView.ScaleType.FIT_CENTER); + if (Build.VERSION.SDK_INT >= 16) + close.getAdjustViewBounds(); + + _close = close; + } + + RelativeLayout.LayoutParams closeLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); + closeLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); + _close.setLayoutParams(closeLayoutParams); + + if (Build.VERSION.SDK_INT >= 16) + _close.setBackground(null); + else + _close.setBackgroundDrawable(null); + + _close.setContentDescription("Close Button"); + _close.setId(Integer.valueOf(id)); + _close.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + closeDialog(); + } + }); + + return _close; + } + @SuppressLint("NewApi") public void run() { @@ -612,7 +716,7 @@ public class InAppBrowser extends CordovaPlugin { // Toolbar layout RelativeLayout toolbar = new RelativeLayout(cordova.getActivity()); //Please, no more black! - toolbar.setBackgroundColor(android.graphics.Color.LTGRAY); + toolbar.setBackgroundColor(toolbarColor); toolbar.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, this.dpToPixels(44))); toolbar.setPadding(this.dpToPixels(2), this.dpToPixels(2), this.dpToPixels(2), this.dpToPixels(2)); toolbar.setHorizontalGravity(Gravity.LEFT); @@ -635,6 +739,7 @@ public class InAppBrowser extends CordovaPlugin { Resources activityRes = cordova.getActivity().getResources(); int backResId = activityRes.getIdentifier("ic_action_previous_item", "drawable", cordova.getActivity().getPackageName()); Drawable backIcon = activityRes.getDrawable(backResId); + if (navigationButtonColor != "") back.setColorFilter(android.graphics.Color.parseColor(navigationButtonColor)); if (Build.VERSION.SDK_INT >= 16) back.setBackground(null); else @@ -660,6 +765,7 @@ public class InAppBrowser extends CordovaPlugin { forward.setId(Integer.valueOf(3)); int fwdResId = activityRes.getIdentifier("ic_action_next_item", "drawable", cordova.getActivity().getPackageName()); Drawable fwdIcon = activityRes.getDrawable(fwdResId); + if (navigationButtonColor != "") forward.setColorFilter(android.graphics.Color.parseColor(navigationButtonColor)); if (Build.VERSION.SDK_INT >= 16) forward.setBackground(null); else @@ -692,37 +798,37 @@ public class InAppBrowser extends CordovaPlugin { public boolean onKey(View v, int keyCode, KeyEvent event) { // If the event is a key-down event on the "enter" button if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { - navigate(edittext.getText().toString()); - return true; + navigate(edittext.getText().toString()); + return true; } return false; } }); - // Close/Done button - ImageButton close = new ImageButton(cordova.getActivity()); - RelativeLayout.LayoutParams closeLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); - closeLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); - close.setLayoutParams(closeLayoutParams); - close.setContentDescription("Close Button"); - close.setId(Integer.valueOf(5)); - int closeResId = activityRes.getIdentifier("ic_action_remove", "drawable", cordova.getActivity().getPackageName()); - Drawable closeIcon = activityRes.getDrawable(closeResId); - if (Build.VERSION.SDK_INT >= 16) - close.setBackground(null); - else - close.setBackgroundDrawable(null); - close.setImageDrawable(closeIcon); - close.setScaleType(ImageView.ScaleType.FIT_CENTER); - back.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10)); - if (Build.VERSION.SDK_INT >= 16) - close.getAdjustViewBounds(); - close.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - closeDialog(); - } - }); + // Header Close/Done button + View close = createCloseButton(5); + toolbar.addView(close); + + // Footer + RelativeLayout footer = new RelativeLayout(cordova.getActivity()); + int _footerColor; + if(footerColor != ""){ + _footerColor = Color.parseColor(footerColor); + }else{ + _footerColor = android.graphics.Color.LTGRAY; + } + footer.setBackgroundColor(_footerColor); + RelativeLayout.LayoutParams footerLayout = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, this.dpToPixels(44)); + footerLayout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); + footer.setLayoutParams(footerLayout); + if (closeButtonCaption != "") footer.setPadding(this.dpToPixels(8), this.dpToPixels(8), this.dpToPixels(8), this.dpToPixels(8)); + footer.setHorizontalGravity(Gravity.LEFT); + footer.setVerticalGravity(Gravity.BOTTOM); + + View footerClose = createCloseButton(7); + footer.addView(footerClose); + // WebView inAppWebView = new WebView(cordova.getActivity()); @@ -825,10 +931,9 @@ public class InAppBrowser extends CordovaPlugin { actionButtonContainer.addView(back); actionButtonContainer.addView(forward); - // Add the views to our toolbar - toolbar.addView(actionButtonContainer); - toolbar.addView(edittext); - toolbar.addView(close); + // Add the views to our toolbar if they haven't been disabled + if (!hideNavigationButtons) toolbar.addView(actionButtonContainer); + if (!hideUrlBar) toolbar.addView(edittext); // Don't add the toolbar if its been disabled if (getShowLocationBar()) { @@ -837,7 +942,14 @@ public class InAppBrowser extends CordovaPlugin { } // Add our webview to our main view/layout - main.addView(inAppWebView); + RelativeLayout webViewLayout = new RelativeLayout(cordova.getActivity()); + webViewLayout.addView(inAppWebView); + main.addView(webViewLayout); + + // Don't add the footer unless it's been enabled + if (showFooter) { + webViewLayout.addView(footer); + } WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(dialog.getWindow().getAttributes()); @@ -1027,7 +1139,7 @@ public class InAppBrowser extends CordovaPlugin { // Update the UI if we haven't already if (!newloc.equals(edittext.getText().toString())) { edittext.setText(newloc); - } + } try { JSONObject obj = new JSONObject(); diff --git a/DynamicBibleIonic/src/components/passage/passage.html b/DynamicBibleIonic/src/components/passage/passage.html index fd2d88de..322347e9 100644 --- a/DynamicBibleIonic/src/components/passage/passage.html +++ b/DynamicBibleIonic/src/components/passage/passage.html @@ -6,22 +6,33 @@
-
+

Chapter {{ch.ch}}

-
+

{{para.p.h}}

- - {{vs.v}}. + + {{vs.v}}. {{w.t}} {{w.t}} -
-
+
+

-
+
+
+

+ Chapter {{ch.ch}} +

+ + {{vs.v}}. + {{w.t}} + {{w.t}} +
+
+
diff --git a/DynamicBibleIonic/src/components/passage/passage.ts b/DynamicBibleIonic/src/components/passage/passage.ts index 1d883687..ce98607c 100644 --- a/DynamicBibleIonic/src/components/passage/passage.ts +++ b/DynamicBibleIonic/src/components/passage/passage.ts @@ -19,13 +19,8 @@ export class Passage implements OnInit @Input() cardItem: CardItem; - @Input() - versesOnNewLine: boolean; - - @Input() - showVerseNumbers: boolean; - data: BiblePassageResult; + withParas: BibleParaPassage[]; ref: Reference; constructor(private bibleService: BibleService, private elementRef: ElementRef, private profileService: ProfileService) @@ -35,7 +30,17 @@ export class Passage implements OnInit ngOnInit(): void { this.ref = new Reference(this.cardItem.qry); - this.bibleService.getResultAsPromise(this.ref.Section).then(data => this.data = data); + this.bibleService.getResultAsPromise(this.ref.Section).then(data => + { + this.setData(data); + }); + } + + + setData(data: BiblePassageResult) + { + this.data = data; + this.withParas = this.getParaPassages(data.cs); } close() @@ -70,7 +75,7 @@ export class Passage implements OnInit this.bibleService.getResultAsPromise(this.ref.Section).then(data => { - this.data = data; + this.setData(data); this.cardItem.qry = data.ref; this.ref = new Reference(data.ref); }); @@ -89,7 +94,7 @@ export class Passage implements OnInit this.bibleService.getResultAsPromise(this.ref.Section).then(data => { - this.data = data; + this.setData(data); this.cardItem.qry = data.ref; this.ref = new Reference(data.ref); }); @@ -136,7 +141,7 @@ export class Passage implements OnInit this.bibleService.getResultAsPromise(this.ref.Section).then(data => { - this.data = data; + this.setData(data); this.cardItem.qry = data.ref; this.ref = new Reference(data.ref); }); @@ -174,22 +179,29 @@ export class Passage implements OnInit return this.ref.Section.start.book.book_number + ';' + this.ref.Section.start.chapter + ';' + vs.v; } + getParaPassages(chapters: BiblePassage[]) + { + let passages: BibleParaPassage[] = []; + for (let ch of chapters) + { + let para = { + ch: ch.ch, + paras: this.getParas(ch) + }; + + passages.push(para); + } + return passages; + } + getParas(ch: BiblePassage) { // group the verses into paragraphs. - + // create an initial paragraph to hold verses that might come before a paragraph. let para: BiblePara = { p: { h: '', p: 0 }, vss: [] }; let paras: BiblePara[] = []; - // if you aren't showing paragraphs, stick em all in the same paragraph. - if (!this.profileService.profile().show_paragraphs) - { - para.vss = ch.vss; - paras.push(para); - return paras; - } - // for each verse in the chapter, break them into paragraphs. for (let v of ch.vss) { @@ -218,3 +230,8 @@ type BiblePara = { p: Paragraph, vss: BibleVerse[], } + +type BibleParaPassage = { + ch: number; + paras: BiblePara[]; +} diff --git a/DynamicBibleIonic/src/components/verse-picker/verse-picker.scss b/DynamicBibleIonic/src/components/verse-picker/verse-picker.scss index 5a7326d5..28246291 100644 --- a/DynamicBibleIonic/src/components/verse-picker/verse-picker.scss +++ b/DynamicBibleIonic/src/components/verse-picker/verse-picker.scss @@ -1,4 +1,5 @@ verse-picker { + .button { color: #fff; font-size: 1em; @@ -7,7 +8,7 @@ verse-picker { background-color: #1c2e4c; margin: .3em; text-align: center; - width: 75px; + width: 95px; } .backbutton { diff --git a/DynamicBibleIonic/src/pages/search/search.html b/DynamicBibleIonic/src/pages/search/search.html index 15e21a8c..d29c9387 100644 --- a/DynamicBibleIonic/src/pages/search/search.html +++ b/DynamicBibleIonic/src/pages/search/search.html @@ -22,35 +22,35 @@ Search Settings Show Strongs as Modal - + Clear Search after Query - + Append Results Below - + Insert Result Next to Item - + Each Verse on New Line - + Show Verse #'s - + Show Paragraphs - + Show Paragraph Headings - + Adjust Text @@ -97,8 +97,7 @@ - + diff --git a/DynamicBibleIonic/src/pages/search/search.ts b/DynamicBibleIonic/src/pages/search/search.ts index ecbdd1e8..71ba228c 100644 --- a/DynamicBibleIonic/src/pages/search/search.ts +++ b/DynamicBibleIonic/src/pages/search/search.ts @@ -12,8 +12,7 @@ import { VersePickerModal } from '../../components/verse-picker/verse-picker'; @Component({ templateUrl: 'search.html' }) -export class SearchPage implements OnInit -{ +export class SearchPage implements OnInit { searchQuery = ''; last: CardItem; loader: Loading; @@ -27,34 +26,43 @@ export class SearchPage implements OnInit , public modalCtrl: ModalController , public profileService: ProfileService , public params: NavParams - ) - { + ) { } - ngOnInit(): void - { - let t = this.profileService.profile(); - // Check if there is a profile saved in local storage - this.loader = this.loadingCtrl.create({ content: 'Loading Page...' }); - this.loader.present().then(() => - { - this.initializeItems(t); + ngOnInit(): void { + if (this.profileService.localIsLoaded) { + this.loader = this.loadingCtrl.create({ content: 'Loading Page...' }); + this.loader.present().then(() => { + let t = this.profileService.profile(); + this.initializeItems(t); this.loader.dismiss(); }); + } + else + { + this.profileService.onLocalStorageLoaded.subscribe(t => { + // Check if there is a profile saved in local storage + this.loader = this.loadingCtrl.create({ content: 'Loading Page...' }); + this.loader.present().then(() => { + this.initializeItems(t); + this.loader.dismiss(); + }); + + }); + this.profileService.onSavedPagesChanged.subscribe(sp => { + this.pagesService.initializePages(sp); + }); + } } - - initializeItems(u: User) - { + + initializeItems(u: User) { // migrate old way of storing card items to the new. let has_migrated = false; - for (let i in u.items) - { - if (u.items.hasOwnProperty(i)) - { + for (let i in u.items) { + if (u.items.hasOwnProperty(i)) { let ci = u.items[i]; - if (ci['data'] !== undefined) - { + if (ci['data'] !== undefined) { if (ci['data'].qry !== undefined) u.items[i] = { qry: ci['data'].qry, dict: ci.dict, type: ci.type }; else if (ci['data'].ref !== undefined) @@ -73,15 +81,11 @@ export class SearchPage implements OnInit } } - for (let pg of u.saved_pages) - { - for (let i in pg.queries) - { - if (pg.queries.hasOwnProperty(i)) - { + for (let pg of u.saved_pages) { + for (let i in pg.queries) { + if (pg.queries.hasOwnProperty(i)) { let ci = pg.queries[i]; - if (ci['data'] !== undefined) - { + if (ci['data'] !== undefined) { if (ci['data'].qry !== undefined) pg.queries[i] = { qry: ci['data'].qry, dict: ci.dict, type: ci.type }; else if (ci['data'].ref !== undefined) @@ -105,7 +109,7 @@ export class SearchPage implements OnInit this.pagesService.initializePages(u.saved_pages); if (this.params.data.queries !== undefined) - this.profileService.profile().items = this.params.data.queries.slice(); + this.profileService.profile().items = JSON.parse(JSON.stringify(this.params.data.queries)); if (this.params.data.title === undefined) this.title = 'Search'; @@ -114,25 +118,19 @@ export class SearchPage implements OnInit if (has_migrated) this.profileService.save(); + } - save() - { - this.profileService.save(); - } - textSizeChanged() - { + textSizeChanged() { this.profileService.textSizeChanged(); - this.save(); + this.profileService.localSave(); } - actionsMenu() - { + actionsMenu() { this.menu.open('actions'); } - addPage() - { + addPage() { const alert = this.alertCtrl.create({ title: 'Save Search as Page', inputs: [ @@ -145,15 +143,13 @@ export class SearchPage implements OnInit { text: 'Cancel', role: 'cancel', - handler: (): void => - { + handler: (): void => { console.log('Cancel clicked'); } }, { text: 'Save', - handler: data => - { + handler: data => { const p = { queries: this.profileService.profile().items.slice(), title: data.title }; this.profileService.profile().saved_pages.push(p); this.profileService.save(); @@ -165,71 +161,58 @@ export class SearchPage implements OnInit alert.present(); } - updatePage() - { + updatePage() { const page = this.profileService.profile().saved_pages.find( i => - i.title === this.params.data.title + i.title === this.params.data.title ); page.queries = this.profileService.profile().items.slice(); this.profileService.save(); } - setQuery(searchbar) - { + setQuery(searchbar) { this.searchQuery = searchbar.target.value; } - getQuery(searchbar) - { + getQuery(searchbar) { this.updateUIwithItems(this.searchQuery, true); } - isError(t: string) - { + isError(t: string) { return t === 'Error'; } - isPassage(t: string) - { + isPassage(t: string) { return t === 'Passage'; } - isStrongs(t: string) - { + isStrongs(t: string) { return t === 'Strongs'; } - isWords(t: string) - { + isWords(t: string) { return t === 'Words'; } - versePicker() - { + versePicker() { const modal = this.modalCtrl.create(VersePickerModal, { onItemClicked: this }); modal.present(); } - removeItem(item) - { + removeItem(item) { const idx = this.profileService.profile().items.indexOf(item); this.profileService.profile().items.splice(idx, 1); // save the users settings. - this.profileService.save(); + this.profileService.localSave(); } - addItemToList(item: CardItem) - { - if (this.profileService.profile().append_to_bottom) - { - if (this.last != null && this.profileService.profile().insert_next_to_item) - { + + addItemToList(item: CardItem) { + if (this.profileService.profile().append_to_bottom) { + if (this.last != null && this.profileService.profile().insert_next_to_item) { const idx = this.profileService.profile().items.indexOf(this.last); this.profileService.profile().items.splice(idx + 1, 0, item); } else this.profileService.profile().items.push(item); } - else - { - if (this.last != null && this.profileService.profile().insert_next_to_item) - { + else { + if (this.last != null && this.profileService.profile().insert_next_to_item) { const idx = this.profileService.profile().items.indexOf(this.last); this.profileService.profile().items.splice(idx, 0, item); } else @@ -237,33 +220,25 @@ export class SearchPage implements OnInit } this.last = null; } - getItemsNextToCard(data: OpenData) - { + getItemsNextToCard(data: OpenData) { this.last = data.card; this.updateUIwithItems(data.qry, data.from_search_bar); } - - getItemList(search: string): Promise - { - return new Promise((resolve) => - { + + getItemList(search: string): Promise { + return new Promise((resolve) => { const list: CardItem[] = []; - try - { + try { const qs = search.split(';'); - for (let x in qs) - { - if (qs.hasOwnProperty(x)) - { + for (let x in qs) { + if (qs.hasOwnProperty(x)) { let q = qs[x].trim(); - if (q !== '') - { + if (q !== '') { // its a search term. if (q.search(/[0-9]/i) === -1) list.push({ qry: q, dict: 'na', type: 'Words' }); - else if (q.search(/(H|G)[0-9]/i) !== -1) - { + else if (q.search(/(H|G)[0-9]/i) !== -1) { // its a strongs lookup let dict = q.substring(0, 1); @@ -275,11 +250,9 @@ export class SearchPage implements OnInit q = q.substring(1, q.length); list.push({ qry: q, dict: dict, type: 'Strongs' }); } - else - { + else { // its a verse reference. - if (q.trim() !== '') - { + if (q.trim() !== '') { const myref = new Reference(q.trim()); list.push({ qry: myref.toString(), dict: myref.Section.start.book.book_number > 39 ? 'G' : 'H', type: 'Passage' }); } @@ -292,8 +265,7 @@ export class SearchPage implements OnInit this.profileService.save(); } - catch (error) - { + catch (error) { list.push({ qry: error, type: 'Error', dict: 'na' }); console.log(error); } @@ -302,18 +274,13 @@ export class SearchPage implements OnInit }); } - updateUIwithItems(search: string, from_search_bar: boolean) - { - this.getItemList(search).then(lst => - { + updateUIwithItems(search: string, from_search_bar: boolean) { + this.getItemList(search).then(lst => { this.loader = this.loadingCtrl.create({ content: 'Looking up Query...' }); this.loader.present().then( - () => - { - for (let item of lst) - { - if (item.type === 'Strongs' && this.profileService.profile().strongs_modal && !from_search_bar) - { + () => { + for (let item of lst) { + if (item.type === 'Strongs' && this.profileService.profile().strongs_modal && !from_search_bar) { const modal = this.modalCtrl.create(StrongsModal, { sn: parseInt(item.qry), dict: item.dict, onItemClicked: this }); modal.present(); } else @@ -330,8 +297,7 @@ export type OpenData = { card: CardItem, qry: string, from_search_bar: boolean } export type CardItem = { qry: string, type: string, dict: string } -class Item -{ +class Item { id: number; data: any; type: Type; diff --git a/DynamicBibleIonic/src/pages/settings/settings.html b/DynamicBibleIonic/src/pages/settings/settings.html index 9531c692..e39548ff 100644 --- a/DynamicBibleIonic/src/pages/settings/settings.html +++ b/DynamicBibleIonic/src/pages/settings/settings.html @@ -9,7 +9,7 @@

Search Settings

- + {{profileService.isWeb}} : {{profileService.url}} diff --git a/DynamicBibleIonic/src/pages/settings/settings.ts b/DynamicBibleIonic/src/pages/settings/settings.ts index 16bcb65f..3fa6bd18 100644 --- a/DynamicBibleIonic/src/pages/settings/settings.ts +++ b/DynamicBibleIonic/src/pages/settings/settings.ts @@ -20,12 +20,7 @@ export class SettingsPage textSizeChanged() { this.profileService.textSizeChanged(); - this.save(); - } - - save() - { - this.profileService.save() + this.profileService.localSave(); } reset() diff --git a/DynamicBibleIonic/src/services/profile-service.ts b/DynamicBibleIonic/src/services/profile-service.ts index cf67b919..982bcd65 100644 --- a/DynamicBibleIonic/src/services/profile-service.ts +++ b/DynamicBibleIonic/src/services/profile-service.ts @@ -11,45 +11,36 @@ import { CardItem } from '../pages/search/search'; import { Promise } from 'q'; import { setTimeout } from 'timers'; -type fbObject = { - ref: AngularFireObject, - stream: Observable, -}; +import { Output, EventEmitter } from '@angular/core'; export const DEFAULT_USER_NAME = 'john_doe'; -export type User = { - username: string, - uid: string | null, - strongs_modal: boolean, - clear_search_after_query: boolean, - items: CardItem[], - append_to_bottom: boolean, - insert_next_to_item: boolean, - font_size: number, - saved_pages: SavedPage[], - verses_on_new_line: boolean, - show_verse_numbers: boolean, - show_paragraphs: boolean, - show_paragraph_headings: boolean, -} - -export type SavedPage = { - queries: CardItem[], - title: string, -} @Injectable() export class ProfileService { + @Output() + onSavedPagesChanged = new EventEmitter(); + @Output() + onLocalStorageLoaded = new EventEmitter(); + localProfile: User; remoteProfile: fbObject | null; - remoteLoggedIn: boolean; isWeb: boolean; + url: string; needsSync = false; + firebaseUser: firebase.User; + remoteLoggedIn: boolean; + localIsLoaded: boolean; - constructor(private local: Storage, private db: AngularFireDatabase, public firebaseAuth: AngularFireAuth) + constructor( + private local: Storage, + private db: AngularFireDatabase, + public firebaseAuth: AngularFireAuth + ) { - this.isWeb = (document.URL.startsWith('http') || !document.URL.startsWith('http://localhost:8080')); + this.url = document.URL; + this.isWeb = (document.URL.startsWith('http') && !document.URL.startsWith('http://localhost:8080')); + this.localIsLoaded = false; // asyncrounosly kick off a poller that does the work of syncing remotely when the // profile needs to be synced. @@ -66,36 +57,29 @@ export class ProfileService { let st = new Date(); console.log('Saving the remote profile...'); self.remoteProfile.ref.set(self.localProfile); - console.log('Finished saving remote profile. ' + self.elapsed(st, new Date) + 'ms'); + console.log(' Finished saving remote profile. ' + self.elapsed(st, new Date) + 'ms'); } self.needsSync = false; } + poll(self); - }, 3000); + }, 10000); })(this); - let localObserver = this.userObserver().subscribe( - user => - { - this.update(user); - this.localProfile = user; - }, - error => console.log(error) - ); - - this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state)); - - } - - userObserver(): Observable - { - return Observable.fromPromise(this.local.get('profile')).map(json_profile => + this.local.get('profile').then(json_profile => { let t = this.profile(); - if (json_profile !== null) t = JSON.parse(json_profile); - return t; + if (json_profile !== null) + t = JSON.parse(json_profile); + + this.localProfile = t; + this.localIsLoaded = true; + this.onLocalStorageLoaded.emit(this.localProfile); }); + + this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state)); + } profile(): User @@ -105,50 +89,141 @@ export class ProfileService this.localProfile = ProfileService.createDefaultUser(); } - return this.localProfile + return this.localProfile; } subscribeToRemoteProfile(db: AngularFireDatabase, user: firebase.User) { - if (!user) return; - + console.log('subscribeToRemoteProfile'); + if (!user || this.firebaseUser) return; + console.log('You got the firebase user.'); let obj = db.object('/settings/' + user.uid); this.remoteProfile = { ref: obj as AngularFireObject, stream: obj.valueChanges() as Observable, }; + this.firebaseUser = user; this.profile().username = user.displayName; this.profile().uid = user.uid; - this.save(); this.remoteProfile.stream.subscribe( user => this.handleRemotePreferenceChange(user), error => console.log(error)); } + + comparePage(a: SavedPage, b: SavedPage) + { + if (a.title > b.title) + return 1; + if (a.title === b.title) + return 0; + if (a.title < b.title) + return -1; + + } + private returnYonly(a: SavedPage[], b: SavedPage[]) + { + let r: SavedPage[] = []; + if (b === undefined) + return r; + + if (a !== undefined && a.length === 0 && b !== undefined && b.length > 0) + return [...b]; + + let x = [...a]; + let y = [...b]; + + /// + /// Takes two javascript arrays and returns an array + /// containing a set of values shared by arrays. + /// + // declare iterator + let i = 0; + // declare terminator + let t = (x.length < y.length) ? x.length : y.length; + // sort the arrays + x.sort(this.comparePage); + y.sort(this.comparePage); + + // in this loop, we remove from the arrays, the + // values that aren't shared between them. + while (i < t) + { + if (x[i].title === y[i].title) + { + i++; + } + + if (x.length > i && y.length > i && x[i].title < y[i].title) + x.splice(i, 1); + + if (x.length > i && y.length > i && x[i].title > y[i].title) + { + r.unshift(y[i]); + y.splice(i, 1); + } + + t = (x.length < y.length) ? x.length : y.length; + + if (t === i && t < y.length) + { + r = r.concat(y); + } + } + // we could return y, because at this time, both arrays + // are identical. + return r; + } + handleRemotePreferenceChange(user: User) { + console.log('handleRemotePreferenceChange'); if (user) { - if (!user.saved_pages) user.saved_pages = []; - if (!user.items) user.items = []; + let changed = false; + let local_was_empty = this.profile().saved_pages.length === 0; // merge the saved pages so you don't loose those either - if (this.profile().saved_pages.length > 0) - user.saved_pages.concat(this.localProfile.saved_pages); + // don't add if they are the same. + let ys = this.returnYonly(this.profile().saved_pages, user.saved_pages); + + if (ys.length > 0) + { + this.localProfile.saved_pages = this.localProfile.saved_pages.concat(ys); + this.onSavedPagesChanged.emit(this.localProfile.saved_pages); + + if (!local_was_empty) + { + changed = true; + this.needsSync = true; + } + } + if (this.profile().saved_pages.length > 0 && user.saved_pages === undefined) + { + changed = true; + this.needsSync = true; + } // don't sync things that don't make sense. - this.profile().uid = user.uid; - this.profile().username = user.username; - this.profile().saved_pages = user.saved_pages; - + if (this.profile().uid !== user.uid) + { + this.profile().uid = user.uid; + changed = true; + } + if (this.profile().username !== user.username) + { + this.profile().username = user.username; + changed = true; + } // We only save the local change here since this is an update from our remote profile. - this.localSave(); + if (changed) + { + this.localSave(); + } } else { - // No user is there so we should save our local to the remote. - this.save(); } } @@ -160,6 +235,8 @@ export class ProfileService authenticate() { + console.log('Authenticating to remote...'); + let self = this; let provider = new firebase.auth.GoogleAuthProvider(); if (this.isWeb) @@ -184,12 +261,14 @@ export class ProfileService refresh() { + console.log('refresh'); this.logout(); this.authenticate(); } logout() { + console.log('logout'); this.firebaseAuth.auth.signOut(); // sign out this.remoteProfile = null; // inform the profile service not to bother this.remoteLoggedIn = false; @@ -201,8 +280,9 @@ export class ProfileService this.needsSync = true; } - private localSave() + localSave() { + console.log('saving local'); this.local.set('profile', JSON.stringify(this.profile())); } @@ -267,6 +347,7 @@ export class ProfileService { let idx = this.profile().saved_pages.indexOf(page); this.profile().saved_pages.splice(idx, 1); + this.onSavedPagesChanged.emit(this.localProfile.saved_pages); // Sync with remote this.save(); @@ -299,4 +380,31 @@ export class ProfileService }; } -} \ No newline at end of file +} + + +type fbObject = { + ref: AngularFireObject, + stream: Observable, +}; + +export type User = { + username: string, + uid: string | null, + strongs_modal: boolean, + clear_search_after_query: boolean, + items: CardItem[], + append_to_bottom: boolean, + insert_next_to_item: boolean, + font_size: number, + saved_pages: SavedPage[], + verses_on_new_line: boolean, + show_verse_numbers: boolean, + show_paragraphs: boolean, + show_paragraph_headings: boolean, +} + +export type SavedPage = { + queries: CardItem[], + title: string, +}