{"version":3,"sources":["webpack:///./node_modules/@ionic-native/facebook/ngx/index.js","webpack:///./node_modules/@ionic-native/google-plus/ngx/index.js","webpack:///./src/app/login/login.module.ts","webpack:///./src/app/login/login.page.html","webpack:///./src/app/login/login.page.scss","webpack:///./src/app/login/login.page.ts"],"names":[],"mappings":"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","file":"login-login-module.js","sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Injectable } from '@angular/core';\nimport { IonicNativePlugin, cordova } from '@ionic-native/core';\nvar Facebook = /** @class */ (function (_super) {\n __extends(Facebook, _super);\n function Facebook() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Facebook.prototype.login = function (permissions) { return cordova(this, \"login\", {}, arguments); };\n Facebook.prototype.logout = function () { return cordova(this, \"logout\", {}, arguments); };\n Facebook.prototype.getLoginStatus = function () { return cordova(this, \"getLoginStatus\", {}, arguments); };\n Facebook.prototype.getAccessToken = function () { return cordova(this, \"getAccessToken\", {}, arguments); };\n Facebook.prototype.showDialog = function (options) { return cordova(this, \"showDialog\", {}, arguments); };\n Facebook.prototype.api = function (requestPath, permissions) { return cordova(this, \"api\", {}, arguments); };\n Facebook.prototype.logEvent = function (name, params, valueToSum) { return cordova(this, \"logEvent\", { \"successIndex\": 3, \"errorIndex\": 4 }, arguments); };\n Facebook.prototype.logPurchase = function (value, currency) { return cordova(this, \"logPurchase\", {}, arguments); };\n Facebook.prototype.getDeferredApplink = function () { return cordova(this, \"getDeferredApplink\", {}, arguments); };\n Facebook.pluginName = \"Facebook\";\n Facebook.plugin = \"cordova-plugin-facebook4\";\n Facebook.pluginRef = \"facebookConnectPlugin\";\n Facebook.repo = \"https://github.com/jeduan/cordova-plugin-facebook4\";\n Facebook.install = \"ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID=\\\"123456789\\\" --variable APP_NAME=\\\"myApplication\\\"\";\n Facebook.installVariables = [\"APP_ID\", \"APP_NAME\"];\n Facebook.platforms = [\"Android\", \"iOS\", \"Browser\"];\n Facebook = __decorate([\n Injectable()\n ], Facebook);\n return Facebook;\n}(IonicNativePlugin));\nexport { Facebook };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGlvbmljLW5hdGl2ZS9wbHVnaW5zL2ZhY2Vib29rL25neC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLDhCQUFzQyxNQUFNLG9CQUFvQixDQUFDOztJQXFIMUMsNEJBQWlCOzs7O0lBMEQ3Qyx3QkFBSyxhQUFDLFdBQXFCO0lBVzNCLHlCQUFNO0lBK0JOLGlDQUFjO0lBVWQsaUNBQWM7SUFzQmQsNkJBQVUsYUFBQyxPQUFZO0lBa0J2QixzQkFBRyxhQUFDLFdBQW1CLEVBQUUsV0FBcUI7SUFnQjlDLDJCQUFRLGFBQUMsSUFBWSxFQUFFLE1BQWUsRUFBRSxVQUFtQjtJQVkzRCw4QkFBVyxhQUFDLEtBQWEsRUFBRSxRQUFnQjtJQVMzQyxxQ0FBa0I7Ozs7Ozs7O0lBM0xQLFFBQVE7UUFEcEIsVUFBVSxFQUFFO09BQ0EsUUFBUTttQkF0SHJCO0VBc0g4QixpQkFBaUI7U0FBbEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmRvdmEsIElvbmljTmF0aXZlUGx1Z2luLCBQbHVnaW4gfSBmcm9tICdAaW9uaWMtbmF0aXZlL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZhY2Vib29rTG9naW5SZXNwb25zZSB7XG4gIHN0YXR1czogc3RyaW5nO1xuXG4gIGF1dGhSZXNwb25zZToge1xuICAgIHNlc3Npb25fa2V5OiBib29sZWFuO1xuXG4gICAgYWNjZXNzVG9rZW46IHN0cmluZztcblxuICAgIGV4cGlyZXNJbjogbnVtYmVyO1xuXG4gICAgc2lnOiBzdHJpbmc7XG5cbiAgICBzZWNyZXQ6IHN0cmluZztcblxuICAgIHVzZXJJRDogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIEBuYW1lIEZhY2Vib29rXG4gKiBAZGVzY3JpcHRpb25cbiAqIFVzZSB0aGUgRmFjZWJvb2sgQ29ubmVjdCBwbHVnaW4gdG8gb2J0YWluIGFjY2VzcyB0byB0aGUgbmF0aXZlIEZCIGFwcGxpY2F0aW9uIG9uIGlPUyBhbmQgQW5kcm9pZC5cbiAqXG4gKiBSZXF1aXJlcyBDb3Jkb3ZhIHBsdWdpbjogYGNvcmRvdmEtcGx1Z2luLWZhY2Vib29rNGAuIEZvciBtb3JlIGluZm8sIHBsZWFzZSBzZWUgdGhlIFtGYWNlYm9vayBDb25uZWN0XShodHRwczovL2dpdGh1Yi5jb20vamVkdWFuL2NvcmRvdmEtcGx1Z2luLWZhY2Vib29rNCkuXG4gKlxuICogIyMjIyBJbnN0YWxsYXRpb25cbiAqXG4gKiAgVG8gdXNlIHRoZSBGQiBwbHVnaW4sIHlvdSBmaXJzdCBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBGYWNlYm9vayBBcHAgaW5zaWRlIG9mIHRoZSBGYWNlYm9vayBkZXZlbG9wZXIgcG9ydGFsIGF0IFtodHRwczovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2FwcHNdKGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vYXBwcykuXG4gKlxuICogWyFbZmItZ2V0c3RhcnRlZC0xXSgvaW1nL2RvY3MvbmF0aXZlL0ZhY2Vib29rLzEucG5nKV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9hcHBzLylcbiAqXG4gKiBSZXRyaWV2ZSB0aGUgYEFwcCBJRGAgYW5kIGBBcHAgTmFtZWAuXG4gKlxuICogWyFbZmItZ2V0c3RhcnRlZC0yXSgvaW1nL2RvY3MvbmF0aXZlL0ZhY2Vib29rLzIucG5nKV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9hcHBzLylcbiAqXG4gKiBUaGVuIHR5cGUgaW4gdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHlvdXIgVGVybWluYWwsIHdoZXJlIEFQUF9JRCBhbmQgQVBQX05BTUUgYXJlIHRoZSB2YWx1ZXMgZnJvbSB0aGUgRmFjZWJvb2sgRGV2ZWxvcGVyIHBvcnRhbC5cbiAqXG4gKiBgYGBiYXNoXG4gKiAgaW9uaWMgY29yZG92YSBwbHVnaW4gYWRkIGNvcmRvdmEtcGx1Z2luLWZhY2Vib29rNCAtLXZhcmlhYmxlIEFQUF9JRD1cIjEyMzQ1Njc4OVwiIC0tdmFyaWFibGUgQVBQX05BTUU9XCJteUFwcGxpY2F0aW9uXCJcbiAqIGBgYFxuICpcbiAqIEFmdGVyLCB5b3UnbGwgbmVlZCB0byBhZGQgdGhlIG5hdGl2ZSBwbGF0Zm9ybXMgeW91J2xsIGJlIHVzaW5nIHRvIHlvdXIgYXBwIGluIHRoZSBGYWNlYm9vayBEZXZlbG9wZXIgcG9ydGFsIHVuZGVyIHlvdXIgYXBwJ3MgU2V0dGluZ3M6XG4gKlxuICogWyFbZmItZ2V0c3RhcnRlZC0zXSgvaW1nL2RvY3MvbmF0aXZlL0ZhY2Vib29rLzMucG5nKV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9hcHBzLylcbiAqXG4gKiBDbGljayBgJ0FkZCBQbGF0Zm9ybSdgLlxuICpcbiAqIFshW2ZiLWdldHN0YXJ0ZWQtNF0oL2ltZy9kb2NzL25hdGl2ZS9GYWNlYm9vay80LnBuZyldKGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vYXBwcy8pXG4gKlxuICogQXQgdGhpcyBwb2ludCB5b3UnbGwgbmVlZCB0byBvcGVuIHlvdXIgcHJvamVjdCdzIFtgY29uZmlnLnhtbGBdKGh0dHBzOi8vY29yZG92YS5hcGFjaGUub3JnL2RvY3MvZW4vbGF0ZXN0L2NvbmZpZ19yZWYvaW5kZXguaHRtbCkgZmlsZSwgZm91bmQgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHlvdXIgcHJvamVjdC5cbiAqXG4gKiBUYWtlIG5vdGUgb2YgdGhlIGBpZGAgZm9yIHRoZSBuZXh0IHN0ZXA6XG4gKiBgYGBcbiAqIDx3aWRnZXQgaWQ9XCJjb20ubXljb21wYW55LnRlc3RhcHBcIiB2ZXJzaW9uPVwiMC4wLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnL25zL3dpZGdldHNcIiB4bWxuczpjZHY9XCJodHRwOi8vY29yZG92YS5hcGFjaGUub3JnL25zLzEuMFwiPlxuICogYGBgXG4gKlxuICogWW91IGNhbiBhbHNvIGVkaXQgdGhlIGBpZGAgdG8gd2hhdGV2ZXIgeW91J2QgbGlrZSBpdCB0byBiZS5cbiAqXG4gKiAjIyMjIGlPUyBJbnN0YWxsXG4gKiBVbmRlciAnQnVuZGxlIElEJywgYWRkIHRoZSBgaWRgIGZyb20geW91ciBgY29uZmlnLnhtbGAgZmlsZTpcbiAqXG4gKiBbIVtmYi1nZXRzdGFydGVkLTVdKC9pbWcvZG9jcy9uYXRpdmUvRmFjZWJvb2svNS5wbmcpXShodHRwczovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2FwcHMvKVxuICpcbiAqXG4gKiAjIyMjIEFuZHJvaWQgSW5zdGFsbFxuICogVW5kZXIgJ0dvb2dsZSBQbGF5IFBhY2thZ2UgTmFtZScsIGFkZCB0aGUgYGlkYCBmcm9tIHlvdXIgYGNvbmZpZy54bWxgIGZpbGU6XG4gKlxuICogWyFbZmItZ2V0c3RhcnRlZC02XSgvaW1nL2RvY3MvbmF0aXZlL0ZhY2Vib29rLzYucG5nKV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9hcHBzLylcbiAqXG4gKlxuICogQW5kIHRoYXQncyBpdCEgWW91IGNhbiBub3cgbWFrZSBjYWxscyB0byBGYWNlYm9vayB1c2luZyB0aGUgcGx1Z2luLlxuICpcbiAqICMjIEV2ZW50c1xuICpcbiAqIEFwcCBldmVudHMgYWxsb3cgeW91IHRvIHVuZGVyc3RhbmQgdGhlIG1ha2V1cCBvZiB1c2VycyBlbmdhZ2luZyB3aXRoIHlvdXIgYXBwLCBtZWFzdXJlIHRoZSBwZXJmb3JtYW5jZSBvZiB5b3VyIEZhY2Vib29rIG1vYmlsZSBhcHAgYWRzLCBhbmQgcmVhY2ggc3BlY2lmaWMgc2V0cyBvZiB5b3VyIHVzZXJzIHdpdGggRmFjZWJvb2sgbW9iaWxlIGFwcCBhZHMuXG4gKlxuICogLSBbaU9TXSBbaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2lvcy9hcHAtZXZlbnRzXShodHRwczovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2RvY3MvaW9zL2FwcC1ldmVudHMpXG4gKiAtIFtBbmRyb2lkXSBbaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2FuZHJvaWQvYXBwLWV2ZW50c10oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2FuZHJvaWQvYXBwLWV2ZW50cylcbiAqIC0gW0pTXSBEb2VzIG5vdCBoYXZlIGFuIEV2ZW50cyBBUEksIHNvIHRoZSBwbHVnaW4gZnVuY3Rpb25zIGFyZSBlbXB0eSBhbmQgd2lsbCByZXR1cm4gYW4gYXV0b21hdGljIHN1Y2Nlc3NcbiAqXG4gKiBBY3RpdmF0aW9uIGV2ZW50cyBhcmUgYXV0b21hdGljYWxseSB0cmFja2VkIGZvciB5b3UgaW4gdGhlIHBsdWdpbi5cbiAqXG4gKiBFdmVudHMgYXJlIGxpc3RlZCBvbiB0aGUgW2luc2lnaHRzIHBhZ2VdKGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9pbnNpZ2h0cy8pLlxuICpcbiAqIEZvciB0cmFja2luZyBldmVudHMsIHNlZSBgbG9nRXZlbnRgIGFuZCBgbG9nUHVyY2hhc2VgLlxuICpcbiAqIEB1c2FnZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgRmFjZWJvb2ssIEZhY2Vib29rTG9naW5SZXNwb25zZSB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvZmFjZWJvb2svbmd4JztcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGYWNlYm9vaykgeyB9XG4gKlxuICogLi4uXG4gKlxuICogdGhpcy5mYi5sb2dpbihbJ3B1YmxpY19wcm9maWxlJywgJ3VzZXJfZnJpZW5kcycsICdlbWFpbCddKVxuICogICAudGhlbigocmVzOiBGYWNlYm9va0xvZ2luUmVzcG9uc2UpID0+IGNvbnNvbGUubG9nKCdMb2dnZWQgaW50byBGYWNlYm9vayEnLCByZXMpKVxuICogICAuY2F0Y2goZSA9PiBjb25zb2xlLmxvZygnRXJyb3IgbG9nZ2luZyBpbnRvIEZhY2Vib29rJywgZSkpO1xuICpcbiAqXG4gKiB0aGlzLmZiLmxvZ0V2ZW50KHRoaXMuZmIuRVZFTlRTLkVWRU5UX05BTUVfQURERURfVE9fQ0FSVCk7XG4gKlxuICogYGBgXG4gKlxuICovXG5AUGx1Z2luKHtcbiAgcGx1Z2luTmFtZTogJ0ZhY2Vib29rJyxcbiAgcGx1Z2luOiAnY29yZG92YS1wbHVnaW4tZmFjZWJvb2s0JyxcbiAgcGx1Z2luUmVmOiAnZmFjZWJvb2tDb25uZWN0UGx1Z2luJyxcbiAgcmVwbzogJ2h0dHBzOi8vZ2l0aHViLmNvbS9qZWR1YW4vY29yZG92YS1wbHVnaW4tZmFjZWJvb2s0JyxcbiAgaW5zdGFsbDpcbiAgICAnaW9uaWMgY29yZG92YSBwbHVnaW4gYWRkIGNvcmRvdmEtcGx1Z2luLWZhY2Vib29rNCAtLXZhcmlhYmxlIEFQUF9JRD1cIjEyMzQ1Njc4OVwiIC0tdmFyaWFibGUgQVBQX05BTUU9XCJteUFwcGxpY2F0aW9uXCInLFxuICBpbnN0YWxsVmFyaWFibGVzOiBbJ0FQUF9JRCcsICdBUFBfTkFNRSddLFxuICBwbGF0Zm9ybXM6IFsnQW5kcm9pZCcsICdpT1MnLCAnQnJvd3NlciddXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZhY2Vib29rIGV4dGVuZHMgSW9uaWNOYXRpdmVQbHVnaW4ge1xuICBFVkVOVFM6IHtcbiAgICBFVkVOVF9OQU1FX0FDVElWQVRFRF9BUFA6ICdmYl9tb2JpbGVfYWN0aXZhdGVfYXBwJztcbiAgICBFVkVOVF9OQU1FX0RFQUNUSVZBVEVEX0FQUDogJ2ZiX21vYmlsZV9kZWFjdGl2YXRlX2FwcCc7XG4gICAgRVZFTlRfTkFNRV9TRVNTSU9OX0lOVEVSUlVQVElPTlM6ICdmYl9tb2JpbGVfYXBwX2ludGVycnVwdGlvbnMnO1xuICAgIEVWRU5UX05BTUVfVElNRV9CRVRXRUVOX1NFU1NJT05TOiAnZmJfbW9iaWxlX3RpbWVfYmV0d2Vlbl9zZXNzaW9ucyc7XG4gICAgRVZFTlRfTkFNRV9DT01QTEVURURfUkVHSVNUUkFUSU9OOiAnZmJfbW9iaWxlX2NvbXBsZXRlX3JlZ2lzdHJhdGlvbic7XG4gICAgRVZFTlRfTkFNRV9WSUVXRURfQ09OVEVOVDogJ2ZiX21vYmlsZV9jb250ZW50X3ZpZXcnO1xuICAgIEVWRU5UX05BTUVfU0VBUkNIRUQ6ICdmYl9tb2JpbGVfc2VhcmNoJztcbiAgICBFVkVOVF9OQU1FX1JBVEVEOiAnZmJfbW9iaWxlX3JhdGUnO1xuICAgIEVWRU5UX05BTUVfQ09NUExFVEVEX1RVVE9SSUFMOiAnZmJfbW9iaWxlX3R1dG9yaWFsX2NvbXBsZXRpb24nO1xuICAgIEVWRU5UX05BTUVfUFVTSF9UT0tFTl9PQlRBSU5FRDogJ2ZiX21vYmlsZV9vYnRhaW5fcHVzaF90b2tlbic7XG4gICAgRVZFTlRfTkFNRV9BRERFRF9UT19DQVJUOiAnZmJfbW9iaWxlX2FkZF90b19jYXJ0JztcbiAgICBFVkVOVF9OQU1FX0FEREVEX1RPX1dJU0hMSVNUOiAnZmJfbW9iaWxlX2FkZF90b193aXNobGlzdCc7XG4gICAgRVZFTlRfTkFNRV9JTklUSUFURURfQ0hFQ0tPVVQ6ICdmYl9tb2JpbGVfaW5pdGlhdGVkX2NoZWNrb3V0JztcbiAgICBFVkVOVF9OQU1FX0FEREVEX1BBWU1FTlRfSU5GTzogJ2ZiX21vYmlsZV9hZGRfcGF5bWVudF9pbmZvJztcbiAgICBFVkVOVF9OQU1FX1BVUkNIQVNFRDogJ2ZiX21vYmlsZV9wdXJjaGFzZSc7XG4gICAgRVZFTlRfTkFNRV9BQ0hJRVZFRF9MRVZFTDogJ2ZiX21vYmlsZV9sZXZlbF9hY2hpZXZlZCc7XG4gICAgRVZFTlRfTkFNRV9VTkxPQ0tFRF9BQ0hJRVZFTUVOVDogJ2ZiX21vYmlsZV9hY2hpZXZlbWVudF91bmxvY2tlZCc7XG4gICAgRVZFTlRfTkFNRV9TUEVOVF9DUkVESVRTOiAnZmJfbW9iaWxlX3NwZW50X2NyZWRpdHMnO1xuICAgIEVWRU5UX1BBUkFNX0NVUlJFTkNZOiAnZmJfY3VycmVuY3knO1xuICAgIEVWRU5UX1BBUkFNX1JFR0lTVFJBVElPTl9NRVRIT0Q6ICdmYl9yZWdpc3RyYXRpb25fbWV0aG9kJztcbiAgICBFVkVOVF9QQVJBTV9DT05URU5UX1RZUEU6ICdmYl9jb250ZW50X3R5cGUnO1xuICAgIEVWRU5UX1BBUkFNX0NPTlRFTlRfSUQ6ICdmYl9jb250ZW50X2lkJztcbiAgICBFVkVOVF9QQVJBTV9TRUFSQ0hfU1RSSU5HOiAnZmJfc2VhcmNoX3N0cmluZyc7XG4gICAgRVZFTlRfUEFSQU1fU1VDQ0VTUzogJ2ZiX3N1Y2Nlc3MnO1xuICAgIEVWRU5UX1BBUkFNX01BWF9SQVRJTkdfVkFMVUU6ICdmYl9tYXhfcmF0aW5nX3ZhbHVlJztcbiAgICBFVkVOVF9QQVJBTV9QQVlNRU5UX0lORk9fQVZBSUxBQkxFOiAnZmJfcGF5bWVudF9pbmZvX2F2YWlsYWJsZSc7XG4gICAgRVZFTlRfUEFSQU1fTlVNX0lURU1TOiAnZmJfbnVtX2l0ZW1zJztcbiAgICBFVkVOVF9QQVJBTV9MRVZFTDogJ2ZiX2xldmVsJztcbiAgICBFVkVOVF9QQVJBTV9ERVNDUklQVElPTjogJ2ZiX2Rlc2NyaXB0aW9uJztcbiAgICBFVkVOVF9QQVJBTV9TT1VSQ0VfQVBQTElDQVRJT046ICdmYl9tb2JpbGVfbGF1bmNoX3NvdXJjZSc7XG4gICAgRVZFTlRfUEFSQU1fVkFMVUVfWUVTOiAnMSc7XG4gICAgRVZFTlRfUEFSQU1fVkFMVUVfTk86ICcwJztcbiAgfTtcblxuICAvKipcbiAgICogTG9naW4gdG8gRmFjZWJvb2sgdG8gYXV0aGVudGljYXRlIHRoaXMgYXBwLlxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHtcbiAgICogICBzdGF0dXM6ICdjb25uZWN0ZWQnLFxuICAgKiAgIGF1dGhSZXNwb25zZToge1xuICAgKiAgICAgc2Vzc2lvbl9rZXk6IHRydWUsXG4gICAqICAgICBhY2Nlc3NUb2tlbjogJ2tna2gzZzQya2g0ZzIza2g0ZzJraDM0ZzJrZzRrMmg0Z2toM2c0azJoNGdrMjNoNGdrMmgzNGdrMjM0Z2syaDM0QW5kU29PbicsXG4gICAqICAgICBleHBpcmVzSW46IDUxODM5NzksXG4gICAqICAgICBzaWc6ICcuLi4nLFxuICAgKiAgICAgc2VjcmV0OiAnLi4uJyxcbiAgICogICAgIHVzZXJJRDogJzYzNDU2NTQzNSdcbiAgICogICB9XG4gICAqIH1cbiAgICpcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119ICBwZXJtaXNzaW9ucyBMaXN0IG9mIFtwZXJtaXNzaW9uc10oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2ZhY2Vib29rLWxvZ2luL3Blcm1pc3Npb25zKSB0aGlzIGFwcCBoYXMgdXBvbiBsb2dnaW5nIGluLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxGYWNlYm9va0xvZ2luUmVzcG9uc2U+fSBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBzdGF0dXMgb2JqZWN0IGlmIGxvZ2luIHN1Y2NlZWRzLCBhbmQgcmVqZWN0cyBpZiBsb2dpbiBmYWlscy5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgbG9naW4ocGVybWlzc2lvbnM6IHN0cmluZ1tdKTogUHJvbWlzZTxGYWNlYm9va0xvZ2luUmVzcG9uc2U+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogTG9nb3V0IG9mIEZhY2Vib29rLlxuICAgKlxuICAgKiBGb3IgbW9yZSBpbmZvIHNlZSB0aGUgW0ZhY2Vib29rIGRvY3NdKGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9yZWZlcmVuY2UvamF2YXNjcmlwdC9GQi5sb2dvdXQpXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgb24gYSBzdWNjZXNzZnVsIGxvZ291dCwgYW5kIHJlamVjdHMgaWYgbG9nb3V0IGZhaWxzLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBsb2dvdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIGEgdXNlciBpcyBsb2dnZWQgaW4gdG8gRmFjZWJvb2sgYW5kIGhhcyBhdXRoZW50aWNhdGVkIHlvdXIgYXBwLiAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHN0YXRlcyBmb3IgYSB1c2VyOlxuICAgKlxuICAgKiAxKSB0aGUgdXNlciBpcyBsb2dnZWQgaW50byBGYWNlYm9vayBhbmQgaGFzIGF1dGhlbnRpY2F0ZWQgeW91ciBhcHBsaWNhdGlvbiAoY29ubmVjdGVkKVxuICAgKiAyKSB0aGUgdXNlciBpcyBsb2dnZWQgaW50byBGYWNlYm9vayBidXQgaGFzIG5vdCBhdXRoZW50aWNhdGVkIHlvdXIgYXBwbGljYXRpb24gKG5vdF9hdXRob3JpemVkKVxuICAgKiAzKSB0aGUgdXNlciBpcyBlaXRoZXIgbm90IGxvZ2dlZCBpbnRvIEZhY2Vib29rIG9yIGV4cGxpY2l0bHkgbG9nZ2VkIG91dCBvZiB5b3VyIGFwcGxpY2F0aW9uIHNvIGl0IGRvZXNuJ3QgYXR0ZW1wdCB0byBjb25uZWN0IHRvIEZhY2Vib29rIGFuZCB0aHVzLCB3ZSBkb24ndCBrbm93IGlmIHRoZXkndmUgYXV0aGVudGljYXRlZCB5b3VyIGFwcGxpY2F0aW9uIG9yIG5vdCAodW5rbm93bilcbiAgICpcbiAgICogUmVzb2x2ZXMgd2l0aCBhIHJlc3BvbnNlIGxpa2U6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgYXV0aFJlc3BvbnNlOiB7XG4gICAqICAgICB1c2VySUQ6ICcxMjM0NTY3ODkxMjM0NScsXG4gICAqICAgICBhY2Nlc3NUb2tlbjogJ2tna2gzZzQya2g0ZzIza2g0ZzJraDM0ZzJrZzRrMmg0Z2toM2c0azJoNGdrMjNoNGdrMmgzNGdrMjM0Z2syaDM0QW5kU29PbicsXG4gICAqICAgICBzZXNzaW9uX0tleTogdHJ1ZSxcbiAgICogICAgIGV4cGlyZXNJbjogJzUxODM3MzgnLFxuICAgKiAgICAgc2lnOiAnLi4uJ1xuICAgKiAgIH0sXG4gICAqICAgc3RhdHVzOiAnY29ubmVjdGVkJ1xuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGhlIFtGYWNlYm9vayBkb2NzXShodHRwczovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2RvY3MvcmVmZXJlbmNlL2phdmFzY3JpcHQvRkIuZ2V0TG9naW5TdGF0dXMpXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIHN0YXR1cywgb3IgcmVqZWN0cyB3aXRoIGFuIGVycm9yXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldExvZ2luU3RhdHVzKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIEZhY2Vib29rIGFjY2VzcyB0b2tlbiBmb3IgdXNpbmcgRmFjZWJvb2sgc2VydmljZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBhY2Nlc3MgdG9rZW4sIG9yIHJlamVjdHMgd2l0aCBhbiBlcnJvclxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRBY2Nlc3NUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IG9uZSBvZiB2YXJpb3VzIEZhY2Vib29rIGRpYWxvZ3MuIEV4YW1wbGUgb2Ygb3B0aW9ucyBmb3IgYSBTaGFyZSBkaWFsb2c6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAgbWV0aG9kOiAnc2hhcmUnLFxuICAgKiAgIGhyZWY6ICdodHRwOi8vZXhhbXBsZS5jb20nLFxuICAgKiAgIGNhcHRpb246ICdTdWNoIGNhcHRpb24sIHZlcnkgZmVlZC4nLFxuICAgKiAgIGRlc2NyaXB0aW9uOiAnTXVjaCBkZXNjcmlwdGlvbicsXG4gICAqICAgcGljdHVyZTogJ2h0dHA6Ly9leGFtcGxlLmNvbS9pbWFnZS5wbmcnXG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIEZvciBtb3JlIG9wdGlvbnMgc2VlIHRoZSBbQ29yZG92YSBwbHVnaW4gZG9jc10oaHR0cHM6Ly9naXRodWIuY29tL2plZHVhbi9jb3Jkb3ZhLXBsdWdpbi1mYWNlYm9vazQjc2hvdy1hLWRpYWxvZykgYW5kIHRoZSBbRmFjZWJvb2sgZG9jc10oaHR0cHM6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL2phdmFzY3JpcHQvcmVmZXJlbmNlL0ZCLnVpKVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBUaGUgZGlhbG9nIG9wdGlvbnNcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHN1Y2Nlc3MgZGF0YSwgb3IgcmVqZWN0cyB3aXRoIGFuIGVycm9yXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNob3dEaWFsb2cob3B0aW9uczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBhIGNhbGwgdG8gRmFjZWJvb2sgR3JhcGggQVBJLiBDYW4gdGFrZSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGJleW9uZCB0aG9zZSBncmFudGVkIG9uIGxvZ2luLlxuICAgKlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWU6XG4gICAqXG4gICAqICBDYWxsaW5nIHRoZSBHcmFwaCBBUEkgLSBodHRwczovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2RvY3MvamF2YXNjcmlwdC9yZWZlcmVuY2UvRkIuYXBpXG4gICAqICBHcmFwaCBFeHBsb3JlciAtIGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vdG9vbHMvZXhwbG9yZXJcbiAgICogIEdyYXBoIEFQSSAtIGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9ncmFwaC1hcGlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9ICByZXF1ZXN0UGF0aCBHcmFwaCBBUEkgZW5kcG9pbnQgeW91IHdhbnQgdG8gY2FsbFxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSAgcGVybWlzc2lvbnMgTGlzdCBvZiBbcGVybWlzc2lvbnNdKGh0dHBzOi8vZGV2ZWxvcGVycy5mYWNlYm9vay5jb20vZG9jcy9mYWNlYm9vay1sb2dpbi9wZXJtaXNzaW9ucykgZm9yIHRoaXMgcmVxdWVzdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIHJlcXVlc3QsIG9yIHJlamVjdHMgd2l0aCBhbiBlcnJvclxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBhcGkocmVxdWVzdFBhdGg6IHN0cmluZywgcGVybWlzc2lvbnM6IHN0cmluZ1tdKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogTG9nIGFuIGV2ZW50LiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRoZSBFdmVudHMgc2VjdGlvbiBhYm92ZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9ICBuYW1lIE5hbWUgb2YgdGhlIGV2ZW50XG4gICAqIEBwYXJhbSB7T2JqZWN0fSAgW3BhcmFtc10gQW4gb2JqZWN0IGNvbnRhaW5pbmcgZXh0cmEgZGF0YSB0byBsb2cgd2l0aCB0aGUgZXZlbnRcbiAgICogQHBhcmFtIHtudW1iZXJ9ICBbdmFsdWVUb1N1bV0gYW55IHZhbHVlIHRvIGJlIGFkZGVkIHRvIGFkZGVkIHRvIGEgc3VtIG9uIGVhY2ggZXZlbnRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzdWNjZXNzSW5kZXg6IDMsXG4gICAgZXJyb3JJbmRleDogNFxuICB9KVxuICBsb2dFdmVudChuYW1lOiBzdHJpbmcsIHBhcmFtcz86IE9iamVjdCwgdmFsdWVUb1N1bT86IG51bWJlcik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIExvZyBhIHB1cmNoYXNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGhlIEV2ZW50cyBzZWN0aW9uIGFib3ZlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gIHZhbHVlIFZhbHVlIG9mIHRoZSBwdXJjaGFzZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICBjdXJyZW5jeSBUaGUgY3VycmVuY3ksIGFzIGFuIFtJU08gNDIxNyBjdXJyZW5jeSBjb2RlXShodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT180MjE3KVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBsb2dQdXJjaGFzZSh2YWx1ZTogbnVtYmVyLCBjdXJyZW5jeTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVmZXJyZWQgYXBwIGxpbmtcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0RGVmZXJyZWRBcHBsaW5rKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuO1xuICB9XG59XG4iXX0=","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Injectable } from '@angular/core';\nimport { IonicNativePlugin, cordova } from '@ionic-native/core';\nvar GooglePlus = /** @class */ (function (_super) {\n __extends(GooglePlus, _super);\n function GooglePlus() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GooglePlus.prototype.login = function (options) { return cordova(this, \"login\", { \"successIndex\": 1, \"errorIndex\": 2 }, arguments); };\n GooglePlus.prototype.trySilentLogin = function (options) { return cordova(this, \"trySilentLogin\", {}, arguments); };\n GooglePlus.prototype.logout = function () { return cordova(this, \"logout\", {}, arguments); };\n GooglePlus.prototype.disconnect = function () { return cordova(this, \"disconnect\", {}, arguments); };\n GooglePlus.prototype.getSigningCertificateFingerprint = function () { return cordova(this, \"getSigningCertificateFingerprint\", {}, arguments); };\n GooglePlus.pluginName = \"GooglePlus\";\n GooglePlus.plugin = \"cordova-plugin-googleplus\";\n GooglePlus.pluginRef = \"window.plugins.googleplus\";\n GooglePlus.repo = \"https://github.com/EddyVerbruggen/cordova-plugin-googleplus\";\n GooglePlus.install = \"ionic cordova plugin add cordova-plugin-googleplus --variable REVERSED_CLIENT_ID=myreversedclientid\";\n GooglePlus.installVariables = [\"REVERSED_CLIENT_ID\"];\n GooglePlus.platforms = [\"Android\", \"iOS\"];\n GooglePlus = __decorate([\n Injectable()\n ], GooglePlus);\n return GooglePlus;\n}(IonicNativePlugin));\nexport { GooglePlus };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGlvbmljLW5hdGl2ZS9wbHVnaW5zL2dvb2dsZS1wbHVzL25neC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLDhCQUFzQyxNQUFNLG9CQUFvQixDQUFDOztJQTZCeEMsOEJBQWlCOzs7O0lBVy9DLDBCQUFLLGFBQUMsT0FBYTtJQVVuQixtQ0FBYyxhQUFDLE9BQWE7SUFTNUIsMkJBQU07SUFTTiwrQkFBVTtJQVNWLHFEQUFnQzs7Ozs7Ozs7SUFoRHJCLFVBQVU7UUFEdEIsVUFBVSxFQUFFO09BQ0EsVUFBVTtxQkE5QnZCO0VBOEJnQyxpQkFBaUI7U0FBcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmRvdmEsIElvbmljTmF0aXZlUGx1Z2luLCBQbHVnaW4gfSBmcm9tICdAaW9uaWMtbmF0aXZlL2NvcmUnO1xuXG4vKipcbiAqIEBuYW1lIEdvb2dsZSBQbHVzXG4gKiBAZGVzY3JpcHRpb25cbiAqIEB1c2FnZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgR29vZ2xlUGx1cyB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvZ29vZ2xlLXBsdXMvbmd4JztcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGdvb2dsZVBsdXM6IEdvb2dsZVBsdXMpIHsgfVxuICpcbiAqIC4uLlxuICpcbiAqIHRoaXMuZ29vZ2xlUGx1cy5sb2dpbih7fSlcbiAqICAgLnRoZW4ocmVzID0+IGNvbnNvbGUubG9nKHJlcykpXG4gKiAgIC5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcbiAqXG4gKiBgYGBcbiAqL1xuQFBsdWdpbih7XG4gIHBsdWdpbk5hbWU6ICdHb29nbGVQbHVzJyxcbiAgcGx1Z2luOiAnY29yZG92YS1wbHVnaW4tZ29vZ2xlcGx1cycsXG4gIHBsdWdpblJlZjogJ3dpbmRvdy5wbHVnaW5zLmdvb2dsZXBsdXMnLFxuICByZXBvOiAnaHR0cHM6Ly9naXRodWIuY29tL0VkZHlWZXJicnVnZ2VuL2NvcmRvdmEtcGx1Z2luLWdvb2dsZXBsdXMnLFxuICBpbnN0YWxsOiAnaW9uaWMgY29yZG92YSBwbHVnaW4gYWRkIGNvcmRvdmEtcGx1Z2luLWdvb2dsZXBsdXMgLS12YXJpYWJsZSBSRVZFUlNFRF9DTElFTlRfSUQ9bXlyZXZlcnNlZGNsaWVudGlkJyxcbiAgaW5zdGFsbFZhcmlhYmxlczogWydSRVZFUlNFRF9DTElFTlRfSUQnXSxcbiAgcGxhdGZvcm1zOiBbJ0FuZHJvaWQnLCAnaU9TJ11cbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR29vZ2xlUGx1cyBleHRlbmRzIElvbmljTmF0aXZlUGx1Z2luIHtcblxuICAvKipcbiAgICogVGhlIGxvZ2luIGZ1bmN0aW9uIHdhbGtzIHRoZSB1c2VyIHRocm91Z2ggdGhlIEdvb2dsZSBBdXRoIHByb2Nlc3MuXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3VjY2Vzc0luZGV4OiAxLFxuICAgIGVycm9ySW5kZXg6IDJcbiAgfSlcbiAgbG9naW4ob3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFlvdSBjYW4gY2FsbCB0cnlTaWxlbnRMb2dpbiB0byBjaGVjayBpZiB0aGV5J3JlIGFscmVhZHkgc2lnbmVkIGluIHRvIHRoZSBhcHAgYW5kIHNpZ24gdGhlbSBpbiBzaWxlbnRseSBpZiB0aGV5IGFyZS5cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgdHJ5U2lsZW50TG9naW4ob3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBjbGVhciB0aGUgT0F1dGgyIHRva2VuLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBsb2dvdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogVGhpcyB3aWxsIGNsZWFyIHRoZSBPQXV0aDIgdG9rZW4sIGZvcmdldCB3aGljaCBhY2NvdW50IHdhcyB1c2VkIHRvIGxvZ2luLCBhbmQgZGlzY29ubmVjdCB0aGF0IGFjY291bnQgZnJvbSB0aGUgYXBwLiBUaGlzIHdpbGwgcmVxdWlyZSB0aGUgdXNlciB0byBhbGxvdyB0aGUgYXBwIGFjY2VzcyBhZ2FpbiBuZXh0IHRpbWUgdGhleSBzaWduIGluLiBCZSBhd2FyZSB0aGF0IHRoaXMgZWZmZWN0IGlzIG5vdCBhbHdheXMgaW5zdGFudGFuZW91cy4gSXQgY2FuIHRha2UgdGltZSB0byBjb21wbGV0ZWx5IGRpc2Nvbm5lY3QuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogVGhpcyB3aWxsIHJldHJpZXZlIHRoZSBBbmRyb2lkIHNpZ25pbmcgY2VydGlmaWNhdGUgZmluZ2VycHJpbnQgd2hpY2ggaXMgcmVxdWlyZWQgaW4gdGhlIEdvb2dsZSBEZXZlbG9wZXIgQ29uc29sZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0U2lnbmluZ0NlcnRpZmljYXRlRmluZ2VycHJpbnQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { IonicModule } from '@ionic/angular';\n\nimport { LoginPage } from './login.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: LoginPage\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n RouterModule.forChild(routes)\n ],\n declarations: [LoginPage]\n})\nexport class LoginPageModule {}\n","module.exports = \"\\n \\n Dime quien eres\\n \\n \\n\\n \\n \\n Nombre:\\n \\n \\n \\n \\n Email:\\n \\n \\n \\n \\n Registrar\\n \\n \\n \\n O si lo prefieres, puedes decirme quien eres con facebook o googlePlus\\n \\n \\n \\n \\n Facebook\\n \\n \\n \\n \\n \\n \\n Google +\\n \\n \\n\\n \\n\\n\"","module.exports = \".appbkg {\\n background-color: #8CC63F;\\n --background: url('earth.svg') no-repeat 50% 50% !important;\\n background-position: left;\\n background-repeat: no-repeat;\\n background-size: cover; }\\n\\n.logo {\\n color: white;\\n font-size: 64px;\\n font-weight: bold;\\n text-align: center;\\n padding-top: 50px; }\\n\\n.description {\\n color: white;\\n font-size: 22px;\\n text-align: center; }\\n\\n.log-in-button {\\n margin-top: 40px;\\n font-weight: bold; }\\n\\n.log-in-button-google {\\n margin-top: 100px;\\n font-weight: bold; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vRDpcXGZ1ZW50ZXMyXFxHbG9ib1NvbmRhXFxpb25pY1xcRExWTS9zcmNcXGFwcFxcbG9naW5cXGxvZ2luLnBhZ2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLHlCQUF5QjtFQUN6Qiw0REFBYTtFQUNiLHlCQUF5QjtFQUN6Qiw0QkFBNEI7RUFDNUIsc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2Ysa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luLnBhZ2Uuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLmFwcGJrZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4Q0M2M0Y7XG4gIC0tYmFja2dyb3VuZDogdXJsKCcuLi8uLi9hc3NldHMvaW1nL2VhcnRoLnN2ZycpICBuby1yZXBlYXQgNTAlIDUwJSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ubG9nbyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiA2NHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbn1cblxuLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxvZy1pbi1idXR0b24ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5sb2ctaW4tYnV0dG9uLWdvb2dsZSB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiJdfQ== */\"","import { Component } from '@angular/core';\nimport { Facebook } from '@ionic-native/facebook/ngx';\nimport { Router } from '@angular/router';\nimport { NativeStorage } from '@ionic-native/native-storage/ngx';\nimport { LoadingController, AlertController, Platform } from '@ionic/angular';\nimport { DameCoordenadasService } from '../dame-coordenadas.service';\nimport { GooglePlus } from '@ionic-native/google-plus/ngx';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.page.html',\n styleUrls: ['./login.page.scss'],\n})\nexport class LoginPage {\n\n\n FB_APP_ID: number = 311847159513418;\n nombre =\"\";\n email=\"\";\n constructor(\n private fb: Facebook,\n private nativeStorage: NativeStorage,\n public loadingController: LoadingController,\n private router: Router,\n private platform: Platform,\n public alertController: AlertController,\n public serv: DameCoordenadasService,\n private googlePlus: GooglePlus\n ) { }\n async doCorreo(){\n const loading = await this.loadingController.create({\n message: 'Espera un momento...'\n });\n this.presentLoading(loading);\n this.serv.insertaUsuario(this.email, this.nombre)\n .then( // 2\n (data) => {\n this.nativeStorage.setItem('user',\n {\n nombre: this.nombre,\n email: this.email,\n id: data['idUsuario']\n })\n .then( // 1\n () => {\n this.router.navigate(['/principal']);\n loading.dismiss();\n },\n error => {\n console.log(error);\n loading.dismiss();\n }); // cierra 1\n },\n (error) => { // El error de 1\n console.log(error);\n loading.dismiss();\n }); // cierra 2\n }\n async doGoogleLogin() {\n const loading = await this.loadingController.create({\n message: 'Espera un momento...'\n });\n this.presentLoading(loading);\n this.googlePlus.login({\n 'scopes': '', // optional, space-separated list of scopes, If not included or empty, defaults to `profile` and `email`.\n 'webClientId': '142799601253-io1bu75v761ac4fe1ug8l4bftb5r89b9.apps.googleusercontent.com',\n // optional clientId of your Web application from Credentials settings of your project - On Android, \n // this MUST be included to get an idToken. On iOS, it is not required.\n 'offline': true \n // Optional, but requires the webClientId - if set to true the plugin will also return a \n // serverAuthCode, which can be used to grant offline access to a non-Google server\n })\n .then(\n (user) => {\n this.serv.insertaUsuario(user.email, user.displayName)\n .then( // 2\n (data) => {\n this.nativeStorage.setItem('user',\n {\n nombre: user.displayName,\n email: user.email,\n id: data['idUsuario']\n })\n .then( // 1\n () => {\n this.router.navigate(['/principal']);\n loading.dismiss();\n },\n error => {\n console.log(error);\n loading.dismiss();\n }); // cierra 1\n },\n (error) => { // El error de 1\n console.log(error);\n loading.dismiss();\n }); // cierra 2\n },\n (error) => {\n console.log(error);\n loading.dismiss();\n });\n /*\n .then(user => {\n loading.dismiss();\n this.nativeStorage.setItem('google_user', {\n name: user.displayName,\n email: user.email,\n picture: user.imageUrl\n })\n .then(() => {\n this.router.navigate(['/user']);\n }, error => {\n console.log(error);\n });\n loading.dismiss();\n }, err => {\n console.log(err)\n loading.dismiss();\n }\n );*/\n }\n async doFbLogin(){\n const loading = await this.loadingController.create({\n message: 'Espera un momento...'\n });\n this.presentLoading(loading);\n\n // the permissions your facebook app needs from the user\n const permissions = ['public_profile', 'email'];\n\n this.fb.login(permissions)\n .then(response => {\n // const userId = response.authResponse.userID;\n // Getting name and email properties\n // Learn more about permissions in https://developers.facebook.com/docs/facebook-login/permissions\n\n this.fb.api('/me?fields=name,email', permissions)\n .then(\n (user) => {\n this.serv.insertaUsuario(user.email, user.name)\n .then( // 2\n (data) => {\n this.nativeStorage.setItem('user',\n {\n nombre: user.name,\n email: user.email,\n id: data['idUsuario']\n })\n .then( // 1\n () => {\n this.router.navigate(['/principal']);\n loading.dismiss();\n },\n error => {\n console.log(error);\n loading.dismiss();\n }); // cierra 1\n },\n (error) => { // El error de 1\n console.log(error);\n loading.dismiss();\n }); // cierra 2\n },\n (error) => {\n console.log(error);\n loading.dismiss();\n });\n },\n (error) => {\n console.log(error);\n loading.dismiss();\n });\n }\n/*\nasync doGoogleLogin() {\n this.nativeStorage.setItem('user',\n {\n nombre: 'Jaime',\n email: 'miemilio',\n id: 1\n })\n .then( // 1\n () => {\n this.router.navigate(['/principal']);\n },\n error => {\n console.log(error);\n }); // cierra 1\n}\n\nasync doFbLogin() {\n this.nativeStorage.setItem('user',\n {\n nombre: 'Jaime',\n email: 'miemilio',\n id: 1\n })\n .then( // 1\n () => {\n this.router.navigate(['/principal']);\n },\n error => {\n console.log(error);\n }); // cierra 1\n}\n*/\n async presentAlert() {\n const alert = await this.alertController.create({\n message: 'Cordova is not available on desktop. Please try this in a real device or in an emulator.',\n buttons: ['OK']\n });\n\n await alert.present();\n }\n\n async presentLoading( loading) {\n return await loading.present();\n }\n\n}\n"],"sourceRoot":""}