I disagree with the hardcoded versions being bad, the obvious concern I have being the repeatability of the build.
I'd also like to note that we release source as the Apache release artifacts, anything else we put out is convenience. Say we have a situation where we rely on library Foo version 2.0+. At version 3.0, they (or one of their deps) change license to a Cat-X license. At that point, any builds (and even prior released we have!) use the Cat-X dependency by default. That seems bad, but I have no idea what the standard Apache thinking on that is. On Fri, Aug 11, 2017 at 11:12 AM, RaghuMitra Kandikonda < raghumitra....@gmail.com> wrote: > I agree that we can have a separate discussion about moving to yarn. > Hardcoding all the versions in package.json is a bad idea considering that > JS world releases happen very frequently and it's easy to miss on a good > feature. > > All the ASF projected that I know of have moved to yarn and not hard coded > the versions in package.json file. I can fix the current issue and start a > discussion about Yarn. The yarn migration is pretty straightforward ( which > I should have done in the first place) we can have it in before we have > another build casualty. > > What do you guys say ?. > > -Raghu Mitra > > On Fri, Aug 11, 2017 at 8:24 PM, Nick Allen <n...@nickallen.org> wrote: > > > Yes, I agree Justin. I think we need to have another (maybe separate?) > > discussion on changing the dependency tool set and discuss pros and cons. > > > > On Fri, Aug 11, 2017 at 10:45 AM Justin Leet <justinjl...@gmail.com> > > wrote: > > > > > I'm honestly not very familiar with this stuff, but this seems more > like > > a > > > "how we use it issue", rather than an issue with the tech itself. Do > we > > > have a more compelling reason, or set of reasons, beyond just fixing to > > > specific version of our dependencies? > > > > > > On Fri, Aug 11, 2017 at 10:37 AM, Nick Allen <n...@nickallen.org> > wrote: > > > > > > > And I suggest that as a short-term (or medium-term) fix, separate > from > > > > moving wholesale to another dependency mechanism. > > > > > > > > > > > > > > > > On Fri, Aug 11, 2017 at 10:36 AM Nick Allen <n...@nickallen.org> > > wrote: > > > > > > > > > Would it make sense to just 'fix' at a specific version all NPM > > > > > dependencies, instead of allowing any version after x.y.z ? > > > > > > > > > > > > > > > > > > > > On Fri, Aug 11, 2017 at 10:34 AM Casey Stella <ceste...@gmail.com> > > > > wrote: > > > > > > > > > >> I agree; we should have a long-term JIRA for moving to yarn (so > > > > confusing > > > > >> *sigh*) and a tactical JIRA + PR to fix the build. We should > > > prioritize > > > > >> review of that tactical JIRA. > > > > >> > > > > >> Casey > > > > >> > > > > >> On Fri, Aug 11, 2017 at 10:19 AM, Otto Fowler < > > > ottobackwa...@gmail.com> > > > > >> wrote: > > > > >> > > > > >> > Can you create a jira for moving to yarn please. > > > > >> > > > > > >> > > > > > >> > On August 11, 2017 at 10:17:40, Otto Fowler ( > > > ottobackwa...@gmail.com) > > > > >> > wrote: > > > > >> > > > > > >> > Are there any other NPM modules where we are exposed to this > risk? > > > > >> > > > > > >> > > > > > >> > On August 11, 2017 at 10:11:22, RaghuMitra Kandikonda ( > > > > >> > raghumitra....@gmail.com) wrote: > > > > >> > > > > > >> > Ok, Bootstrap made a release 10hrs ago and they removed few > files > > > that > > > > >> we > > > > >> > were using hence the issue. We need to update package.json in > > > > >> metron-alerts > > > > >> > to use bootstrap '4.0.0-alpha.6' not any version after that. So > > the > > > > >> change > > > > >> > would be metron-alerts/package.json:25 change bootstrap from > > > > >> > '^4.0.0-alpha.6' to '4.0.0-alpha.6'. > > > > >> > > > > > >> > The long term fix should be to move to a better build tool like > > > > 'yarn' ( > > > > >> > https://yarnpkg.com/en/) instead of npm. But for now, i will > > > submit a > > > > >> PR > > > > >> > to > > > > >> > fix the bootstrap version. > > > > >> > > > > > >> > If you wish to test the fix locally or have a working build > before > > > > >> taking > > > > >> > my PR, edit package.json file and run 'npm install' and run 'npm > > run > > > > >> > build'. > > > > >> > > > > > >> > https://github.com/twbs/bootstrap/releases > > > > >> > > > > > >> > -Raghu Mitra > > > > >> > > > > > >> > On Fri, Aug 11, 2017 at 7:25 PM, Otto Fowler < > > > ottobackwa...@gmail.com > > > > > > > > > >> > wrote: > > > > >> > > > > > >> > > Where are the bootstrap files? > > > > >> > > > > > > >> > > the @import ~bootstrap/….. looks like it is failing? > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > On August 11, 2017 at 09:51:03, RaghuMitra Kandikonda ( > > > > >> > > raghumitra....@gmail.com) wrote: > > > > >> > > > > > > >> > > I am running a clean install now, I will keep you posted. > > > > >> > > > > > > >> > > -Raghu Mitra > > > > >> > > > > > > >> > > On Fri, Aug 11, 2017 at 7:02 PM, Casey Stella < > > ceste...@gmail.com > > > > > > > > >> > wrote: > > > > >> > > > > > > >> > > > Yes, I'm getting it locally too, here's more context: > > > > >> > > > > > > > >> > > > [INFO] ERROR in multi script-loader!./~/jquery/dist/ > jquery.js > > > > >> > > > script-loader!./~/tether/dist/js/tether.js > > > > >> > > > script-loader!./~/ace-builds/src-noconflict/ace.js > > > > >> > > > [INFO] Module not found: Error: Can't resolve > > > > >> > > > '/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/jquery/dist/jquery.js' > > > > >> > > > in > > > > >> > > > '/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/@angular/cli/models/ > > > > >> > > webpack-configs' > > > > >> > > > [INFO] @ multi script-loader!./~/jquery/dist/jquery.js > > > > >> > > > script-loader!./~/tether/dist/js/tether.js > > > > >> > > > script-loader!./~/ace-builds/src-noconflict/ace.js > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in multi script-loader!./~/jquery/dist/ > jquery.js > > > > >> > > > script-loader!./~/tether/dist/js/tether.js > > > > >> > > > script-loader!./~/ace-builds/src-noconflict/ace.js > > > > >> > > > [INFO] Module not found: Error: Can't resolve > > > > >> > > > '/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/tether/dist/js/tether. > > js' > > > > >> > > > in > > > > >> > > > '/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/@angular/cli/models/ > > > > >> > > webpack-configs' > > > > >> > > > [INFO] @ multi script-loader!./~/jquery/dist/jquery.js > > > > >> > > > script-loader!./~/tether/dist/js/tether.js > > > > >> > > > script-loader!./~/ace-builds/src-noconflict/ace.js > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in ./src/vendor.scss > > > > >> > > > [INFO] Module build failed: > > > > >> > > > [INFO] @import "~bootstrap/scss/normalize"; > > > > >> > > > [INFO] ^ > > > > >> > > > [INFO] File to import not found or unreadable: > > > > >> > > > ~bootstrap/scss/normalize. > > > > >> > > > [INFO] Parent style sheet: stdin > > > > >> > > > [INFO] in > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > (line 31, column 1) > > > > >> > > > [INFO] @ multi ./~/font-awesome/css/font-awesome.css > > > > >> ./src/vendor.scss > > > > >> > > > ./src/styles.scss > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in ./src/styles.scss > > > > >> > > > [INFO] Module build failed: > > > > >> > > > [INFO] @import "~bootstrap/scss/normalize"; > > > > >> > > > [INFO] ^ > > > > >> > > > [INFO] File to import not found or unreadable: > > > > >> > > > ~bootstrap/scss/normalize. > > > > >> > > > [INFO] Parent style sheet: > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > [INFO] in > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > (line 31, column 1) > > > > >> > > > [INFO] @ multi ./~/font-awesome/css/font-awesome.css > > > > >> ./src/vendor.scss > > > > >> > > > ./src/styles.scss > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in Child compilation failed: > > > > >> > > > [INFO] Module build failed: > > > > >> > > > [INFO] @import "~bootstrap/scss/normalize"; > > > > >> > > > [INFO] ^ > > > > >> > > > [INFO] File to import not found or unreadable: > > > > >> > > > ~bootstrap/scss/normalize. > > > > >> > > > [INFO] Parent style sheet: > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > [INFO] in > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > (line 31, column 1): > > > > >> > > > [INFO] Error: > > > > >> > > > [INFO] @import "~bootstrap/scss/normalize"; > > > > >> > > > [INFO] ^ > > > > >> > > > [INFO] File to import not found or unreadable: > > > > >> > > > ~bootstrap/scss/normalize. > > > > >> > > > [INFO] Parent style sheet: > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > [INFO] in > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > (line 31, column 1) > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in ./src/main.ts > > > > >> > > > [INFO] Module not found: Error: Can't resolve > > > > >> > > > './$$_gendir/app/app.module.ngfactory' in > > > > >> > > > '/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src' > > > > >> > > > [INFO] @ ./src/main.ts 20:0-74 > > > > >> > > > [INFO] @ multi ./src/main.ts > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in ./src/styles.scss > > > > >> > > > [INFO] Module build failed: ModuleBuildError: Module build > > > failed: > > > > >> > > > [INFO] @import "~bootstrap/scss/normalize"; > > > > >> > > > [INFO] ^ > > > > >> > > > [INFO] File to import not found or unreadable: > > > > >> > > > ~bootstrap/scss/normalize. > > > > >> > > > [INFO] Parent style sheet: > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > [INFO] in > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > (line 31, column 1) > > > > >> > > > [INFO] at runLoaders > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/webpack/lib/ > > > > >> > NormalModule.js:192:19) > > > > >> > > > [INFO] at > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/loader-runner/lib/ > > > > >> > > > LoaderRunner.js:364:11 > > > > >> > > > [INFO] at > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/loader-runner/lib/ > > > > >> > > > LoaderRunner.js:230:18 > > > > >> > > > [INFO] at context.callback > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/loader-runner/lib/ > > > > >> > > > LoaderRunner.js:111:13) > > > > >> > > > [INFO] at Object.asyncSassJobQueue.push [as callback] > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > > > > > >> interface/metron-alerts/node_modules/sass-loader/lib/ > > loader.js:55:13) > > > > >> > > > [INFO] at Object.<anonymous> > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > > > > interface/metron-alerts/node_modules/async/dist/async.js:2244:31) > > > > >> > > > [INFO] at Object.callback > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/async/dist/async.js: > > 906:16) > > > > >> > > > [INFO] at options.error > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/node-sass/lib/index. > > > > js:294:32) > > > > >> > > > [INFO] > > > > >> > > > [INFO] ERROR in ./src/vendor.scss > > > > >> > > > [INFO] Module build failed: ModuleBuildError: Module build > > > failed: > > > > >> > > > [INFO] @import "~bootstrap/scss/normalize"; > > > > >> > > > [INFO] ^ > > > > >> > > > [INFO] File to import not found or unreadable: > > > > >> > > > ~bootstrap/scss/normalize. > > > > >> > > > [INFO] Parent style sheet: stdin > > > > >> > > > [INFO] in > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/src/vendor.scss > > > > >> > > > (line 31, column 1) > > > > >> > > > [INFO] at runLoaders > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/webpack/lib/ > > > > >> > NormalModule.js:192:19) > > > > >> > > > [INFO] at > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/loader-runner/lib/ > > > > >> > > > LoaderRunner.js:364:11 > > > > >> > > > [INFO] at > > > > >> > > > /Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/loader-runner/lib/ > > > > >> > > > LoaderRunner.js:230:18 > > > > >> > > > [INFO] at context.callback > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/loader-runner/lib/ > > > > >> > > > LoaderRunner.js:111:13) > > > > >> > > > [INFO] at Object.asyncSassJobQueue.push [as callback] > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > > > > > >> interface/metron-alerts/node_modules/sass-loader/lib/ > > loader.js:55:13) > > > > >> > > > [INFO] at Object.<anonymous> > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > > > > interface/metron-alerts/node_modules/async/dist/async.js:2244:31) > > > > >> > > > [INFO] at Object.callback > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/async/dist/async.js: > > 906:16) > > > > >> > > > [INFO] at options.error > > > > >> > > > (/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node_modules/node-sass/lib/index. > > > > js:294:32) > > > > >> > > > > > > > >> > > > [ERROR] npm ERR! Darwin 15.5.0 > > > > >> > > > [ERROR] npm ERR! argv > > > > >> > > > "/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node/node" > > > > >> > > > "/Users/cstella/Documents/workspace/metron/fork/ > > > > >> > incubator-metron/metron- > > > > >> > > > interface/metron-alerts/node/node_modules/npm/bin/npm-cli. > js" > > > > >> > > > "run" "build" > > > > >> > > > [ERROR] npm ERR! node v7.10.0 > > > > >> > > > [ERROR] npm ERR! npm v4.2.0 > > > > >> > > > [ERROR] npm ERR! code ELIFECYCLE > > > > >> > > > > > > > >> > > > On Fri, Aug 11, 2017 at 9:24 AM, zeo...@gmail.com < > > > > zeo...@gmail.com > > > > >> > > > > > >> > > > wrote: > > > > >> > > > > > > > >> > > > > Master is failing with that right now. > > > > >> > > > > > > > > >> > > > > https://travis-ci.org/apache/metron#L2637 > > > > >> > > > > > > > > >> > > > > Jon > > > > >> > > > > > > > > >> > > > > On Fri, Aug 11, 2017 at 9:21 AM Otto Fowler < > > > > >> ottobackwa...@gmail.com > > > > >> > > > > > > >> > > > > wrote: > > > > >> > > > > > > > > >> > > > > > Has anyone seen this error in travis? I am going to > delete > > > my > > > > >> > caches > > > > >> > > > and > > > > >> > > > > > try again : > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Linux 4.4.0-83-generic > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! argv > > > > >> > > > > > > > > > >> > > > > > "/home/travis/build/ottobackwards/metron/metron- > > > > >> > > > > interface/metron-alerts/node/node" > > > > >> > > > > > > > > > >> > > > > > "/home/travis/build/ottobackwards/metron/metron- > > > > >> > > > > interface/metron-alerts/node/ > node_modules/npm/bin/npm-cli. > > js" > > > > >> > > > > > "run" "build" > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! node v7.10.0 > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! npm v4.2.0 > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! code ELIFECYCLE > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! errno 1 > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! metron-alerts@0.4.0 build: > > > > >> > > > > > `./node_modules/@angular/cli/bin/ng build -prod` > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Exit status 1 > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Failed at the metron-alerts@0.4.0 > build > > > > script > > > > >> > > > > > './node_modules/@angular/cli/bin/ng build -prod'. > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Make sure you have the latest version > of > > > > >> node.js > > > > >> > and > > > > >> > > > > > npm installed. > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! If you do, this is most likely a > problem > > > with > > > > >> the > > > > >> > > > > > metron-alerts package, > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! not with npm itself. > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Tell the author that this fails on your > > > > system: > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! ./node_modules/@angular/cli/bin/ng > build > > > > -prod > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! You can get information on how to open > an > > > > issue > > > > >> > for > > > > >> > > > > > this project with: > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! npm bugs metron-alerts > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Or if that isn't available, you can get > > > their > > > > >> info > > > > >> > > > via: > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! npm owner ls metron-alerts > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! There is likely additional logging > output > > > > >> above. > > > > >> > > > > > > > > > >> > > > > > [ERROR] > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! Please include the following file with > > any > > > > >> support > > > > >> > > > > > request: > > > > >> > > > > > > > > > >> > > > > > [ERROR] npm ERR! > > > > >> > > > > > /home/travis/.npm/_logs/2017- > > 08-11T12_59_10_840Z-debug.log > > > > >> > > > > > > > > > >> > > > > > [ERROR] Failed to execute goal > > > > >> > > > > > com.github.eirslett:frontend-maven-plugin:1.3:npm (ng > > build) > > > > on > > > > >> > > > > > project metron-alerts: Failed to run task: 'npm run > build' > > > > >> failed. > > > > >> > > > > > (error code 1) -> [Help 1] > > > > >> > > > > > > > > > >> > > > > > [ERROR] > > > > >> > > > > > > > > > >> > > > > > [ERROR] To see the full stack trace of the errors, > re-run > > > > Maven > > > > >> > with > > > > >> > > > > > the -e switch. > > > > >> > > > > > > > > > >> > > > > > [ERROR] Re-run Maven using the -X switch to enable full > > > debug > > > > >> > > logging. > > > > >> > > > > > > > > > >> > > > > > [ERROR] > > > > >> > > > > > > > > > >> > > > > > [ERROR] For more information about the errors and > possible > > > > >> > solutions, > > > > >> > > > > > please read the following articles: > > > > >> > > > > > > > > > >> > > > > > [ERROR] [Help 1] > > > > >> > > > > > http://cwiki.apache.org/confluence/display/MAVEN/ > > > > >> > > MojoFailureException > > > > >> > > > > > > > > > >> > > > > > [ERROR] > > > > >> > > > > > > > > > >> > > > > > [ERROR] After correcting the problems, you can resume > the > > > > build > > > > >> > with > > > > >> > > > the > > > > >> > > > > > command > > > > >> > > > > > > > > > >> > > > > > [ERROR] mvn <goals> -rf :metron-alerts > > > > >> > > > > > > > > > >> > > > > -- > > > > >> > > > > > > > > >> > > > > Jon > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > > > > > >