From 638ea18ed4b2ecb137c06d3d00af7cb1cfd8c552 Mon Sep 17 00:00:00 2001 From: martind2000 Date: Sun, 11 Oct 2015 23:11:57 +0100 Subject: [PATCH] Import --- .gitignore | 7 + .idea/.name | 1 + .idea/compiler.xml | 22 + .idea/copyright/profiles_settings.xml | 3 + .idea/gradle.xml | 19 + .idea/inspectionProfiles/Project_Default.xml | 10 + .../inspectionProfiles/profiles_settings.xml | 7 + .idea/misc.xml | 46 ++ .idea/modules.xml | 9 + .idea/runConfigurations.xml | 12 + .idea/vcs.xml | 6 + Feedmaster.iml | 19 + app/.gitignore | 1 + app/app.iml | 99 ++++ app/build.gradle | 26 ++ app/proguard-rules.pro | 17 + .../silvrtree/feedmaster/ApplicationTest.java | 13 + app/src/main/AndroidManifest.xml | 27 ++ app/src/main/assets/assets/fm-old.png | Bin 0 -> 10136 bytes app/src/main/assets/assets/fm.png | Bin 0 -> 2604 bytes app/src/main/assets/assets/tf_small_pale.png | Bin 0 -> 2398 bytes app/src/main/assets/css/normalize-min.css | 76 ++++ app/src/main/assets/css/normalize.css | 427 ++++++++++++++++++ app/src/main/assets/css/skeleton-min.css | 181 ++++++++ app/src/main/assets/css/skeleton.css | 418 +++++++++++++++++ app/src/main/assets/ejs/list.ejs | 3 + app/src/main/assets/ejs/runner.ejs | 12 + app/src/main/assets/ejs/test.ejs | 11 + app/src/main/assets/feeds.html | 76 ++++ app/src/main/assets/js/app.prod.js | 170 +++++++ app/src/main/assets/js/app.prod.min.js | 2 + app/src/main/assets/js/app.prod.min.js.map | 1 + app/src/main/assets/js/fx.js | 123 +++++ app/src/main/assets/js/fx_methods.js | 71 +++ app/src/main/assets/js/jquery.unveil.js | 70 +++ app/src/main/assets/js/output.min.js | 3 + app/src/main/assets/js/zprogress.js | 74 +++ .../silvrtree/feedmaster/MainActivity.java | 197 ++++++++ app/src/main/res/layout-v21/activity_main.xml | 24 + app/src/main/res/layout/activity_main.xml | 27 ++ app/src/main/res/menu/menu_main.xml | 8 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3726 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2450 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4913 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7740 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10742 bytes app/src/main/res/values-w820dp/dimens.xml | 6 + app/src/main/res/values/dimens.xml | 5 + app/src/main/res/values/strings.xml | 7 + app/src/main/res/values/styles.xml | 8 + build.gradle | 19 + gradle.properties | 18 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 +++++++ gradlew.bat | 90 ++++ settings.gradle | 1 + 57 files changed, 2642 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml create mode 100644 Feedmaster.iml create mode 100644 app/.gitignore create mode 100644 app/app.iml create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/silvrtree/feedmaster/ApplicationTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/assets/fm-old.png create mode 100644 app/src/main/assets/assets/fm.png create mode 100644 app/src/main/assets/assets/tf_small_pale.png create mode 100644 app/src/main/assets/css/normalize-min.css create mode 100644 app/src/main/assets/css/normalize.css create mode 100644 app/src/main/assets/css/skeleton-min.css create mode 100644 app/src/main/assets/css/skeleton.css create mode 100644 app/src/main/assets/ejs/list.ejs create mode 100644 app/src/main/assets/ejs/runner.ejs create mode 100644 app/src/main/assets/ejs/test.ejs create mode 100644 app/src/main/assets/feeds.html create mode 100644 app/src/main/assets/js/app.prod.js create mode 100644 app/src/main/assets/js/app.prod.min.js create mode 100644 app/src/main/assets/js/app.prod.min.js.map create mode 100644 app/src/main/assets/js/fx.js create mode 100644 app/src/main/assets/js/fx_methods.js create mode 100644 app/src/main/assets/js/jquery.unveil.js create mode 100644 app/src/main/assets/js/output.min.js create mode 100644 app/src/main/assets/js/zprogress.js create mode 100644 app/src/main/java/com/silvrtree/feedmaster/MainActivity.java create mode 100644 app/src/main/res/layout-v21/activity_main.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/menu/menu_main.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/values-w820dp/dimens.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9c4de58 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..7b2ca30 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Feedmaster \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..bd4202c --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..c0b4ed6 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..5d19981 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..da02c95 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Feedmaster.iml b/Feedmaster.iml new file mode 100644 index 0000000..fa6f8fc --- /dev/null +++ b/Feedmaster.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/app.iml b/app/app.iml new file mode 100644 index 0000000..ef925aa --- /dev/null +++ b/app/app.iml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..82fa20f --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,26 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 21 + buildToolsVersion "22.0.1" + defaultConfig { + applicationId "com.silvrtree.feedmaster" + minSdkVersion 21 + targetSdkVersion 21 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + productFlavors { + } +} + +dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + compile 'com.android.support:appcompat-v7:22.2.1' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..cf6886b --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /home/martin/Android/Sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/app/src/androidTest/java/com/silvrtree/feedmaster/ApplicationTest.java b/app/src/androidTest/java/com/silvrtree/feedmaster/ApplicationTest.java new file mode 100644 index 0000000..8ca3490 --- /dev/null +++ b/app/src/androidTest/java/com/silvrtree/feedmaster/ApplicationTest.java @@ -0,0 +1,13 @@ +package com.silvrtree.feedmaster; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..c5f028b --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/assets/assets/fm-old.png b/app/src/main/assets/assets/fm-old.png new file mode 100644 index 0000000000000000000000000000000000000000..f77b34dd663653892223b42b6a36047d5ab97a4a GIT binary patch literal 10136 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 Qng9R*07*qoM6N<$f{28rlmGw# literal 0 HcmV?d00001 diff --git a/app/src/main/assets/css/normalize-min.css b/app/src/main/assets/css/normalize-min.css new file mode 100644 index 0000000..2b0030b --- /dev/null +++ b/app/src/main/assets/css/normalize-min.css @@ -0,0 +1,76 @@ +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;} +body{margin:0;} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary{display:block;} +audio, +canvas, +progress, +video{display:inline-block;vertical-align:baseline;} +audio:not([controls]){display:none;height:0;} +[hidden], +template{display:none;} +a{background-color:transparent;} +a:active, +a:hover{outline:0;} +abbr[title]{border-bottom:1px dotted;} +b, +strong{font-weight:bold;} +dfn{font-style:italic;} +h1{font-size:2em;margin:0.67em 0;} +mark{background:#ff0;color:#000;} +small{font-size:80%;} +sub, +sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{border:0;} +svg:not(:root){overflow:hidden;} +figure{margin:1em 40px;} +hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;} +pre{overflow:auto;} +code, +kbd, +pre, +samp{font-family:monospace, monospace;font-size:1em;} +button, +input, +optgroup, +select, +textarea{color:inherit;font:inherit;margin:0;} +button{overflow:visible;} +button, +select{text-transform:none;} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"]{-webkit-appearance:button;cursor:pointer;} +button[disabled], +html input[disabled]{cursor:default;} +button::-moz-focus-inner, +input::-moz-focus-inner{border:0;padding:0;} +input{line-height:normal;} +input[type="checkbox"], +input[type="radio"]{box-sizing:border-box;padding:0;} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button{height:auto;} +input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;} +legend{border:0;padding:0;} +textarea{overflow:auto;} +optgroup{font-weight:bold;} +table{border-collapse:collapse;border-spacing:0;} +td, +th{padding:0;} diff --git a/app/src/main/assets/css/normalize.css b/app/src/main/assets/css/normalize.css new file mode 100644 index 0000000..458eea1 --- /dev/null +++ b/app/src/main/assets/css/normalize.css @@ -0,0 +1,427 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/app/src/main/assets/css/skeleton-min.css b/app/src/main/assets/css/skeleton-min.css new file mode 100644 index 0000000..149307f --- /dev/null +++ b/app/src/main/assets/css/skeleton-min.css @@ -0,0 +1,181 @@ +.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box;} +.column, +.columns{width:100%;float:left;box-sizing:border-box;} +@media (min-width:400px){.container{width:85%;padding:0;} +} +@media (min-width:550px){.container{width:80%;} +.column, +.columns{margin-left:4%;} +.column:first-child, +.columns:first-child{margin-left:0;} +.one.column, +.one.columns{width:4.66666666667%;} +.two.columns{width:13.3333333333%;} +.three.columns{width:22%;} +.four.columns{width:30.6666666667%;} +.five.columns{width:39.3333333333%;} +.six.columns{width:48%;} +.seven.columns{width:56.6666666667%;} +.eight.columns{width:65.3333333333%;} +.nine.columns{width:74.0%;} +.ten.columns{width:82.6666666667%;} +.eleven.columns{width:91.3333333333%;} +.twelve.columns{width:100%;margin-left:0;} +.one-third.column{width:30.6666666667%;} +.two-thirds.column{width:65.3333333333%;} +.one-half.column{width:48%;} +.offset-by-one.column, +.offset-by-one.columns{margin-left:8.66666666667%;} +.offset-by-two.column, +.offset-by-two.columns{margin-left:17.3333333333%;} +.offset-by-three.column, +.offset-by-three.columns{margin-left:26%;} +.offset-by-four.column, +.offset-by-four.columns{margin-left:34.6666666667%;} +.offset-by-five.column, +.offset-by-five.columns{margin-left:43.3333333333%;} +.offset-by-six.column, +.offset-by-six.columns{margin-left:52%;} +.offset-by-seven.column, +.offset-by-seven.columns{margin-left:60.6666666667%;} +.offset-by-eight.column, +.offset-by-eight.columns{margin-left:69.3333333333%;} +.offset-by-nine.column, +.offset-by-nine.columns{margin-left:78.0%;} +.offset-by-ten.column, +.offset-by-ten.columns{margin-left:86.6666666667%;} +.offset-by-eleven.column, +.offset-by-eleven.columns{margin-left:95.3333333333%;} +.offset-by-one-third.column, +.offset-by-one-third.columns{margin-left:34.6666666667%;} +.offset-by-two-thirds.column, +.offset-by-two-thirds.columns{margin-left:69.3333333333%;} +.offset-by-one-half.column, +.offset-by-one-half.columns{margin-left:52%;} +} +html{font-size:62.5%;} +body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:"Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;color:#222;} +h1, h2, h3, h4, h5, h6{margin-top:0;margin-bottom:2rem;font-weight:300;} +h1{font-size:4.0rem;line-height:1.2;letter-spacing:-.1rem;} +h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem;} +h3{font-size:3.0rem;line-height:1.3;letter-spacing:-.1rem;} +h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem;} +h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem;} +h6{font-size:1.5rem;line-height:1.6;letter-spacing:0;} +@media (min-width:550px){h1{font-size:5.0rem;} +h2{font-size:4.2rem;} +h3{font-size:3.6rem;} +h4{font-size:3.0rem;} +h5{font-size:2.4rem;} +h6{font-size:1.5rem;} +} +p{margin-top:0;} +a{color:#1EAEDB;} +a:hover{color:#0FA0CE;} +.button, +button, +input[type="submit"], +input[type="reset"], +input[type="button"]{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:transparent;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box;} +.button:hover, +button:hover, +input[type="submit"]:hover, +input[type="reset"]:hover, +input[type="button"]:hover, +.button:focus, +button:focus, +input[type="submit"]:focus, +input[type="reset"]:focus, +input[type="button"]:focus{color:#333;border-color:#888;outline:0;} +.button.button-primary, +button.button-primary, +input[type="submit"].button-primary, +input[type="reset"].button-primary, +input[type="button"].button-primary{color:#FFF;background-color:#33C3F0;border-color:#33C3F0;} +.button.button-primary:hover, +button.button-primary:hover, +input[type="submit"].button-primary:hover, +input[type="reset"].button-primary:hover, +input[type="button"].button-primary:hover, +.button.button-primary:focus, +button.button-primary:focus, +input[type="submit"].button-primary:focus, +input[type="reset"].button-primary:focus, +input[type="button"].button-primary:focus{color:#FFF;background-color:#1EAEDB;border-color:#1EAEDB;} +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea, +select{height:38px;padding:6px 10px;background-color:#fff;border:1px solid #D1D1D1;border-radius:4px;box-shadow:none;box-sizing:border-box;} +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;} +textarea{min-height:65px;padding-top:6px;padding-bottom:6px;} +input[type="email"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="text"]:focus, +input[type="tel"]:focus, +input[type="url"]:focus, +input[type="password"]:focus, +textarea:focus, +select:focus{border:1px solid #33C3F0;outline:0;} +label, +legend{display:block;margin-bottom:.5rem;font-weight:600;} +fieldset{padding:0;border-width:0;} +input[type="checkbox"], +input[type="radio"]{display:inline;} +label > .label-body{display:inline-block;margin-left:.5rem;font-weight:normal;} +ul{list-style:circle inside;} +ol{list-style:decimal inside;} +ol, ul{padding-left:0;margin-top:0;} +ul ul, +ul ol, +ol ol, +ol ul{margin:1.5rem 0 1.7rem 3rem;font-size:90%;} +li{margin-bottom:1rem;} +code{padding:.2rem .5rem;margin:0 .2rem;font-size:90%;white-space:nowrap;background:#F1F1F1;border:1px solid #E1E1E1;border-radius:4px;} +pre > code{display:block;padding:1rem 1.5rem;white-space:pre;} +th, +td{padding:12px 15px;text-align:left;border-bottom:1px solid #E1E1E1;} +th:first-child, +td:first-child{padding-left:0;} +th:last-child, +td:last-child{padding-right:0;} +button, +.button{margin-bottom:1rem;} +input, +textarea, +select, +fieldset{margin-bottom:1.5rem;} +pre, +blockquote, +dl, +figure, +table, +p, +ul, +ol, +form{margin-bottom:2.5rem;} +.u-full-width{width:100%;box-sizing:border-box;} +.u-max-full-width{max-width:100%;box-sizing:border-box;} +.u-pull-right{float:right;} +.u-pull-left{float:left;} +hr{margin-top:3rem;margin-bottom:3.5rem;border-width:0;border-top:1px solid #E1E1E1;} +.container:after, +.row:after, +.u-cf{content:"";display:table;clear:both;} +@media (min-width:400px){} +@media (min-width:550px){} +@media (min-width:750px){} +@media (min-width:1000px){} +@media (min-width:1200px){} diff --git a/app/src/main/assets/css/skeleton.css b/app/src/main/assets/css/skeleton.css new file mode 100644 index 0000000..6e0819d --- /dev/null +++ b/app/src/main/assets/css/skeleton.css @@ -0,0 +1,418 @@ +/* +* Skeleton V2.0.4 +* Copyright 2014, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 12/29/2014 +*/ + + +/* Table of contents +–––––––––––––––––––––––––––––––––––––––––––––––––– +- Grid +- Base Styles +- Typography +- Links +- Buttons +- Forms +- Lists +- Code +- Tables +- Spacing +- Utilities +- Clearing +- Media Queries +*/ + + +/* Grid +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.container { + position: relative; + width: 100%; + max-width: 960px; + margin: 0 auto; + padding: 0 20px; + box-sizing: border-box; } +.column, +.columns { + width: 100%; + float: left; + box-sizing: border-box; } + +/* For devices larger than 400px */ +@media (min-width: 400px) { + .container { + width: 85%; + padding: 0; } +} + +/* For devices larger than 550px */ +@media (min-width: 550px) { + .container { + width: 80%; } + .column, + .columns { + margin-left: 4%; } + .column:first-child, + .columns:first-child { + margin-left: 0; } + + .one.column, + .one.columns { width: 4.66666666667%; } + .two.columns { width: 13.3333333333%; } + .three.columns { width: 22%; } + .four.columns { width: 30.6666666667%; } + .five.columns { width: 39.3333333333%; } + .six.columns { width: 48%; } + .seven.columns { width: 56.6666666667%; } + .eight.columns { width: 65.3333333333%; } + .nine.columns { width: 74.0%; } + .ten.columns { width: 82.6666666667%; } + .eleven.columns { width: 91.3333333333%; } + .twelve.columns { width: 100%; margin-left: 0; } + + .one-third.column { width: 30.6666666667%; } + .two-thirds.column { width: 65.3333333333%; } + + .one-half.column { width: 48%; } + + /* Offsets */ + .offset-by-one.column, + .offset-by-one.columns { margin-left: 8.66666666667%; } + .offset-by-two.column, + .offset-by-two.columns { margin-left: 17.3333333333%; } + .offset-by-three.column, + .offset-by-three.columns { margin-left: 26%; } + .offset-by-four.column, + .offset-by-four.columns { margin-left: 34.6666666667%; } + .offset-by-five.column, + .offset-by-five.columns { margin-left: 43.3333333333%; } + .offset-by-six.column, + .offset-by-six.columns { margin-left: 52%; } + .offset-by-seven.column, + .offset-by-seven.columns { margin-left: 60.6666666667%; } + .offset-by-eight.column, + .offset-by-eight.columns { margin-left: 69.3333333333%; } + .offset-by-nine.column, + .offset-by-nine.columns { margin-left: 78.0%; } + .offset-by-ten.column, + .offset-by-ten.columns { margin-left: 86.6666666667%; } + .offset-by-eleven.column, + .offset-by-eleven.columns { margin-left: 95.3333333333%; } + + .offset-by-one-third.column, + .offset-by-one-third.columns { margin-left: 34.6666666667%; } + .offset-by-two-thirds.column, + .offset-by-two-thirds.columns { margin-left: 69.3333333333%; } + + .offset-by-one-half.column, + .offset-by-one-half.columns { margin-left: 52%; } + +} + + +/* Base Styles +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +/* NOTE +html is set to 62.5% so that all the REM measurements throughout Skeleton +are based on 10px sizing. So basically 1.5rem = 15px :) */ +html { + font-size: 62.5%; } +body { + font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */ + line-height: 1.6; + font-weight: 400; + font-family: 'Roboto Slab', "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #222; } + + +/* Typography +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 2rem; + font-weight: 300; } +h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;} +h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } +h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; } +h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } +h5 { font-size: 1.8rem; line-height: 1.5; letter-spacing: -.05rem; } +h6 { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0; } + +/* Larger than phablet */ +@media (min-width: 550px) { + h1 { font-size: 5.0rem; } + h2 { font-size: 4.2rem; } + h3 { font-size: 3.6rem; } + h4 { font-size: 3.0rem; } + h5 { font-size: 2.4rem; } + h6 { font-size: 1.5rem; } +} + +p { + margin-top: 0; } + + +/* Links +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +a { + color: #1EAEDB; } +a:hover { + color: #0FA0CE; } + + +/* Buttons +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.button, +button, +input[type="submit"], +input[type="reset"], +input[type="button"] { + display: inline-block; + height: 38px; + padding: 0 30px; + color: #555; + text-align: center; + font-size: 11px; + font-weight: 600; + line-height: 38px; + letter-spacing: .1rem; + text-transform: uppercase; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border-radius: 4px; + border: 1px solid #bbb; + cursor: pointer; + box-sizing: border-box; } +.button:hover, +button:hover, +input[type="submit"]:hover, +input[type="reset"]:hover, +input[type="button"]:hover, +.button:focus, +button:focus, +input[type="submit"]:focus, +input[type="reset"]:focus, +input[type="button"]:focus { + color: #333; + border-color: #888; + outline: 0; } +.button.button-primary, +button.button-primary, +input[type="submit"].button-primary, +input[type="reset"].button-primary, +input[type="button"].button-primary { + color: #FFF; + background-color: #33C3F0; + border-color: #33C3F0; } +.button.button-primary:hover, +button.button-primary:hover, +input[type="submit"].button-primary:hover, +input[type="reset"].button-primary:hover, +input[type="button"].button-primary:hover, +.button.button-primary:focus, +button.button-primary:focus, +input[type="submit"].button-primary:focus, +input[type="reset"].button-primary:focus, +input[type="button"].button-primary:focus { + color: #FFF; + background-color: #1EAEDB; + border-color: #1EAEDB; } + + +/* Forms +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea, +select { + height: 38px; + padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ + background-color: #fff; + border: 1px solid #D1D1D1; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; } +/* Removes awkward default styles on some inputs for iOS */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } +textarea { + min-height: 65px; + padding-top: 6px; + padding-bottom: 6px; } +input[type="email"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="text"]:focus, +input[type="tel"]:focus, +input[type="url"]:focus, +input[type="password"]:focus, +textarea:focus, +select:focus { + border: 1px solid #33C3F0; + outline: 0; } +label, +legend { + display: block; + margin-bottom: .5rem; + font-weight: 600; } +fieldset { + padding: 0; + border-width: 0; } +input[type="checkbox"], +input[type="radio"] { + display: inline; } +label > .label-body { + display: inline-block; + margin-left: .5rem; + font-weight: normal; } + + +/* Lists +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +ul { + list-style: circle inside; } +ol { + list-style: decimal inside; } +ol, ul { + padding-left: 0; + margin-top: 0; } +ul ul, +ul ol, +ol ol, +ol ul { + margin: 1.5rem 0 1.5rem 3rem; + font-size: 90%; } +li { + margin-bottom: 1rem; } + + +/* Code +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +code { + padding: .2rem .5rem; + margin: 0 .2rem; + font-size: 90%; + white-space: nowrap; + background: #F1F1F1; + border: 1px solid #E1E1E1; + border-radius: 4px; } +pre > code { + display: block; + padding: 1rem 1.5rem; + white-space: pre; } + + +/* Tables +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +th, +td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid #E1E1E1; } +th:first-child, +td:first-child { + padding-left: 0; } +th:last-child, +td:last-child { + padding-right: 0; } + + +/* Spacing +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +button, +.button { + margin-bottom: 1rem; } +input, +textarea, +select, +fieldset { + margin-bottom: 1.5rem; } +pre, +blockquote, +dl, +figure, +table, +p, +ul, +ol, +form { + margin-bottom: 2.5rem; } + + +/* Utilities +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.u-full-width { + width: 100%; + box-sizing: border-box; } +.u-max-full-width { + max-width: 100%; + box-sizing: border-box; } +.u-pull-right { + float: right; } +.u-pull-left { + float: left; } + + +/* Misc +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +hr { + margin-top: 3rem; + margin-bottom: 3.5rem; + border-width: 0; + border-top: 1px solid #E1E1E1; } + + +/* Clearing +–––––––––––––––––––––––––––––––––––––––––––––––––– */ + +/* Self Clearing Goodness */ +.container:after, +.row:after, +.u-cf { + content: ""; + display: table; + clear: both; } + + +/* Media Queries +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +/* +Note: The best way to structure the use of media queries is to create the queries +near the relevant code. For example, if you wanted to change the styles for buttons +on small devices, paste the mobile query code up in the buttons section and style it +there. +*/ + + +/* Larger than mobile */ +@media (min-width: 400px) {} + +/* Larger than phablet (also point when grid becomes active) */ +@media (min-width: 550px) {} + +/* Larger than tablet */ +@media (min-width: 750px) {} + +/* Larger than desktop */ +@media (min-width: 1000px) {} + +/* Larger than Desktop HD */ +@media (min-width: 1200px) {} diff --git a/app/src/main/assets/ejs/list.ejs b/app/src/main/assets/ejs/list.ejs new file mode 100644 index 0000000..ea00a15 --- /dev/null +++ b/app/src/main/assets/ejs/list.ejs @@ -0,0 +1,3 @@ +<% list.forEach(function (item) { %> + + <% }) %> diff --git a/app/src/main/assets/ejs/runner.ejs b/app/src/main/assets/ejs/runner.ejs new file mode 100644 index 0000000..56675ab --- /dev/null +++ b/app/src/main/assets/ejs/runner.ejs @@ -0,0 +1,12 @@ + +

<%= d.title %>

+ <% d.items.forEach(function (item) { %> +
+

<%=item.title %>

+
<%-item.description-%>
+
+ <%=item.author%> + <%=item.date%> +
+
+ <% }) %> diff --git a/app/src/main/assets/ejs/test.ejs b/app/src/main/assets/ejs/test.ejs new file mode 100644 index 0000000..599ace3 --- /dev/null +++ b/app/src/main/assets/ejs/test.ejs @@ -0,0 +1,11 @@ +

<%= d.title %>

+<% d.items.forEach(function (item) { %> +
+

<%=item.title %>

+
<%=item.description%>
+
+ <%=item.author%> + <%=item.date%> +
+
+ <% }) %> diff --git a/app/src/main/assets/feeds.html b/app/src/main/assets/feeds.html new file mode 100644 index 0000000..b2c6a72 --- /dev/null +++ b/app/src/main/assets/feeds.html @@ -0,0 +1,76 @@ + + + + + + Feedmaster + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Last update: x + +
+
+
+ +
+
+ + + + + + + + + + + + diff --git a/app/src/main/assets/js/app.prod.js b/app/src/main/assets/js/app.prod.js new file mode 100644 index 0000000..9ab6a63 --- /dev/null +++ b/app/src/main/assets/js/app.prod.js @@ -0,0 +1,170 @@ +var APP = { + refreshStep: 0, + preUrl: '/', + + _storage: { + lastupdated: null, + feeds: {} + }, + _list : null, + _feed : null, + + feeds: ['paleo', 'lifestyle', 'tech', 'news'], + lastUpdated: null, + preCache: function() { + this._list = new EJS({url: 'ejs/list.ejs'}); + this._feed = new EJS({ + url: 'ejs/test.ejs' + }); + }, + init: function() { + /*$('#refresh').on('click', $.proxy(this.refresh, this));*/ + console.log('app starting...'); + $.zprogress.start(); + this.preCache(); + $.zprogress.inc(0.2); + this.doLoad(); + $.zprogress.inc(0.2); + this.getLastUpdateDate(); + $.zprogress.done(true); + console.log('Last updated: ' + this.lastUpdated); + }, + getLastUpdateDate: function() { + var formatted, dt; + // this.lastUpdated = localStorage.getItem('lastUpdated') || null; + + if (this.lastUpdated == null) + $('#lastupdate').empty().append('Never'); + else { + dt = new Date(this.lastUpdated); + formatted = moment(dt).startOf('minute').fromNow(); + console.log(formatted); + $('#lastupdate').empty().append(formatted); + } + + }, + refresh: function() { + this.refreshStep = 0; + console.log('refresh'); + console.log(this); + console.log('get ' + this.feeds[this.refreshStep]); + $('#lastupdate').empty().append('Refreshing...'); + this.showAndroidToast('Refreshing...'); + $.zprogress.start(); + this.doRefresh(); + + }, + doRefresh: function() { + var self = this; + if (this.refreshStep < this.feeds.length) { + var feedUrl = this.preUrl + this.feeds[this.refreshStep] + '.json'; + $('#lastupdate').empty().append('Refreshing: ' + this.feeds[this.refreshStep]); + /* $.getJSON(feedUrl, function(data) { + console.log(self); + + self.doUpdate(data); + });*/ + + var jsonData = Android.getJson(feedUrl); + //console.log(); + if (jsonData != '') + { + self.doUpdate(JSON.parse(jsonData)); + } + + } else { + console.log('Done'); + this.doSave(); + this.showList(); + $.zprogress.done(true); + + } + }, + doUpdate: function(data) { + // console.log(this); + // console.log(data); + this._storage.feeds[this.feeds[this.refreshStep]] = data; + + console.log(this._storage); + this.refreshStep++; + $.zprogress.inc(0.2); + this.doRefresh(); + }, + doSave: function() { + console.log('Saving...'); + this.lastUpdated = new Date(); + this._storage.lastupdated = this.lastUpdated; + localStorage.setItem('lastUpdated', this.lastUpdated); + localStorage.setItem('_storage', JSON.stringify(this._storage)); + this.getLastUpdateDate(); + }, + doLoad: function() { + + var _load = localStorage.getItem('_storage'); + $('#lastupdate').empty().append('Loading...'); + if (_load != null) + this._storage = JSON.parse(_load); + else + this._storage = { + lastupdated: null, + feeds: {} + }; + this.lastUpdated = this._storage.lastupdated || null; + this.showList(); + }, + clearFeed: function() { + $('#feedcontent').empty(); + }, + showList: function() { + var output, d = {}, + list = []; + for (var key in this._storage.feeds) { + console.log(key); + list.push({ + name: key + }); + } + + d.list = list; + + var output = this._list.render(d); + $('#list').empty().append(output); + + for (var key in this._storage.feeds) { + $('#' + key).on('click', $.proxy(this.showFeed, this, key)); + } + + + }, + showFeed: function(opt) { + var output, d; + console.log('show feed ' + opt); + $('#feedcontent').empty(); + d = { + d: this._storage.feeds[opt] + }; + var output = this._feed.render(d); + + $('#feedcontent').append(output); + $("img").unveil(); + },showAndroidToast: function(toastmsg) { + Android.showToast(toastmsg); + }, showProgress: function () { + Android.showProgress(); + }, + hideProgress: function () { + Android.hideProgress(); + } + + +}; + +Zepto(function($) { + console.log('Start app'); + if (typeof(Storage) !== "undefined") { + APP.init(); + } else { + // Sorry! No Web Storage support.. + alert('No local storage'); + } +}); diff --git a/app/src/main/assets/js/app.prod.min.js b/app/src/main/assets/js/app.prod.min.js new file mode 100644 index 0000000..4f0ff13 --- /dev/null +++ b/app/src/main/assets/js/app.prod.min.js @@ -0,0 +1,2 @@ +var APP={refreshStep:0,preUrl:"/",_storage:{lastupdated:null,feeds:{}},_list:null,_feed:null,feeds:["paleo","lifestyle"],lastUpdated:null,preCache:function(){this._list=new EJS({url:"ejs/list.ejs"}),this._feed=new EJS({url:"ejs/test.ejs"})},init:function(){$("#refresh").on("click",$.proxy(this.refresh,this)),console.log("app starting..."),this.preCache(),this.doLoad(),this.getLastUpdateDate(),console.log("Last updated: "+this.lastUpdated)},getLastUpdateDate:function(){var e,t;null==this.lastUpdated?$("#lastupdate").empty().append("Never"):(t=new Date(this.lastUpdated),e=moment(t).startOf("minute").fromNow(),console.log(e),$("#lastupdate").empty().append(e))},refresh:function(){this.refreshStep=0,console.log("refresh"),console.log(this),console.log("get "+this.feeds[this.refreshStep]),$("#lastupdate").empty().append("Refreshing..."),this.doRefresh()},doRefresh:function(){var e=this;if(this.refreshStep 0 && typeof properties === 'object') { + cssValues[transitionProperty] = cssProperties.join(', ') + cssValues[transitionDuration] = duration + 's' + cssValues[transitionDelay] = delay + 's' + cssValues[transitionTiming] = (ease || 'linear') + } + } + + wrappedCallback = function(event){ + if (typeof event !== 'undefined') { + if (event.target !== event.currentTarget) return // makes sure the event didn't bubble from "below" + $(event.target).unbind(endEvent, wrappedCallback) + } else + $(this).unbind(endEvent, wrappedCallback) // triggered by setTimeout + + fired = true + $(this).css(cssReset) + callback && callback.call(this) + } + if (duration > 0){ + this.bind(endEvent, wrappedCallback) + // transitionEnd is not always firing on older Android phones + // so make sure it gets fired + setTimeout(function(){ + if (fired) return + wrappedCallback.call(that) + }, ((duration + delay) * 1000) + 25) + } + + // trigger page reflow so new elements can animate + this.size() && this.get(0).clientLeft + + this.css(cssValues) + + if (duration <= 0) setTimeout(function() { + that.each(function(){ wrappedCallback.call(this) }) + }, 0) + + return this + } + + testEl = null +})(Zepto) diff --git a/app/src/main/assets/js/fx_methods.js b/app/src/main/assets/js/fx_methods.js new file mode 100644 index 0000000..7503f3d --- /dev/null +++ b/app/src/main/assets/js/fx_methods.js @@ -0,0 +1,71 @@ +// Zepto.js +// (c) 2010-2015 Thomas Fuchs +// Zepto.js may be freely distributed under the MIT license. + +;(function($, undefined){ + var document = window.document, docElem = document.documentElement, + origShow = $.fn.show, origHide = $.fn.hide, origToggle = $.fn.toggle + + function anim(el, speed, opacity, scale, callback) { + if (typeof speed == 'function' && !callback) callback = speed, speed = undefined + var props = { opacity: opacity } + if (scale) { + props.scale = scale + el.css($.fx.cssPrefix + 'transform-origin', '0 0') + } + return el.animate(props, speed, null, callback) + } + + function hide(el, speed, scale, callback) { + return anim(el, speed, 0, scale, function(){ + origHide.call($(this)) + callback && callback.call(this) + }) + } + + $.fn.show = function(speed, callback) { + origShow.call(this) + if (speed === undefined) speed = 0 + else this.css('opacity', 0) + return anim(this, speed, 1, '1,1', callback) + } + + $.fn.hide = function(speed, callback) { + if (speed === undefined) return origHide.call(this) + else return hide(this, speed, '0,0', callback) + } + + $.fn.toggle = function(speed, callback) { + if (speed === undefined || typeof speed == 'boolean') + return origToggle.call(this, speed) + else return this.each(function(){ + var el = $(this) + el[el.css('display') == 'none' ? 'show' : 'hide'](speed, callback) + }) + } + + $.fn.fadeTo = function(speed, opacity, callback) { + return anim(this, speed, opacity, null, callback) + } + + $.fn.fadeIn = function(speed, callback) { + var target = this.css('opacity') + if (target > 0) this.css('opacity', 0) + else target = 1 + return origShow.call(this).fadeTo(speed, target, callback) + } + + $.fn.fadeOut = function(speed, callback) { + return hide(this, speed, null, callback) + } + + $.fn.fadeToggle = function(speed, callback) { + return this.each(function(){ + var el = $(this) + el[ + (el.css('opacity') == 0 || el.css('display') == 'none') ? 'fadeIn' : 'fadeOut' + ](speed, callback) + }) + } + +})(Zepto) diff --git a/app/src/main/assets/js/jquery.unveil.js b/app/src/main/assets/js/jquery.unveil.js new file mode 100644 index 0000000..38feb61 --- /dev/null +++ b/app/src/main/assets/js/jquery.unveil.js @@ -0,0 +1,70 @@ +/** + * jQuery Unveil + * A very lightweight jQuery plugin to lazy load images + * http://luis-almeida.github.com/unveil + * + * Licensed under the MIT license. + * Copyright 2013 Luís Almeida + * https://github.com/luis-almeida + */ + +; +(function($) { + + var blackList = ['feeds.feedburner.com', '.feedsportal.co']; + $.fn.unveil = function(threshold, callback) { + + var $w = $(window), + th = threshold || 0, + retina = window.devicePixelRatio > 1, + attrib = retina ? "data-src-retina" : "data-src", + images = this, + loaded; + + this.one("unveil", function() { + var source = this.getAttribute(attrib); + source = source || this.getAttribute("data-src"); + + var flag = false; + for (var item in blackList) { + var u = blackList[item]; + if (source.indexOf(u) !== -1) { + flag = true; + } + } + if (source && !flag) { + this.setAttribute("src", source); + if (typeof callback === "function") callback.call(this); + } + + if (flag) { + this.setAttribute("style", 'display:none !important;'); + } + }); + + function unveil() { + var inview = images.filter(function() { + var $e = $(this); + // if ($e.is(":hidden")) return; + + var wt = $w.scrollTop(), + wb = wt + $w.height(), + et = $e.offset().top, + eb = et + $e.height(); + + return eb >= wt - th && et <= wb + th; + }); + + loaded = inview.trigger("unveil"); + images = images.not(loaded); + } + + $w.on("scroll.unveil resize.unveil lookup.unveil", unveil); + + unveil(); + + return this; + + }; + + })(window.jQuery || window.Zepto); diff --git a/app/src/main/assets/js/output.min.js b/app/src/main/assets/js/output.min.js new file mode 100644 index 0000000..c315a3d --- /dev/null +++ b/app/src/main/assets/js/output.min.js @@ -0,0 +1,3 @@ +var Zepto=function(){function t(t){return null==t?String(t):q[R.call(t)]||"object"}function e(e){return"function"==t(e)}function n(t){return null!=t&&t==t.window}function r(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function i(e){return"object"==t(e)}function o(t){return i(t)&&!n(t)&&Object.getPrototypeOf(t)==Object.prototype}function s(t){return"number"==typeof t.length}function a(t){return k.call(t,function(t){return null!=t})}function u(t){return t.length>0?D.fn.concat.apply([],t):t}function c(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function l(t){return t in J?J[t]:J[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function f(t,e){return"number"!=typeof e||P[c(t)]?e:e+"px"}function h(t){var e,n;return C[t]||(e=O.createElement(t),O.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),C[t]=n),C[t]}function d(t){return"children"in t?Y.call(t.children):D.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function p(t,e,n){for(b in e)n&&(o(e[b])||X(e[b]))?(o(e[b])&&!o(t[b])&&(t[b]={}),X(e[b])&&!X(t[b])&&(t[b]=[]),p(t[b],e[b],n)):e[b]!==S&&(t[b]=e[b])}function m(t,e){return null==e?D(t):D(t).filter(e)}function _(t,n,r,i){return e(n)?n.call(t,r,i):n}function g(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function y(t,e){var n=t.className||"",r=n&&n.baseVal!==S;return e===S?r?n.baseVal:n:void(r?n.baseVal=e:t.className=e)}function v(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?D.parseJSON(t):t):t}catch(e){return t}}function w(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)w(t.childNodes[n],e)}var S,b,D,M,x,E,T=[],Y=T.slice,k=T.filter,O=window.document,C={},J={},P={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},H=/^\s*<(\w+|!)[^>]*>/,j=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,L=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,F=/^(?:body|html)$/i,N=/([A-Z])/g,A=["val","css","html","text","data","width","height","offset"],U=["after","prepend","before","append"],W=O.createElement("table"),G=O.createElement("tr"),I={tr:O.createElement("tbody"),tbody:W,thead:W,tfoot:W,td:G,th:G,"*":O.createElement("div")},z=/complete|loaded|interactive/,Z=/^[\w-]*$/,q={},R=q.toString,V={},$=O.createElement("div"),B={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},X=Array.isArray||function(t){return t instanceof Array};return V.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=$).appendChild(t),r=~V.qsa(i,e).indexOf(t),o&&$.removeChild(t),r},x=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},E=function(t){return k.call(t,function(e,n){return t.indexOf(e)==n})},V.fragment=function(t,e,n){var r,i,s;return j.test(t)&&(r=D(O.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(L,"<$1>")),e===S&&(e=H.test(t)&&RegExp.$1),e in I||(e="*"),s=I[e],s.innerHTML=""+t,r=D.each(Y.call(s.childNodes),function(){s.removeChild(this)})),o(n)&&(i=D(r),D.each(n,function(t,e){A.indexOf(t)>-1?i[t](e):i.attr(t,e)})),r},V.Z=function(t,e){return t=t||[],t.__proto__=D.fn,t.selector=e||"",t},V.isZ=function(t){return t instanceof V.Z},V.init=function(t,n){var r;if(!t)return V.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&H.test(t))r=V.fragment(t,RegExp.$1,n),t=null;else{if(n!==S)return D(n).find(t);r=V.qsa(O,t)}else{if(e(t))return D(O).ready(t);if(V.isZ(t))return t;if(X(t))r=a(t);else if(i(t))r=[t],t=null;else if(H.test(t))r=V.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==S)return D(n).find(t);r=V.qsa(O,t)}}return V.Z(r,t)},D=function(t,e){return V.init(t,e)},D.extend=function(t){var e,n=Y.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){p(t,n,e)}),t},V.qsa=function(t,e){var n,i="#"==e[0],o=!i&&"."==e[0],s=i||o?e.slice(1):e,a=Z.test(s);return r(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:Y.call(a&&!i?o?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},D.contains=O.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},D.type=t,D.isFunction=e,D.isWindow=n,D.isArray=X,D.isPlainObject=o,D.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},D.inArray=function(t,e,n){return T.indexOf.call(e,t,n)},D.camelCase=x,D.trim=function(t){return null==t?"":String.prototype.trim.call(t)},D.uuid=0,D.support={},D.expr={},D.map=function(t,e){var n,r,i,o=[];if(s(t))for(r=0;r=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return T.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):D(k.call(this,function(e){return V.matches(e,t)}))},add:function(t,e){return D(E(this.concat(D(t,e))))},is:function(t){return this.length>0&&V.matches(this[0],t)},not:function(t){var n=[];if(e(t)&&t.call!==S)this.each(function(e){t.call(this,e)||n.push(this)});else{var r="string"==typeof t?this.filter(t):s(t)&&e(t.item)?Y.call(t):D(t);this.forEach(function(t){r.indexOf(t)<0&&n.push(t)})}return D(n)},has:function(t){return this.filter(function(){return i(t)?D.contains(this,t):D(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!i(t)?t:D(t)},last:function(){var t=this[this.length-1];return t&&!i(t)?t:D(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?D(t).filter(function(){var t=this;return T.some.call(n,function(e){return D.contains(e,t)})}):1==this.length?D(V.qsa(this[0],t)):this.map(function(){return V.qsa(this,t)}):D()},closest:function(t,e){var n=this[0],i=!1;for("object"==typeof t&&(i=D(t));n&&!(i?i.indexOf(n)>=0:V.matches(n,t));)n=n!==e&&!r(n)&&n.parentNode;return D(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=D.map(n,function(t){return(t=t.parentNode)&&!r(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return m(e,t)},parent:function(t){return m(E(this.pluck("parentNode")),t)},children:function(t){return m(this.map(function(){return d(this)}),t)},contents:function(){return this.map(function(){return Y.call(this.childNodes)})},siblings:function(t){return m(this.map(function(t,e){return k.call(d(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return D.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=h(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var n=e(t);if(this[0]&&!n)var r=D(t).get(0),i=r.parentNode||this.length>1;return this.each(function(e){D(this).wrapAll(n?t.call(this,e):i?r.cloneNode(!0):r)})},wrapAll:function(t){if(this[0]){D(this[0]).before(t=D(t));for(var e;(e=t.children()).length;)t=e.first();D(t).append(this)}return this},wrapInner:function(t){var n=e(t);return this.each(function(e){var r=D(this),i=r.contents(),o=n?t.call(this,e):t;i.length?i.wrapAll(o):r.append(o)})},unwrap:function(){return this.parent().each(function(){D(this).replaceWith(D(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=D(this);(t===S?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return D(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return D(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;D(this).empty().append(_(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=_(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this[0].textContent:null},attr:function(t,e){var n;return"string"!=typeof t||1 in arguments?this.each(function(n){if(1===this.nodeType)if(i(t))for(b in t)g(this,b,t[b]);else g(this,t,_(this,e,n,this.getAttribute(t)))}):this.length&&1===this[0].nodeType?!(n=this[0].getAttribute(t))&&t in this[0]?this[0][t]:n:S},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){g(this,t)},this)})},prop:function(t,e){return t=B[t]||t,1 in arguments?this.each(function(n){this[t]=_(this,e,n,this[t])}):this[0]&&this[0][t]},data:function(t,e){var n="data-"+t.replace(N,"-$1").toLowerCase(),r=1 in arguments?this.attr(n,e):this.attr(n);return null!==r?v(r):S},val:function(t){return 0 in arguments?this.each(function(e){this.value=_(this,t,e,this.value)}):this[0]&&(this[0].multiple?D(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=D(this),r=_(this,t,e,n.offset()),i=n.offsetParent().offset(),o={top:r.top-i.top,left:r.left-i.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,n){if(arguments.length<2){var r,i=this[0];if(!i)return;if(r=getComputedStyle(i,""),"string"==typeof e)return i.style[x(e)]||r.getPropertyValue(e);if(X(e)){var o={};return D.each(e,function(t,e){o[e]=i.style[x(e)]||r.getPropertyValue(e)}),o}}var s="";if("string"==t(e))n||0===n?s=c(e)+":"+f(e,n):this.each(function(){this.style.removeProperty(c(e))});else for(b in e)e[b]||0===e[b]?s+=c(b)+":"+f(b,e[b])+";":this.each(function(){this.style.removeProperty(c(b))});return this.each(function(){this.style.cssText+=";"+s})},index:function(t){return t?this.indexOf(D(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?T.some.call(this,function(t){return this.test(y(t))},l(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){M=[];var n=y(this),r=_(this,t,e,n);r.split(/\s+/g).forEach(function(t){D(this).hasClass(t)||M.push(t)},this),M.length&&y(this,n+(n?" ":"")+M.join(" "))}}):this},removeClass:function(t){return this.each(function(e){if("className"in this){if(t===S)return y(this,"");M=y(this),_(this,t,e,M).split(/\s+/g).forEach(function(t){M=M.replace(l(t)," ")}),y(this,M.trim())}})},toggleClass:function(t,e){return t?this.each(function(n){var r=D(this),i=_(this,t,n,y(this));i.split(/\s+/g).forEach(function(t){(e===S?!r.hasClass(t):e)?r.addClass(t):r.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var e="scrollTop"in this[0];return t===S?e?this[0].scrollTop:this[0].pageYOffset:this.each(e?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var e="scrollLeft"in this[0];return t===S?e?this[0].scrollLeft:this[0].pageXOffset:this.each(e?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),r=F.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(D(t).css("margin-top"))||0,n.left-=parseFloat(D(t).css("margin-left"))||0,r.top+=parseFloat(D(e[0]).css("border-top-width"))||0,r.left+=parseFloat(D(e[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||O.body;t&&!F.test(t.nodeName)&&"static"==D(t).css("position");)t=t.offsetParent;return t})}},D.fn.detach=D.fn.remove,["width","height"].forEach(function(t){var e=t.replace(/./,function(t){return t[0].toUpperCase()});D.fn[t]=function(i){var o,s=this[0];return i===S?n(s)?s["inner"+e]:r(s)?s.documentElement["scroll"+e]:(o=this.offset())&&o[t]:this.each(function(e){s=D(this),s.css(t,_(this,i,e,s[t]()))})}}),U.forEach(function(e,n){var r=n%2;D.fn[e]=function(){var e,i,o=D.map(arguments,function(n){return e=t(n),"object"==e||"array"==e||null==n?n:V.fragment(n)}),s=this.length>1;return o.length<1?this:this.each(function(t,e){i=r?e:e.parentNode,e=0==n?e.nextSibling:1==n?e.firstChild:2==n?e:null;var a=D.contains(O.documentElement,i);o.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!i)return D(t).remove();i.insertBefore(t,e),a&&w(t,function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},D.fn[r?e+"To":"insert"+(n?"Before":"After")]=function(t){return D(t)[e](this),this}}),V.Z.prototype=D.fn,V.uniq=E,V.deserializeValue=v,D.zepto=V,D}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function e(t){return t._zid||(t._zid=h++)}function n(t,n,o,s){if(n=r(n),n.ns)var a=i(n.ns);return(_[e(t)]||[]).filter(function(t){return!(!t||n.e&&t.e!=n.e||n.ns&&!a.test(t.ns)||o&&e(t.fn)!==e(o)||s&&t.sel!=s)})}function r(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function i(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(t,e){return t.del&&!y&&t.e in v||!!e}function s(t){return w[t]||y&&v[t]||t}function a(n,i,a,u,l,h,d){var p=e(n),m=_[p]||(_[p]=[]);i.split(/\s/).forEach(function(e){if("ready"==e)return t(document).ready(a);var i=r(e);i.fn=a,i.sel=l,i.e in w&&(a=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?i.fn.apply(this,arguments):void 0}),i.del=h;var p=h||a;i.proxy=function(t){if(t=c(t),!t.isImmediatePropagationStopped()){t.data=u;var e=p.apply(n,t._args==f?[t]:[t].concat(t._args));return e===!1&&(t.preventDefault(),t.stopPropagation()),e}},i.i=m.length,m.push(i),"addEventListener"in n&&n.addEventListener(s(i.e),i.proxy,o(i,d))})}function u(t,r,i,a,u){var c=e(t);(r||"").split(/\s/).forEach(function(e){n(t,e,i,a).forEach(function(e){delete _[c][e.i],"removeEventListener"in t&&t.removeEventListener(s(e.e),e.proxy,o(e,u))})})}function c(e,n){return(n||!e.isDefaultPrevented)&&(n||(n=e),t.each(M,function(t,r){var i=n[t];e[t]=function(){return this[r]=S,i&&i.apply(n,arguments)},e[r]=b}),(n.defaultPrevented!==f?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(e.isDefaultPrevented=S)),e}function l(t){var e,n={originalEvent:t};for(e in t)D.test(e)||t[e]===f||(n[e]=t[e]);return c(n,t)}var f,h=1,d=Array.prototype.slice,p=t.isFunction,m=function(t){return"string"==typeof t},_={},g={},y="onfocusin"in window,v={focus:"focusin",blur:"focusout"},w={mouseenter:"mouseover",mouseleave:"mouseout"};g.click=g.mousedown=g.mouseup=g.mousemove="MouseEvents",t.event={add:a,remove:u},t.proxy=function(n,r){var i=2 in arguments&&d.call(arguments,2);if(p(n)){var o=function(){return n.apply(r,i?i.concat(d.call(arguments)):arguments)};return o._zid=e(n),o}if(m(r))return i?(i.unshift(n[r],n),t.proxy.apply(null,i)):t.proxy(n[r],n);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var S=function(){return!0},b=function(){return!1},D=/^([A-Z]|returnValue$|layer[XY]$)/,M={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,n,r,i,o){var s,c,h=this;return e&&!m(e)?(t.each(e,function(t,e){h.on(t,n,r,e,o)}),h):(m(n)||p(i)||i===!1||(i=r,r=n,n=f),(p(r)||r===!1)&&(i=r,r=f),i===!1&&(i=b),h.each(function(f,h){o&&(s=function(t){return u(h,t.type,i),i.apply(this,arguments)}),n&&(c=function(e){var r,o=t(e.target).closest(n,h).get(0);return o&&o!==h?(r=t.extend(l(e),{currentTarget:o,liveFired:h}),(s||i).apply(o,[r].concat(d.call(arguments,1)))):void 0}),a(h,e,i,r,n,c||s)}))},t.fn.off=function(e,n,r){var i=this;return e&&!m(e)?(t.each(e,function(t,e){i.off(t,n,e)}),i):(m(n)||p(r)||r===!1||(r=n,n=f),r===!1&&(r=b),i.each(function(){u(this,e,r,n)}))},t.fn.trigger=function(e,n){return e=m(e)||t.isPlainObject(e)?t.Event(e):c(e),e._args=n,this.each(function(){e.type in v&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,r){var i,o;return this.each(function(s,a){i=l(m(e)?t.Event(e):e),i._args=r,i.target=a,t.each(n(a,e.type||e),function(t,e){return o=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),o},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(t,e){m(t)||(e=t,t=e.type);var n=document.createEvent(g[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),c(n)}}(Zepto),function(t){function e(e,n,r){var i=t.Event(n);return t(e).trigger(i,r),!i.isDefaultPrevented()}function n(t,n,r,i){return t.global?e(n||y,r,i):void 0}function r(e){e.global&&0===t.active++&&n(e,null,"ajaxStart")}function i(e){e.global&&!--t.active&&n(e,null,"ajaxStop")}function o(t,e){var r=e.context;return e.beforeSend.call(r,t,e)===!1||n(e,r,"ajaxBeforeSend",[t,e])===!1?!1:void n(e,r,"ajaxSend",[t,e])}function s(t,e,r,i){var o=r.context,s="success";r.success.call(o,t,s,e),i&&i.resolveWith(o,[t,s,e]),n(r,o,"ajaxSuccess",[e,r,t]),u(s,e,r)}function a(t,e,r,i,o){var s=i.context;i.error.call(s,r,e,t),o&&o.rejectWith(s,[r,e,t]),n(i,s,"ajaxError",[r,i,t||e]),u(e,r,i)}function u(t,e,r){var o=r.context;r.complete.call(o,e,t),n(r,o,"ajaxComplete",[e,r]),i(r)}function c(){}function l(t){return t&&(t=t.split(";",2)[0]),t&&(t==D?"html":t==b?"json":w.test(t)?"script":S.test(t)&&"xml")||"text"}function f(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function h(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=f(e.url,e.data),e.data=void 0)}function d(e,n,r,i){return t.isFunction(n)&&(i=r,r=n,n=void 0),t.isFunction(r)||(i=r,r=void 0),{url:e,data:n,success:r,dataType:i}}function p(e,n,r,i){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?e.add(u.name,u.value):"array"==o||!r&&"object"==o?p(e,u,r,n):e.add(n,u)})}var m,_,g=0,y=window.document,v=/)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,S=/^(?:text|application)\/xml/i,b="application/json",D="text/html",M=/^\s*$/,x=y.createElement("a");x.href=window.location.href,t.active=0,t.ajaxJSONP=function(e,n){if(!("type"in e))return t.ajax(e);var r,i,u=e.jsonpCallback,c=(t.isFunction(u)?u():u)||"jsonp"+ ++g,l=y.createElement("script"),f=window[c],h=function(e){t(l).triggerHandler("error",e||"abort")},d={abort:h};return n&&n.promise(d),t(l).on("load error",function(o,u){clearTimeout(i),t(l).off().remove(),"error"!=o.type&&r?s(r[0],d,e,n):a(null,u||"error",d,e,n),window[c]=f,r&&t.isFunction(f)&&f(r[0]),f=r=void 0}),o(d,e)===!1?(h("abort"),d):(window[c]=function(){r=arguments},l.src=e.url.replace(/\?(.+)=\?/,"?$1="+c),y.head.appendChild(l),e.timeout>0&&(i=setTimeout(function(){h("timeout")},e.timeout)),d)},t.ajaxSettings={type:"GET",beforeSend:c,success:c,error:c,complete:c,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:b,xml:"application/xml, text/xml",html:D,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n,i=t.extend({},e||{}),u=t.Deferred&&t.Deferred();for(m in t.ajaxSettings)void 0===i[m]&&(i[m]=t.ajaxSettings[m]);r(i),i.crossDomain||(n=y.createElement("a"),n.href=i.url,n.href=n.href,i.crossDomain=x.protocol+"//"+x.host!=n.protocol+"//"+n.host),i.url||(i.url=window.location.toString()),h(i);var d=i.dataType,p=/\?.+=\?/.test(i.url);if(p&&(d="jsonp"),i.cache!==!1&&(e&&e.cache===!0||"script"!=d&&"jsonp"!=d)||(i.url=f(i.url,"_="+Date.now())),"jsonp"==d)return p||(i.url=f(i.url,i.jsonp?i.jsonp+"=?":i.jsonp===!1?"":"callback=?")),t.ajaxJSONP(i,u);var g,v=i.accepts[d],w={},S=function(t,e){w[t.toLowerCase()]=[t,e]},b=/^([\w-]+:)\/\//.test(i.url)?RegExp.$1:window.location.protocol,D=i.xhr(),E=D.setRequestHeader;if(u&&u.promise(D),i.crossDomain||S("X-Requested-With","XMLHttpRequest"),S("Accept",v||"*/*"),(v=i.mimeType||v)&&(v.indexOf(",")>-1&&(v=v.split(",",2)[0]),D.overrideMimeType&&D.overrideMimeType(v)),(i.contentType||i.contentType!==!1&&i.data&&"GET"!=i.type.toUpperCase())&&S("Content-Type",i.contentType||"application/x-www-form-urlencoded"),i.headers)for(_ in i.headers)S(_,i.headers[_]);if(D.setRequestHeader=S,D.onreadystatechange=function(){if(4==D.readyState){D.onreadystatechange=c,clearTimeout(g);var e,n=!1;if(D.status>=200&&D.status<300||304==D.status||0==D.status&&"file:"==b){d=d||l(i.mimeType||D.getResponseHeader("content-type")),e=D.responseText;try{"script"==d?(1,eval)(e):"xml"==d?e=D.responseXML:"json"==d&&(e=M.test(e)?null:t.parseJSON(e))}catch(r){n=r}n?a(n,"parsererror",D,i,u):s(e,D,i,u)}else a(D.statusText||null,D.status?"error":"abort",D,i,u)}},o(D,i)===!1)return D.abort(),a(null,"abort",D,i,u),D;if(i.xhrFields)for(_ in i.xhrFields)D[_]=i.xhrFields[_];var T="async"in i?i.async:!0;D.open(i.type,i.url,T,i.username,i.password);for(_ in w)E.apply(D,w[_]);return i.timeout>0&&(g=setTimeout(function(){D.onreadystatechange=c,D.abort(),a(null,"timeout",D,i,u)},i.timeout)),D.send(i.data?i.data:null),D},t.get=function(){return t.ajax(d.apply(null,arguments))},t.post=function(){var e=d.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=d.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,r){if(!this.length)return this;var i,o=this,s=e.split(/\s/),a=d(e,n,r),u=a.success;return s.length>1&&(a.url=s[0],i=s[1]),a.success=function(e){o.html(i?t("
").html(e.replace(v,"")).find(i):e),u&&u.apply(o,arguments)},t.ajax(a),this};var E=encodeURIComponent;t.param=function(e,n){var r=[];return r.add=function(e,n){t.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(E(e)+"="+E(n))},p(r,e,n),r.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto),!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.moment=e()}(this,function(){"use strict";function t(){return Hr.apply(null,arguments)}function e(t){Hr=t}function n(t){return"[object Array]"===Object.prototype.toString.call(t)}function r(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function i(t,e){var n,r=[];for(n=0;n0)for(n in Lr)r=Lr[n],i=e[r],"undefined"!=typeof i&&(t[r]=i);return t}function d(e){h(this,e),this._d=new Date(e._d.getTime()),Fr===!1&&(Fr=!0,t.updateOffset(this),Fr=!1)}function p(t){return t instanceof d||null!=t&&null!=t._isAMomentObject}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=m(e)),n}function g(t,e,n){var r,i=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),s=0;for(r=0;i>r;r++)(n&&t[r]!==e[r]||!n&&_(t[r])!==_(e[r]))&&s++;return s+o}function y(){}function v(t){return t?t.toLowerCase().replace("_","-"):t}function w(t){for(var e,n,r,i,o=0;o0;){if(r=S(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&g(i,n,!0)>=e-1)break;e--}o++}return null}function S(t){var e=null;if(!Nr[t]&&"undefined"!=typeof module&&module&&module.exports)try{e=jr._abbr,require("./locale/"+t),b(e)}catch(n){}return Nr[t]}function b(t,e){var n;return t&&(n="undefined"==typeof e?M(t):D(t,e),n&&(jr=n)),jr._abbr}function D(t,e){return null!==e?(e.abbr=t,Nr[t]=Nr[t]||new y,Nr[t].set(e),b(t),Nr[t]):(delete Nr[t],null)}function M(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return jr;if(!n(t)){if(e=S(t))return e;t=[t]}return w(t)}function x(t,e){var n=t.toLowerCase();Ar[n]=Ar[n+"s"]=Ar[e]=t}function E(t){return"string"==typeof t?Ar[t]||Ar[t.toLowerCase()]:void 0}function T(t){var e,n,r={};for(n in t)o(t,n)&&(e=E(n),e&&(r[e]=t[n]));return r}function Y(e,n){return function(r){return null!=r?(O(this,e,r),t.updateOffset(this,n),this):k(this,e)}}function k(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function O(t,e,n){return t._d["set"+(t._isUTC?"UTC":"")+e](n)}function C(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=E(t),"function"==typeof this[t])return this[t](e);return this}function J(t,e,n){var r=""+Math.abs(t),i=e-r.length,o=t>=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function P(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Ir[t]=i),e&&(Ir[e[0]]=function(){return J(i.apply(this,arguments),e[1],e[2])}),n&&(Ir[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function H(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function j(t){var e,n,r=t.match(Ur);for(e=0,n=r.length;n>e;e++)r[e]=Ir[r[e]]?Ir[r[e]]:H(r[e]);return function(i){var o="";for(e=0;n>e;e++)o+=r[e]instanceof Function?r[e].call(i,t):r[e];return o}}function L(t,e){return t.isValid()?(e=F(e,t.localeData()),Gr[e]=Gr[e]||j(e),Gr[e](t)):t.localeData().invalidDate()}function F(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(Wr.lastIndex=0;r>=0&&Wr.test(t);)t=t.replace(Wr,n),Wr.lastIndex=0,r-=1;return t}function N(t){return"function"==typeof t&&"[object Function]"===Object.prototype.toString.call(t)}function A(t,e,n){ii[t]=N(e)?e:function(t){return t&&n?n:e}}function U(t,e){return o(ii,t)?ii[t](e._strict,e._locale):new RegExp(W(t))}function W(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(r=function(t,n){n[e]=_(t)}),n=0;nr;r++){if(i=a([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(o="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}}function $(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),Z(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function B(e){return null!=e?($(this,e),t.updateOffset(this,!0),this):k(this,"Month")}function X(){return Z(this.year(),this.month())}function Q(t){var e,n=t._a;return n&&-2===c(t).overflow&&(e=n[ai]<0||n[ai]>11?ai:n[ui]<1||n[ui]>Z(n[si],n[ai])?ui:n[ci]<0||n[ci]>24||24===n[ci]&&(0!==n[li]||0!==n[fi]||0!==n[hi])?ci:n[li]<0||n[li]>59?li:n[fi]<0||n[fi]>59?fi:n[hi]<0||n[hi]>999?hi:-1,c(t)._overflowDayOfYear&&(si>e||e>ui)&&(e=ui),c(t).overflow=e),t}function K(e){t.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function te(t,e){var n=!0; +return s(function(){return n&&(K(t+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function ee(t,e){mi[t]||(K(e),mi[t]=!0)}function ne(t){var e,n,r=t._i,i=_i.exec(r);if(i){for(c(t).iso=!0,e=0,n=gi.length;n>e;e++)if(gi[e][1].exec(r)){t._f=gi[e][0];break}for(e=0,n=yi.length;n>e;e++)if(yi[e][1].exec(r)){t._f+=(i[6]||" ")+yi[e][0];break}r.match(ei)&&(t._f+="Z"),Se(t)}else t._isValid=!1}function re(e){var n=vi.exec(e._i);return null!==n?void(e._d=new Date(+n[1])):(ne(e),void(e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e))))}function ie(t,e,n,r,i,o,s){var a=new Date(t,e,n,r,i,o,s);return 1970>t&&a.setFullYear(t),a}function oe(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function se(t){return ae(t)?366:365}function ae(t){return t%4===0&&t%100!==0||t%400===0}function ue(){return ae(this.year())}function ce(t,e,n){var r,i=n-e,o=n-t.day();return o>i&&(o-=7),i-7>o&&(o+=7),r=ke(t).add(o,"d"),{week:Math.ceil(r.dayOfYear()/7),year:r.year()}}function le(t){return ce(t,this._week.dow,this._week.doy).week}function fe(){return this._week.dow}function he(){return this._week.doy}function de(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function pe(t){var e=ce(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function me(t,e,n,r,i){var o,s=6+i-r,a=oe(t,0,1+s),u=a.getUTCDay();return i>u&&(u+=7),n=null!=n?1*n:i,o=1+s+7*(e-1)-u+n,{year:o>0?t:t-1,dayOfYear:o>0?o:se(t-1)+o}}function _e(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function ge(t,e,n){return null!=t?t:null!=e?e:n}function ye(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function ve(t){var e,n,r,i,o=[];if(!t._d){for(r=ye(t),t._w&&null==t._a[ui]&&null==t._a[ai]&&we(t),t._dayOfYear&&(i=ge(t._a[si],r[si]),t._dayOfYear>se(i)&&(c(t)._overflowDayOfYear=!0),n=oe(i,0,t._dayOfYear),t._a[ai]=n.getUTCMonth(),t._a[ui]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=o[e]=r[e];for(;7>e;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ci]&&0===t._a[li]&&0===t._a[fi]&&0===t._a[hi]&&(t._nextDay=!0,t._a[ci]=0),t._d=(t._useUTC?oe:ie).apply(null,o),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ci]=24)}}function we(t){var e,n,r,i,o,s,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(o=1,s=4,n=ge(e.GG,t._a[si],ce(ke(),1,4).year),r=ge(e.W,1),i=ge(e.E,1)):(o=t._locale._week.dow,s=t._locale._week.doy,n=ge(e.gg,t._a[si],ce(ke(),o,s).year),r=ge(e.w,1),null!=e.d?(i=e.d,o>i&&++r):i=null!=e.e?e.e+o:o),a=me(n,r,i,s,o),t._a[si]=a.year,t._dayOfYear=a.dayOfYear}function Se(e){if(e._f===t.ISO_8601)return void ne(e);e._a=[],c(e).empty=!0;var n,r,i,o,s,a=""+e._i,u=a.length,l=0;for(i=F(e._f,e._locale).match(Ur)||[],n=0;n0&&c(e).unusedInput.push(s),a=a.slice(a.indexOf(r)+r.length),l+=r.length),Ir[o]?(r?c(e).empty=!1:c(e).unusedTokens.push(o),z(o,r,e)):e._strict&&!r&&c(e).unusedTokens.push(o);c(e).charsLeftOver=u-l,a.length>0&&c(e).unusedInput.push(a),c(e).bigHour===!0&&e._a[ci]<=12&&e._a[ci]>0&&(c(e).bigHour=void 0),e._a[ci]=be(e._locale,e._a[ci],e._meridiem),ve(e),Q(e)}function be(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&12>e&&(e+=12),r||12!==e||(e=0),e):e}function De(t){var e,n,r,i,o;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(0/0));for(i=0;io)&&(r=o,n=e));s(t,n||e)}function Me(t){if(!t._d){var e=T(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],ve(t)}}function xe(t){var e=new d(Q(Ee(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Ee(t){var e=t._i,i=t._f;return t._locale=t._locale||M(t._l),null===e||void 0===i&&""===e?f({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),p(e)?new d(Q(e)):(n(i)?De(t):i?Se(t):r(e)?t._d=e:Te(t),t))}function Te(e){var o=e._i;void 0===o?e._d=new Date:r(o)?e._d=new Date(+o):"string"==typeof o?re(e):n(o)?(e._a=i(o.slice(0),function(t){return parseInt(t,10)}),ve(e)):"object"==typeof o?Me(e):"number"==typeof o?e._d=new Date(o):t.createFromInputFallback(e)}function Ye(t,e,n,r,i){var o={};return"boolean"==typeof n&&(r=n,n=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=i,o._l=n,o._i=t,o._f=e,o._strict=r,xe(o)}function ke(t,e,n,r){return Ye(t,e,n,r,!1)}function Oe(t,e){var r,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return ke();for(r=e[0],i=1;it&&(t=-t,n="-"),n+J(~~(t/60),2)+e+J(~~t%60,2)})}function Le(t){var e=(t||"").match(ei)||[],n=e[e.length-1]||[],r=(n+"").match(Mi)||["-",0,0],i=+(60*r[1])+_(r[2]);return"+"===r[0]?i:-i}function Fe(e,n){var i,o;return n._isUTC?(i=n.clone(),o=(p(e)||r(e)?+e:+ke(e))-+i,i._d.setTime(+i._d+o),t.updateOffset(i,!1),i):ke(e).local()}function Ne(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ae(e,n){var r,i=this._offset||0;return null!=e?("string"==typeof e&&(e=Le(e)),Math.abs(e)<16&&(e=60*e),!this._isUTC&&n&&(r=Ne(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==e&&(!n||this._changeInProgress?en(this,Be(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?i:Ne(this)}function Ue(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function We(t){return this.utcOffset(0,t)}function Ge(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ne(this),"m")),this}function Ie(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Le(this._i)),this}function ze(t){return t=t?ke(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Ze(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function qe(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var t={};if(h(t,this),t=Ee(t),t._a){var e=t._isUTC?a(t._a):ke(t._a);this._isDSTShifted=this.isValid()&&g(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Re(){return!this._isUTC}function Ve(){return this._isUTC}function $e(){return this._isUTC&&0===this._offset}function Be(t,e){var n,r,i,s=t,a=null;return He(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(a=xi.exec(t))?(n="-"===a[1]?-1:1,s={y:0,d:_(a[ui])*n,h:_(a[ci])*n,m:_(a[li])*n,s:_(a[fi])*n,ms:_(a[hi])*n}):(a=Ei.exec(t))?(n="-"===a[1]?-1:1,s={y:Xe(a[2],n),M:Xe(a[3],n),d:Xe(a[4],n),h:Xe(a[5],n),m:Xe(a[6],n),s:Xe(a[7],n),w:Xe(a[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(i=Ke(ke(s.from),ke(s.to)),s={},s.ms=i.milliseconds,s.M=i.months),r=new Pe(s),He(t)&&o(t,"_locale")&&(r._locale=t._locale),r}function Xe(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Qe(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ke(t,e){var n;return e=Fe(e,t),t.isBefore(e)?n=Qe(t,e):(n=Qe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function tn(t,e){return function(n,r){var i,o;return null===r||isNaN(+r)||(ee(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),o=n,n=r,r=o),n="string"==typeof n?+n:n,i=Be(n,r),en(this,i,t),this}}function en(e,n,r,i){var o=n._milliseconds,s=n._days,a=n._months;i=null==i?!0:i,o&&e._d.setTime(+e._d+o*r),s&&O(e,"Date",k(e,"Date")+s*r),a&&$(e,k(e,"Month")+a*r),i&&t.updateOffset(e,s||a)}function nn(t,e){var n=t||ke(),r=Fe(n,this).startOf("day"),i=this.diff(r,"days",!0),o=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(e&&e[o]||this.localeData().calendar(o,this,ke(n)))}function rn(){return new d(this)}function on(t,e){var n;return e=E("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=p(t)?t:ke(t),+this>+t):(n=p(t)?+t:+ke(t),n<+this.clone().startOf(e))}function sn(t,e){var n;return e=E("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=p(t)?t:ke(t),+t>+this):(n=p(t)?+t:+ke(t),+this.clone().endOf(e)e-o?(n=t.clone().add(i-1,"months"),r=(e-o)/(o-n)):(n=t.clone().add(i+1,"months"),r=(e-o)/(n-o)),-(i+r)}function fn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function hn(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(n=ke([2e3,1]).day(e),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Gn(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Fn(t,this.localeData()),this.add(t-e,"d")):e}function In(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function zn(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Zn(t,e){P(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qn(t,e){return e._meridiemParse}function Rn(t){return"p"===(t+"").toLowerCase().charAt(0)}function Vn(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function $n(t,e){e[hi]=_(1e3*("0."+t))}function Bn(){return this._isUTC?"UTC":""}function Xn(){return this._isUTC?"Coordinated Universal Time":""}function Qn(t){return ke(1e3*t)}function Kn(){return ke.apply(null,arguments).parseZone()}function tr(t,e,n){var r=this._calendar[t];return"function"==typeof r?r.call(e,n):r}function er(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function nr(){return this._invalidDate}function rr(t){return this._ordinal.replace("%d",t)}function ir(t){return t}function or(t,e,n,r){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,r):i.replace(/%d/i,t)}function sr(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)}function ar(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ur(t,e,n,r){var i=M(),o=a().set(r,e);return i[n](o,t)}function cr(t,e,n,r,i){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ur(t,e,n,i);var o,s=[];for(o=0;r>o;o++)s[o]=ur(t,o,n,i);return s}function lr(t,e){return cr(t,e,"months",12,"month")}function fr(t,e){return cr(t,e,"monthsShort",12,"month")}function hr(t,e){return cr(t,e,"weekdays",7,"day")}function dr(t,e){return cr(t,e,"weekdaysShort",7,"day")}function pr(t,e){return cr(t,e,"weekdaysMin",7,"day")}function mr(){var t=this._data;return this._milliseconds=$i(this._milliseconds),this._days=$i(this._days),this._months=$i(this._months),t.milliseconds=$i(t.milliseconds),t.seconds=$i(t.seconds),t.minutes=$i(t.minutes),t.hours=$i(t.hours),t.months=$i(t.months),t.years=$i(t.years),this}function _r(t,e,n,r){var i=Be(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function gr(t,e){return _r(this,t,e,1)}function yr(t,e){return _r(this,t,e,-1)}function vr(t){return 0>t?Math.floor(t):Math.ceil(t)}function wr(){var t,e,n,r,i,o=this._milliseconds,s=this._days,a=this._months,u=this._data;return o>=0&&s>=0&&a>=0||0>=o&&0>=s&&0>=a||(o+=864e5*vr(br(a)+s),s=0,a=0),u.milliseconds=o%1e3,t=m(o/1e3),u.seconds=t%60,e=m(t/60),u.minutes=e%60,n=m(e/60),u.hours=n%24,s+=m(n/24),i=m(Sr(s)),a+=i,s-=vr(br(i)),r=m(a/12),a%=12,u.days=s,u.months=a,u.years=r,this}function Sr(t){return 4800*t/146097}function br(t){return 146097*t/4800}function Dr(t){var e,n,r=this._milliseconds;if(t=E(t),"month"===t||"year"===t)return e=this._days+r/864e5,n=this._months+Sr(e),"month"===t?n:n/12;switch(e=this._days+Math.round(br(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}}function Mr(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12)}function xr(t){return function(){return this.as(t)}}function Er(t){return t=E(t),this[t+"s"]()}function Tr(t){return function(){return this._data[t]}}function Yr(){return m(this.days()/7)}function kr(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function Or(t,e,n){var r=Be(t).abs(),i=fo(r.as("s")),o=fo(r.as("m")),s=fo(r.as("h")),a=fo(r.as("d")),u=fo(r.as("M")),c=fo(r.as("y")),l=i0,l[4]=n,kr.apply(null,l)}function Cr(t,e){return void 0===ho[t]?!1:void 0===e?ho[t]:(ho[t]=e,!0)}function Jr(t){var e=this.localeData(),n=Or(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Pr(){var t,e,n,r=po(this._milliseconds)/1e3,i=po(this._days),o=po(this._months);t=m(r/60),e=m(t/60),r%=60,t%=60,n=m(o/12),o%=12;var s=n,a=o,u=i,c=e,l=t,f=r,h=this.asSeconds();return h?(0>h?"-":"")+"P"+(s?s+"Y":"")+(a?a+"M":"")+(u?u+"D":"")+(c||l||f?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(f?f+"S":""):"P0D"}var Hr,jr,Lr=t.momentProperties=[],Fr=!1,Nr={},Ar={},Ur=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Wr=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Gr={},Ir={},zr=/\d/,Zr=/\d\d/,qr=/\d{3}/,Rr=/\d{4}/,Vr=/[+-]?\d{6}/,$r=/\d\d?/,Br=/\d{1,3}/,Xr=/\d{1,4}/,Qr=/[+-]?\d{1,6}/,Kr=/\d+/,ti=/[+-]?\d+/,ei=/Z|[+-]\d\d:?\d\d/gi,ni=/[+-]?\d+(\.\d{1,3})?/,ri=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ii={},oi={},si=0,ai=1,ui=2,ci=3,li=4,fi=5,hi=6;P("M",["MM",2],"Mo",function(){return this.month()+1}),P("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),P("MMMM",0,0,function(t){return this.localeData().months(this,t)}),x("month","M"),A("M",$r),A("MM",$r,Zr),A("MMM",ri),A("MMMM",ri),G(["M","MM"],function(t,e){e[ai]=_(t)-1}),G(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[ai]=i:c(n).invalidMonth=t});var di="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),pi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),mi={};t.suppressDeprecationWarnings=!1;var _i=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,gi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],yi=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],vi=/^\/?Date\((\-?\d+)/i;t.createFromInputFallback=te("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),P(0,["YY",2],0,function(){return this.year()%100}),P(0,["YYYY",4],0,"year"),P(0,["YYYYY",5],0,"year"),P(0,["YYYYYY",6,!0],0,"year"),x("year","y"),A("Y",ti),A("YY",$r,Zr),A("YYYY",Xr,Rr),A("YYYYY",Qr,Vr),A("YYYYYY",Qr,Vr),G(["YYYYY","YYYYYY"],si),G("YYYY",function(e,n){n[si]=2===e.length?t.parseTwoDigitYear(e):_(e)}),G("YY",function(e,n){n[si]=t.parseTwoDigitYear(e)}),t.parseTwoDigitYear=function(t){return _(t)+(_(t)>68?1900:2e3)};var wi=Y("FullYear",!1);P("w",["ww",2],"wo","week"),P("W",["WW",2],"Wo","isoWeek"),x("week","w"),x("isoWeek","W"),A("w",$r),A("ww",$r,Zr),A("W",$r),A("WW",$r,Zr),I(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=_(t)});var Si={dow:0,doy:6};P("DDD",["DDDD",3],"DDDo","dayOfYear"),x("dayOfYear","DDD"),A("DDD",Br),A("DDDD",qr),G(["DDD","DDDD"],function(t,e,n){n._dayOfYear=_(t)}),t.ISO_8601=function(){};var bi=te("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=ke.apply(null,arguments);return this>t?this:t}),Di=te("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=ke.apply(null,arguments);return t>this?this:t});je("Z",":"),je("ZZ",""),A("Z",ei),A("ZZ",ei),G(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Le(t)});var Mi=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var xi=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ei=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Be.fn=Pe.prototype;var Ti=tn(1,"add"),Yi=tn(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ki=te("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});P(0,["gg",2],0,function(){return this.weekYear()%100}),P(0,["GG",2],0,function(){return this.isoWeekYear()%100}),On("gggg","weekYear"),On("ggggg","weekYear"),On("GGGG","isoWeekYear"),On("GGGGG","isoWeekYear"),x("weekYear","gg"),x("isoWeekYear","GG"),A("G",ti),A("g",ti),A("GG",$r,Zr),A("gg",$r,Zr),A("GGGG",Xr,Rr),A("gggg",Xr,Rr),A("GGGGG",Qr,Vr),A("ggggg",Qr,Vr),I(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=_(t)}),I(["gg","GG"],function(e,n,r,i){n[i]=t.parseTwoDigitYear(e)}),P("Q",0,0,"quarter"),x("quarter","Q"),A("Q",zr),G("Q",function(t,e){e[ai]=3*(_(t)-1)}),P("D",["DD",2],"Do","date"),x("date","D"),A("D",$r),A("DD",$r,Zr),A("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),G(["D","DD"],ui),G("Do",function(t,e){e[ui]=_(t.match($r)[0],10)});var Oi=Y("Date",!0);P("d",0,"do","day"),P("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),P("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),P("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),P("e",0,0,"weekday"),P("E",0,0,"isoWeekday"),x("day","d"),x("weekday","e"),x("isoWeekday","E"),A("d",$r),A("e",$r),A("E",$r),A("dd",ri),A("ddd",ri),A("dddd",ri),I(["dd","ddd","dddd"],function(t,e,n){var r=n._locale.weekdaysParse(t);null!=r?e.d=r:c(n).invalidWeekday=t}),I(["d","e","E"],function(t,e,n,r){e[r]=_(t)});var Ci="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ji="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Pi="Su_Mo_Tu_We_Th_Fr_Sa".split("_");P("H",["HH",2],0,"hour"),P("h",["hh",2],0,function(){return this.hours()%12||12}),Zn("a",!0),Zn("A",!1),x("hour","h"),A("a",qn),A("A",qn),A("H",$r),A("h",$r),A("HH",$r,Zr),A("hh",$r,Zr),G(["H","HH"],ci),G(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),G(["h","hh"],function(t,e,n){e[ci]=_(t),c(n).bigHour=!0});var Hi=/[ap]\.?m?\.?/i,ji=Y("Hours",!0);P("m",["mm",2],0,"minute"),x("minute","m"),A("m",$r),A("mm",$r,Zr),G(["m","mm"],li);var Li=Y("Minutes",!1);P("s",["ss",2],0,"second"),x("second","s"),A("s",$r),A("ss",$r,Zr),G(["s","ss"],fi);var Fi=Y("Seconds",!1);P("S",0,0,function(){return~~(this.millisecond()/100)}),P(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),P(0,["SSS",3],0,"millisecond"),P(0,["SSSS",4],0,function(){return 10*this.millisecond()}),P(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),P(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),P(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),P(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),P(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),x("millisecond","ms"),A("S",Br,zr),A("SS",Br,Zr),A("SSS",Br,qr);var Ni;for(Ni="SSSS";Ni.length<=9;Ni+="S")A(Ni,Kr);for(Ni="S";Ni.length<=9;Ni+="S")G(Ni,$n);var Ai=Y("Milliseconds",!1);P("z",0,0,"zoneAbbr"),P("zz",0,0,"zoneName");var Ui=d.prototype;Ui.add=Ti,Ui.calendar=nn,Ui.clone=rn,Ui.diff=cn,Ui.endOf=Sn,Ui.format=dn,Ui.from=pn,Ui.fromNow=mn,Ui.to=_n,Ui.toNow=gn,Ui.get=C,Ui.invalidAt=kn,Ui.isAfter=on,Ui.isBefore=sn,Ui.isBetween=an,Ui.isSame=un,Ui.isValid=Tn,Ui.lang=ki,Ui.locale=yn,Ui.localeData=vn,Ui.max=Di,Ui.min=bi,Ui.parsingFlags=Yn,Ui.set=C,Ui.startOf=wn,Ui.subtract=Yi,Ui.toArray=xn,Ui.toObject=En,Ui.toDate=Mn,Ui.toISOString=hn,Ui.toJSON=hn,Ui.toString=fn,Ui.unix=Dn,Ui.valueOf=bn,Ui.year=wi,Ui.isLeapYear=ue,Ui.weekYear=Jn,Ui.isoWeekYear=Pn,Ui.quarter=Ui.quarters=Ln,Ui.month=B,Ui.daysInMonth=X,Ui.week=Ui.weeks=de,Ui.isoWeek=Ui.isoWeeks=pe,Ui.weeksInYear=jn,Ui.isoWeeksInYear=Hn,Ui.date=Oi,Ui.day=Ui.days=Gn,Ui.weekday=In,Ui.isoWeekday=zn,Ui.dayOfYear=_e,Ui.hour=Ui.hours=ji,Ui.minute=Ui.minutes=Li,Ui.second=Ui.seconds=Fi,Ui.millisecond=Ui.milliseconds=Ai,Ui.utcOffset=Ae,Ui.utc=We,Ui.local=Ge,Ui.parseZone=Ie,Ui.hasAlignedHourOffset=ze,Ui.isDST=Ze,Ui.isDSTShifted=qe,Ui.isLocal=Re,Ui.isUtcOffset=Ve,Ui.isUtc=$e,Ui.isUTC=$e,Ui.zoneAbbr=Bn,Ui.zoneName=Xn,Ui.dates=te("dates accessor is deprecated. Use date instead.",Oi),Ui.months=te("months accessor is deprecated. Use month instead",B),Ui.years=te("years accessor is deprecated. Use year instead",wi),Ui.zone=te("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ue);var Wi=Ui,Gi={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ii={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},zi="Invalid date",Zi="%d",qi=/\d{1,2}/,Ri={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Vi=y.prototype;Vi._calendar=Gi,Vi.calendar=tr,Vi._longDateFormat=Ii,Vi.longDateFormat=er,Vi._invalidDate=zi,Vi.invalidDate=nr,Vi._ordinal=Zi,Vi.ordinal=rr,Vi._ordinalParse=qi,Vi.preparse=ir,Vi.postformat=ir,Vi._relativeTime=Ri,Vi.relativeTime=or,Vi.pastFuture=sr,Vi.set=ar,Vi.months=q,Vi._months=di,Vi.monthsShort=R,Vi._monthsShort=pi,Vi.monthsParse=V,Vi.week=le,Vi._week=Si,Vi.firstDayOfYear=he,Vi.firstDayOfWeek=fe,Vi.weekdays=Nn,Vi._weekdays=Ci,Vi.weekdaysMin=Un,Vi._weekdaysMin=Pi,Vi.weekdaysShort=An,Vi._weekdaysShort=Ji,Vi.weekdaysParse=Wn,Vi.isPM=Rn,Vi._meridiemParse=Hi,Vi.meridiem=Vn,b("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),t.lang=te("moment.lang is deprecated. Use moment.locale instead.",b),t.langData=te("moment.langData is deprecated. Use moment.localeData instead.",M);var $i=Math.abs,Bi=xr("ms"),Xi=xr("s"),Qi=xr("m"),Ki=xr("h"),to=xr("d"),eo=xr("w"),no=xr("M"),ro=xr("y"),io=Tr("milliseconds"),oo=Tr("seconds"),so=Tr("minutes"),ao=Tr("hours"),uo=Tr("days"),co=Tr("months"),lo=Tr("years"),fo=Math.round,ho={s:45,m:45,h:22,d:26,M:11},po=Math.abs,mo=Pe.prototype;mo.abs=mr,mo.add=gr,mo.subtract=yr,mo.as=Dr,mo.asMilliseconds=Bi,mo.asSeconds=Xi,mo.asMinutes=Qi,mo.asHours=Ki,mo.asDays=to,mo.asWeeks=eo,mo.asMonths=no,mo.asYears=ro,mo.valueOf=Mr,mo._bubble=wr,mo.get=Er,mo.milliseconds=io,mo.seconds=oo,mo.minutes=so,mo.hours=ao,mo.days=uo,mo.weeks=Yr,mo.months=co,mo.years=lo,mo.humanize=Jr,mo.toISOString=Pr,mo.toString=Pr,mo.toJSON=Pr,mo.locale=yn,mo.localeData=vn,mo.toIsoString=te("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Pr),mo.lang=ki,P("X",0,0,"unix"),P("x",0,0,"valueOf"),A("x",ti),A("X",ni),G("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,n){n._d=new Date(_(t))}),t.version="2.10.5",e(ke),t.fn=Wi,t.min=Ce,t.max=Je,t.utc=a,t.unix=Qn,t.months=lr,t.isDate=r,t.locale=b,t.invalid=f,t.duration=Be,t.isMoment=p,t.weekdays=hr,t.parseZone=Kn,t.localeData=M,t.isDuration=He,t.monthsShort=fr,t.weekdaysMin=pr,t.defineLocale=D,t.weekdaysShort=dr,t.normalizeUnits=E,t.relativeTimeThreshold=Cr;var _o=t;return _o}),function(){var rsplit=function(t,e){for(var n,r,i,o=e.exec(t),s=new Array;null!=o;)n=o.index,r=e.lastIndex,0!=n&&(i=t.substring(0,n),s.push(t.substring(0,n)),t=t.slice(n)),s.push(o[0]),t=t.slice(o[0].length),o=e.exec(t);return""==!t&&s.push(t),s},chop=function(t){return t.substr(0,t.length-1)},extend=function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};EJS=function(t){if(t="string"==typeof t?{view:t}:t,this.set_options(t),t.precompiled)return this.template={},this.template.process=t.precompiled,void EJS.update(this.name,this);if(t.element){if("string"==typeof t.element){var e=t.element;if(t.element=document.getElementById(t.element),null==t.element)throw e+"does not exist!"}this.text=t.element.value?t.element.value:t.element.innerHTML,this.name=t.element.id,this.type="["}else if(t.url){t.url=EJS.endExt(t.url,this.extMatch),this.name=this.name?this.name:t.url;var n=t.url,r=EJS.get(this.name,this.cache);if(r)return r;if(r==EJS.INVALID_PATH)return null;try{this.text=EJS.request(n+(this.cache?"":"?"+Math.random()))}catch(i){}if(null==this.text)throw{type:"EJS",message:"There is no template at "+n}}var r=new EJS.Compiler(this.text,this.type);r.compile(t,this.name),EJS.update(this.name,this),this.template=r},EJS.prototype={render:function(t,e){t=t||{},this._extra_helpers=e;var n=new EJS.Helpers(t,e||{});return this.template.process.call(t,t,n)},update:function(element,options){return"string"==typeof element&&(element=document.getElementById(element)),null==options?(_template=this,function(t){EJS.prototype.update.call(_template,element,t)}):void("string"==typeof options?(params={},params.url=options,_template=this,params.onComplete=function(request){var object=eval(request.responseText);EJS.prototype.update.call(_template,element,object)},EJS.ajax_request(params)):element.innerHTML=this.render(options))},out:function(){return this.template.out},set_options:function(t){this.type=t.type||EJS.type,this.cache=null!=t.cache?t.cache:EJS.cache,this.text=t.text||null,this.name=t.name||null,this.ext=t.ext||EJS.ext,this.extMatch=new RegExp(this.ext.replace(/\./,"."))}},EJS.endExt=function(t,e){return t?(e.lastIndex=0,t+(e.test(t)?"":this.ext)):null},EJS.Scanner=function(t,e,n){extend(this,{left_delimiter:e+"%",right_delimiter:"%"+n,double_left:e+"%%",double_right:"%%"+n,left_equal:e+"%=",left_comment:e+"%#"}),this.SplitRegexp="["==e?/(\[%%)|(%%\])|(\[%=)|(\[%#)|(\[%)|(%\]\n)|(%\])|(\n)/:new RegExp("("+this.double_left+")|(%%"+this.double_right+")|("+this.left_equal+")|("+this.left_comment+")|("+this.left_delimiter+")|("+this.right_delimiter+"\n)|("+this.right_delimiter+")|(\n)"),this.source=t,this.stag=null,this.lines=0},EJS.Scanner.to_text=function(t){return null==t||void 0===t?"":t instanceof Date?t.toDateString():t.toString?t.toString():""},EJS.Scanner.prototype={scan:function(t){if(scanline=this.scanline,regex=this.SplitRegexp,""==!this.source)for(var e=rsplit(this.source,/\n/),n=0;n0){for(var t=0;t0&&buff.push(put_cmd+'"'+clean(content)+'")'),content="";break;case e.double_left:content+=e.left_delimiter;break;default:content+=t}else switch(t){case e.right_delimiter:switch(e.stag){case e.left_delimiter:"\n"==content[content.length-1]?(content=chop(content),buff.push(content),buff.cr()):buff.push(content);break;case e.left_equal:buff.push(insert_cmd+"(EJS.Scanner.to_text("+content+")))")}e.stag=null,content="";break;case e.double_right:content+=e.right_delimiter;break;default:content+=t}}),content.length>0&&buff.push(put_cmd+'"'+clean(content)+'")'),buff.close(),this.out=buff.script+";";var to_be_evaled="/*"+name+"*/this.process = function(_CONTEXT,_VIEW) { try { with(_VIEW) { with (_CONTEXT) {"+this.out+" return ___ViewO.join('');}}}catch(e){e.lineNumber=null;throw e;}};";try{eval(to_be_evaled)}catch(e){if("undefined"==typeof JSLINT)throw e;JSLINT(this.out);for(var i=0;i").replace(/''/g,"'"):""}},EJS.newRequest=function(){for(var t=[function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new XMLHttpRequest},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],e=0;ec;c++)r.push({value:c,text:c});for(var l=0;12>l;l++)i.push({value:l,text:n[l]});for(var f=0;31>f;f++)o.push({value:f+1,text:f+1});var h=this.select_tag(t+"[year]",s,r,{id:t+"[year]"}),d=this.select_tag(t+"[month]",a,i,{id:t+"[month]"}),p=this.select_tag(t+"[day]",u,o,{id:t+"[day]"});return h+d+p},EJS.Helpers.prototype.form_tag=function(t,e){return e=e||{},e.action=t,1==e.multipart&&(e.method="post",e.enctype="multipart/form-data"),this.start_tag_for("form",e)},EJS.Helpers.prototype.form_tag_end=function(){return this.tag_end("form")},EJS.Helpers.prototype.hidden_field_tag=function(t,e,n){return this.input_field_tag(t,e,"hidden",n)},EJS.Helpers.prototype.input_field_tag=function(t,e,n,r){return r=r||{},r.id=r.id||t,r.value=e||"",r.type=n||"text",r.name=t,this.single_tag_for("input",r)},EJS.Helpers.prototype.is_current_page=function(t){return window.location.href==t||window.location.pathname==t?!0:!1},EJS.Helpers.prototype.link_to=function(t,e,n){if(!t)var t="null";if(!n)var n={};return n.confirm&&(n.onclick=' var ret_confirm = confirm("'+n.confirm+'"); if(!ret_confirm){ return false;} ',n.confirm=null),n.href=e,this.start_tag_for("a",n)+t+this.tag_end("a")},EJS.Helpers.prototype.submit_link_to=function(t,e,n){if(!t)var t="null";if(!n)var n={};return n.onclick=n.onclick||"",n.confirm&&(n.onclick=' var ret_confirm = confirm("'+n.confirm+'"); if(!ret_confirm){ return false;} ',n.confirm=null),n.value=t,n.type="submit",n.onclick=n.onclick+(e?this.url_for(e):"")+"return false;",this.start_tag_for("input",n)},EJS.Helpers.prototype.link_to_if=function(t,e,n,r,i,o){return this.link_to_unless(0==t,e,n,r,i,o)},EJS.Helpers.prototype.link_to_unless=function(t,e,n,r,i){return r=r||{},t?i&&"function"==typeof i?i(e,n,r,i):e:this.link_to(e,n,r)},EJS.Helpers.prototype.link_to_unless_current=function(t,e,n,r){return n=n||{},this.link_to_unless(this.is_current_page(e),t,e,n,r)},EJS.Helpers.prototype.password_field_tag=function(t,e,n){return this.input_field_tag(t,e,"password",n)},EJS.Helpers.prototype.select_tag=function(t,e,n,r){r=r||{},r.id=r.id||t,r.value=e,r.name=t;var i="";i+=this.start_tag_for("select",r);for(var o=0;o")},EJS.Helpers.prototype.start_tag_for=function(t,e){return this.tag(t,e)},EJS.Helpers.prototype.submit_tag=function(t,e){return e=e||{},e.type=e.type||"submit",e.value=t||"Submit",this.single_tag_for("input",e)},EJS.Helpers.prototype.tag=function(t,e,n){if(!n)var n=">";var r=" ";for(var i in e){if(null!=e[i])var o=e[i].toString();else var o="";"Class"==i&&(i="class"),r+=-1!=o.indexOf("'")?i+'="'+o+'" ':i+"='"+o+"' "}return"<"+t+r+n},EJS.Helpers.prototype.tag_end=function(t){return""},EJS.Helpers.prototype.text_area_tag=function(t,e,n){return n=n||{},n.id=n.id||t,n.name=n.name||t,e=e||"",n.size&&(n.cols=n.size.split("x")[0],n.rows=n.size.split("x")[1],delete n.size),n.cols=n.cols||50,n.rows=n.rows||4,this.start_tag_for("textarea",n)+e+this.tag_end("textarea")},EJS.Helpers.prototype.text_tag=EJS.Helpers.prototype.text_area_tag,EJS.Helpers.prototype.text_field_tag=function(t,e,n){return this.input_field_tag(t,e,"text",n)},EJS.Helpers.prototype.url_for=function(t){return'window.location="'+t+'";'},EJS.Helpers.prototype.img_tag=function(t,e,n){return n=n||{},n.src=t,n.alt=e,this.single_tag_for("img",n)}; diff --git a/app/src/main/assets/js/zprogress.js b/app/src/main/assets/js/zprogress.js new file mode 100644 index 0000000..ee3ed93 --- /dev/null +++ b/app/src/main/assets/js/zprogress.js @@ -0,0 +1,74 @@ +// zprogress (c) 2013 Thomas Fuchs +// MIT-licensed - https://github.com/madrobby/zprogress + +;(function($){ + var html = + ''+ + '
', + $wrapper, $indicator, value, timeout, + MARGIN = 12.5, + LMARGIN = MARGIN/100, + RMARGIN = 1 - LMARGIN + + function init(){ + if($wrapper) return + + $('body').append(html) + $wrapper = $('#zprogress') + $indicator = $('#zprogress_indicator') + } + + function anim(){ + $indicator.animate({ translateX: value*100+'%' }, 200) + } + + function clear(){ + if(timeout) clearTimeout(timeout) + timeout = undefined + } + + function trickle(){ + timeout = setTimeout(function(){ + $.zprogress.inc((RMARGIN-value)*.035*Math.random()) + trickle() + }, 350+(400*Math.random())) + } + + $.zprogress = { + start: function(){ + init() + clear() + value = LMARGIN + $wrapper.animate({ opacity: 1 }) + $indicator.animate({ translateX: '0%' }, 0) + setTimeout(function(){ + anim() + trickle() + },0) + }, + inc: function(delta){ + if(value= android.os.Build.VERSION_CODES.KITKAT) { + mWebView.evaluateJavascript("APP.refresh();", null); + } else { + mWebView.loadUrl("javascript:APP.refresh();"); + } + } + + public void doClear() { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { + mWebView.evaluateJavascript("APP.clearFeed();", null); + } else { + mWebView.loadUrl("javascript:APP.clearFeed();"); + } + } + + class JsObject { + Context mContext; + + @JavascriptInterface + public String toString() { + return "injectedObject"; + } + + @JavascriptInterface + public void showToast(String toast) { + Toast.makeText(getApplicationContext(), toast, Toast.LENGTH_SHORT).show(); + } + + @JavascriptInterface + public void showProgress() { + MainActivity.this.runOnUiThread(new Runnable() { + public void run() { + ProgressBar pb = (ProgressBar) findViewById(R.id.pbLoading); + pb.setVisibility(ProgressBar.VISIBLE); + } + }); + + } + + + @JavascriptInterface + public void hideProgress() { + MainActivity.this.runOnUiThread(new Runnable() { + public void run() { + ProgressBar pb = (ProgressBar) findViewById(R.id.pbLoading); + pb.setVisibility(ProgressBar.INVISIBLE); + } + }); + } + + @JavascriptInterface + public String getJson(String feedName) { + + String parsedString = ""; + + try { + + URL url = new URL("http://pipes.silvrtree.co.uk" + feedName); + URLConnection conn = url.openConnection(); + + HttpURLConnection httpConn = (HttpURLConnection) conn; + httpConn.setAllowUserInteraction(false); + httpConn.setInstanceFollowRedirects(true); + httpConn.setRequestMethod("GET"); + httpConn.connect(); + + InputStream is = httpConn.getInputStream(); + parsedString = convertinputStreamToString(is); + + + } catch (Exception e) { + e.printStackTrace(); + } + return parsedString; + } + + @JavascriptInterface + public boolean isNetworkAvailable() { + ConnectivityManager connectivityManager + = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); + return activeNetworkInfo != null && activeNetworkInfo.isConnected(); + } + } + + + private void threadShowProgress() { + ProgressBar pb = (ProgressBar) findViewById(R.id.pbLoading); + pb.setVisibility(ProgressBar.VISIBLE); + + } + + + public static String convertinputStreamToString(InputStream ists) + throws IOException { + if (ists != null) { + StringBuilder sb = new StringBuilder(); + String line; + + try { + BufferedReader r1 = new BufferedReader(new InputStreamReader( + ists, "UTF-8")); + while ((line = r1.readLine()) != null) { + sb.append(line).append("\n"); + } + } finally { + ists.close(); + } + return sb.toString(); + } else { + return ""; + } + } + + +} diff --git a/app/src/main/res/layout-v21/activity_main.xml b/app/src/main/res/layout-v21/activity_main.xml new file mode 100644 index 0000000..b00ad15 --- /dev/null +++ b/app/src/main/res/layout-v21/activity_main.xml @@ -0,0 +1,24 @@ + + tools:ignore="MergeRootFrame"> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..c10747e --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,27 @@ + + + ]]> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml new file mode 100644 index 0000000..ebf1eb6 --- /dev/null +++ b/app/src/main/res/menu/menu_main.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca384576c76ac344af7feee1d952d1da2c2ee5c GIT binary patch literal 3726 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 Q*Z=?k07*qoM6N<$f~0+*h5!Hn literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cdb178f71fb9c13bca36c6b9825f8909b0930a42 GIT binary patch literal 4913 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 z zx3+LzEZ;<9O;uBeVnQ!J$<*OUO7pp=at zKlzv{<+v+Aet|ezL0EeEav^2W%^+dzNIgOPvWblOB}hrS+yQq-*W`(3_U`D9KB%j2 zX)5THdwaSP31ad5_>&Mrg4|j~K9dTpahrT?z+YCv&-?`Z{a@ErA3TuX0f78&$scf# zB0;WDR+NPG3H~wx^NzrL+l7e}|NY6xt*3f>`qIyDFuSWPxgY*RbGt5ssf$DqrpqQ$ zM>n1Xr7C3_C;mpFe?k0iZ<>mo6)0FTL!q6R^xyyaKVN@+)DE(Tsg_c*bVFvZMaOMz zJ*sPMZO{DmulD}Dq}cRVS`8Bnv#d_8%7!OF4fy=*l}Jc;@ab2*v>GPlUkGK~8+86x z>o5EMwzc)Bx3x9;!*|K(nwY*z1Q_@4%C7#)_p3k6%{6S*X*IzJSOzR4OJzls>e9$k z;b~*sWw-_YB#6m;sX?R+8%6yY3z6LB5n4`5!?GHNVZ-4_#^|_r?6<#v^zNO0SO3wY z@VB>fKYFx!0%$!aPZpWK{(36sogbCHa^lG5U*+W*%ILn7hJHFjrU@M_zME2^Z2Uc} zg~dd1lqL#SAbMDk*qog9k9~V-@`E#HZ5J9F;ka`LRD~d0&aEhdmY$+3EwyBikGpg0 zs^sy=?5D<`%o6fZNVC4hS#k&u-Ii%w_EbU3)MBt_Vg86(MMuZ!*kawsRq7z~9LydDpz zK#9OtE?Qj$cmy_qPO%3fBZGv`D#lqC$f}qm{d^(o@qlU>33U1+v7@;2Wp$#82NURY zBEHYy^DuG0;I*{lRRjOD1gPL>ql+2@zVGr|4Mxwk&jta{6<+1RHwaM1=(+aTAmF*e jt33Dy0m>LX*B<{5%K&W^9)4Si00000NkvXXu0mjf)I&&o literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e930c4352e690607cdab37eddf17062f28441b2c GIT binary patch literal 7740 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 QCp{-XML|=(Ue+r7e@50o1^@s6 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..63fc816 --- /dev/null +++ b/app/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ + + + 64dp + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..47c8224 --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 16dp + 16dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..7338e4c --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + Feedmaster + + Settings + Refresh + View List + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..766ab99 --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..9405f3f --- /dev/null +++ b/build.gradle @@ -0,0 +1,19 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.3' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..1d3591c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,18 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8c0fb64a8698b08ecc4158d828ca593c4928e9dd GIT binary patch literal 49896 zcmagFb986H(k`5d^NVfUwr$(C?M#x1ZQHiZiEVpg+jrjgoQrerx!>1o_ul)D>ebz~ zs=Mmxr&>W81QY-S1PKWQ%N-;H^tS;2*XwVA`dej1RRn1z<;3VgfE4~kaG`A%QSPsR z#ovnZe+tS9%1MfeDyz`RirvdjPRK~p(#^q2(^5@O&NM19EHdvN-A&StN>0g6QA^VN z0Gx%Gq#PD$QMRFzmK+utjS^Y1F0e8&u&^=w5K<;4Rz|i3A=o|IKLY+g`iK6vfr9?+ z-`>gmU&i?FGSL5&F?TXFu`&Js6h;15QFkXp2M1H9|Eq~bpov-GU(uz%mH0n55wUl- zv#~ccAz`F5wlQ>e_KlJS3@{)B?^v*EQM=IxLa&76^y51a((wq|2-`qON>+4dLc{Oo z51}}o^Zen(oAjxDK7b++9_Yg`67p$bPo3~BCpGM7uAWmvIhWc5Gi+gQZ|Pwa-Gll@<1xmcPy z|NZmu6m)g5Ftu~BG&Xdxclw7Cij{xbBMBn-LMII#Slp`AElb&2^Hw+w>(3crLH!;I zN+Vk$D+wP1#^!MDCiad@vM>H#6+`Ct#~6VHL4lzmy;lSdk>`z6)=>Wh15Q2)dQtGqvn0vJU@+(B5{MUc*qs4!T+V=q=wy)<6$~ z!G>e_4dN@lGeF_$q9`Ju6Ncb*x?O7=l{anm7Eahuj_6lA{*#Gv*TaJclevPVbbVYu z(NY?5q+xxbO6%g1xF0r@Ix8fJ~u)VRUp`S%&rN$&e!Od`~s+64J z5*)*WSi*i{k%JjMSIN#X;jC{HG$-^iX+5f5BGOIHWAl*%15Z#!xntpk($-EGKCzKa zT7{siZ9;4TICsWQ$pu&wKZQTCvpI$Xvzwxoi+XkkpeE&&kFb!B?h2hi%^YlXt|-@5 zHJ~%AN!g_^tmn1?HSm^|gCE#!GRtK2(L{9pL#hp0xh zME}|DB>(5)`iE7CM)&_+S}-Bslc#@B5W4_+k4Cp$l>iVyg$KP>CN?SVGZ(&02>iZK zB<^HP$g$Lq*L$BWd?2(F?-MUbNWTJVQdW7$#8a|k_30#vHAD1Z{c#p;bETk0VnU5A zBgLe2HFJ3032$G<`m*OB!KM$*sdM20jm)It5OSru@tXpK5LT>#8)N!*skNu1$TpIw zufjjdp#lyH5bZ%|Iuo|iu9vG1HrIVWLH>278xo>aVBkPN3V$~!=KnlXQ4eDqS7%E% zQ!z^$Q$b^6Q)g#cLpwur(|<0gWHo6A6jc;n`t(V9T;LzTAU{IAu*uEQ%Ort1k+Kn+f_N`9|bxYC+~Z1 zCC1UCWv*Orx$_@ydv9mIe(liLfOr7mhbV@tKw{6)q^1DH1nmvZ0cj215R<~&I<4S| zgnr;9Cdjqpz#o8i0CQjtl`}{c*P)aSdH|abxGdrR)-3z+02-eX(k*B)Uqv6~^nh** z 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':app'