It will only enter into that particular loop if cfg.mode == cloud though,
so it won't print if we're running it locally

On Wed, Jun 26, 2019 at 4:06 PM Grant Wallace <notifications@github.com>
wrote:

> I think this logic won't work when running it locally, because this else
> will run when the args.addr is localhost. I guess it doesn't matter, it
> just prints and continues.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/amennen/greenEyes/commit/96b29bed8823fe70760cf3cfaf5833f7bbc2e0ed?email_source=notifications&email_token=AD4KXQHEGOHI4Q7B4FDM4BDP4PD3JA5CNFSM4H3VUBKKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBAQNRZ#commitcomment-34092601>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AD4KXQBJYEGJJ3KXJUVFOHTP4PD3JANCNFSM4H3VUBKA>
> .
>

--
*Anne Mennen*
Ph.D. Candidate
Princeton Neuroscience Institute, Office 136B
Princeton Computational Memory Lab


Verificado.


I wasn't able to retrieve PDD puzzles from the code base and submit them to GitHub. If you think that it's a bug on our side, please submit it to [yegor256/0pdd](https://github.com/yegor256/0pdd/issues):

> set -x && set -e && set -o pipefail && cd /tmp/0pdd20190626-4-1bgoxbp/fidals/shopelectro && git config --local core.autocrlf false && git reset origin/master --hard --quiet && git clean --force -d && git fetch --quiet && git checkout master && git rebase --abort || true && git rebase --autostash...

Please, copy and paste this stack trace to GitHub:

```
Exec::Error
set -x && set -e && set -o pipefail && cd /tmp/0pdd20190626-4-1bgoxbp/fidals/shopelectro && git config --local core.autocrlf false && git reset origin/master --hard --quiet && git clean --force -d && git fetch --quiet && git checkout master && git rebase --abort || true && git rebase --autostash --strategy-option=theirs origin/master [1]:
bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8)
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20190626-4-1bgoxbp/fidals/shopelectro
+ git config --local core.autocrlf false
+ git reset origin/master --hard --quiet
+ git clean --force -d
+ git fetch --quiet
+ git checkout master
Previous HEAD position was a36b525... #891  Markup tile-about and text for main page (#904)
Switched to branch 'master'
+ git rebase --abort
+ git rebase --autostash --strategy-option=theirs origin/master
fatal: Could not parse object 'bc1d3db1da1faa557d353c2ff9ac4dbfe9296c5c^'
Unknown exit code (128) from command: git-merge-recursive bc1d3db1da1faa557d353c2ff9ac4dbfe9296c5c^ -- HEAD bc1d3db1da1faa557d353c2ff9ac4dbfe9296c5c

Your branch and 'origin/master' have diverged,
and have 1 and 545 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
First, rewinding head to replay your work on top of it...

/app/objects/exec.rb:60:in `block (2 levels) in run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/open3.rb:219:in `popen_run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/open3.rb:101:in `popen3'
/app/objects/exec.rb:54:in `block in run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/timeout.rb:93:in `block in timeout'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/timeout.rb:33:in `block in catch'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/timeout.rb:33:in `catch'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/timeout.rb:33:in `catch'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/timeout.rb:108:in `timeout'
/app/objects/exec.rb:53:in `run'
/app/objects/git_repo.rb:110:in `pull'
/app/objects/git_repo.rb:75:in `push'
/app/objects/job.rb:36:in `proceed'
/app/objects/job_starred.rb:33:in `proceed'
/app/objects/job_recorded.rb:32:in `proceed'
/app/objects/job_emailed.rb:35:in `proceed'
/app/objects/job_commiterrors.rb:36:in `proceed'
/app/objects/job_detached.rb:48:in `exclusive'
/app/objects/job_detached.rb:36:in `block in proceed'
/app/objects/job_detached.rb:36:in `fork'
/app/objects/job_detached.rb:36:in `proceed'
/app/0pdd.rb:358:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1635:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1635:in `block in compile!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:992:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1011:in `route_eval'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:992:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1040:in `block in process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1038:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1038:in `process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:990:in `block in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:989:in `each'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:989:in `route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1097:in `block in dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1094:in `dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:924:in `block in call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:924:in `call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:913:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/logger.rb:15:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/common_logger.rb:33:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:231:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:224:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:194:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1957:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1502:in `block in call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1729:in `synchronize'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1502:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/handler/webrick.rb:86:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/server.rb:307:in `block in start_thread'
```


Successfully aliased the URL <https://emailerforcd-d8h9n5x2i.now.sh> to the following aliases.

* https://emailerforcd.ctrjcb.now.sh
* https://emailerforcd-git-master.ctrjcb.now.sh


Oh, ok.

From: amennen <notifications@github.com>
Reply-To: amennen/greenEyes <reply@reply.github.com>
Date: Wednesday, June 26, 2019 at 4:09 PM
To: amennen/greenEyes <greenEyes@noreply.github.com>
Cc: Grant Wallace <gwallace@princeton.edu>, Comment <comment@noreply.github.com>
Subject: Re: [amennen/greenEyes] addr input (96b29be)

It will only enter into that particular loop if cfg.mode == cloud though,
so it won't print if we're running it locally

On Wed, Jun 26, 2019 at 4:06 PM Grant Wallace <notifications@github.com>
wrote:

> I think this logic won't work when running it locally, because this else
> will run when the args.addr is localhost. I guess it doesn't matter, it
> just prints and continues.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/amennen/greenEyes/commit/96b29bed8823fe70760cf3cfaf5833f7bbc2e0ed?email_source=notifications&email_token=AD4KXQHEGOHI4Q7B4FDM4BDP4PD3JA5CNFSM4H3VUBKKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBAQNRZ#commitcomment-34092601>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AD4KXQBJYEGJJ3KXJUVFOHTP4PD3JANCNFSM4H3VUBKA>
> .
>

--
*Anne Mennen*
Ph.D. Candidate
Princeton Neuroscience Institute, Office 136B
Princeton Computational Memory Lab

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<https://github.com/amennen/greenEyes/commit/96b29bed8823fe70760cf3cfaf5833f7bbc2e0ed?email_source=notifications&email_token=AH7ZDPISI6C4II62WEW4REDP4PEEJA5CNFSM4H3VUBKKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBAQNS2#commitcomment-34092634>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AH7ZDPP6RW63QTHDVTHWONDP4PEEJANCNFSM4H3VUBKA>.


No. because if the supporter is on the other side another opponent pawn can disturb there pawn. If it on the same file the only disturbing pawn can only be the stopper. par example white e4 (candiate passer),d2 black f6,  c5. This need another special handling.


Deployment failed with the following error:

~~~
Failed to validate now.json: Invalid request: builds[0] should have required property 'use'
~~~


A function can pass itself (`mupf.clb._byid[n]`) to `mupf.hk.presend` just as it is done for `mupf.cmd`. This way functions can hold some configuration for them (similar to `noautoesc`) generated on the Py side (for example as a decorator) and passed in `["~$", ...]` structure. Also, sweet symmetry cmd/clb.


have the format TBC - need drop EffectDicePerLevel-3 and drop EffectBasePoints1-3 ))


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @ehsteve was added to conda-forge. Welcome to conda-forge!
  Go to https://github.com/orgs/conda-forge/invitation see your invitation.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/maintainer/updating_pkgs.html#forking-and-pull-requests)


The following doc(s) have been deployed to the [httpsandh](https://httpsandh-static-docs.pantheonsite.io/docs) Multidev environment:
- [/docs/http-to-https](https://httpsandh-static-docs.pantheonsite.io/docs/http-to-https)
- [/docs/hsts](https://httpsandh-static-docs.pantheonsite.io/docs/hsts)
- [/docs/pantheon-yml](https://httpsandh-static-docs.pantheonsite.io/docs/pantheon-yml)
- [source/_partials/content/hsts.html](https://github.com/pantheon-systems/documentation/commit/ecfe6bf957c1442075f0944f898171f2f458e9d3/source/_partials/content/hsts.html)


you need to put connection strings into one place: config etc


Nice. Could make this even better by wrapping the `Link as A` tag from DS.


Unfortunately I do not know enough about GitHub to direct you safely. You could fork my repository, then replace theLatinIME.apk yourself. I will update my repository when a new version of LatinIME.apk is available via apkmirror.
I never thought that someone would find my repository and use it, since I haven't published it through the magisk repo... Thank you for trying it! By the way, I have extracted the swipe libs from my daughter's OnePlus 2 running LineageOS...
Soon I will have some days off, maybe we could try to fork and modify the project for you...

Am 26. Juni 2019 21:29:24 MESZ schrieb j-whiteley <notifications@github.com>:
>By the way, thank you for this... It's the only way I've been able to
>get a GOOD version of AOSP keyboard with actual working swipe typing
>into otherwise-amazing custom roms for my OnePlus6. I'm trying to use
>stock AOSP keyboard, not installing SwiftKey (telemetry to Microsoft),
>Gboard (telemetry to Google), or AnySoftKeyboard (looks and works like
>shit)... and this is how I was able to replace the broken versions in
>OmniRom & SyberiaOS with working ones. I've actually been using the
>extracted binary for LatinIME.apk from LiquidRemix since it's been
>updated, and works with your implementation of the swipe libs.
>I don't know enough about how github works to be able to source/include
>updated binaries through here instead of doing the super-roundabout-way
>I've been doing and then compiling a modified version of your magisk
>module... any chance you could help with that?
>
>--
>You are receiving this because you authored the thread.
>Reply to this email directly or view it on GitHub:
>https://github.com/diskoteer/AOSP_keyboard_magisk_module/commit/cf6b986d49ce513a76ce067bd9b352228efad57c#commitcomment-34092198


you need to use incremental id on db side or generate uniqe id


Successfully aliased the URL <https://jibril-vcmuidjvfn.now.sh> to the following alias.

* https://jibril.now.sh


Nit: Lost px here. Should remain explicit.


Hi @ValerieMauduit! I fixed the indentation error. Sorry, this is my fault. Updated my code before I saw your PR. Thanks for participating in improving it. Thank you also @R4meau :smile:


Ah yes, thanks for letting me know.


The terminology `head` here is not consistent with the use we agreed on in Parmatch. In Parmatch, heads are not patterns (a pattern is deconstructed into a head and pattern arguments). Here `head` is a pattern. I propose `simple_pattern` instead. `Half_simplified.simple_pattern` has a little bit of redundancy, but that's better than the inconstent name. Notice the suggestion to use `Half_simplified` and not `Half_simplified_clause`; and then you can rename `t` into `clause`: `Half_simplified.simple_pattern`, `Half_simplified.clause`.


I am unclear as to reason for reluctance to upgrade - I'm sure it is very practical and pragmatic. [Their release notes](http://astyle.sourceforge.net/notes.html) indicated an update in January 2018 to 3.1 fixed bugs and refactored code.

Fortunately, I have enough infrastructure installed in my source-based distribution that I can install required version and mask out future upgrades. Will execute `runastyle` script in future commits.


1.4, eh


Successfully aliased the URL <https://nicolas-tudela-9xo7ustfm.now.sh> to the following aliases.

* https://nicolas-tudela.nicotudela.now.sh
* https://nicolas-tudela-git-master.nicotudela.now.sh


Successfully aliased the URL <https://event-loop-2nelyxsxm.now.sh> to the following aliases.

* https://event-loop.funkswing.now.sh
* https://event-loop-git-master.funkswing.now.sh


you must exclude obj and bin folders
also, you must store db files separately


Successfully aliased the URL <https://millipede-docs-7xbbg1yzh.now.sh> to the following aliases.

* https://millipede-docs.gurkerl83.now.sh
* https://millipede-docs-git-master.gurkerl83.now.sh


Successfully aliased the URL <https://emailforcd-bbs7swiul.now.sh> to the following aliases.

* https://emailforcd.ctrjcb.now.sh
* https://emailforcd-git-master.ctrjcb.now.sh


🔥 Device tests completed (Failed) on iOS on [Azure DevOps](https://dev.azure.com/devdiv/DevDiv/_build/index?buildId=2801579)(iOS): [Html Report](http://xamarin-storage/jenkins/xamarin-macios/master/5f8fedb396669a4295f953aa1a69a31d7c726e96/2801579/device-tests/jenkins-results/tests/index.html) 🔥

# Test results

<details>
<summary>5 tests failed, 108 tests passed.</summary>

## Failed tests

 * monotouch-test/iOS Unified 64-bits - device/Debug: TimedOut (HE0041: Error while processing device notifications from fff50:32:37:a1:c8:31fff (0x7f9de5c9db70): Failed to communicate with the device. Please ensure the cable is properly connected, and try rebooting the device (error: 0xe8000065 kAMDMuxConnectError))
 * monotouch-test/iOS Unified 64-bits - device/AssemblyBuildTarget: dylib (debug): TimedOut (HE0041: Error while processing device notifications from fff50:32:37:a1:c8:31fff (0x7f8eec442230): Failed to communicate with the device. Please ensure the cable is properly connected, and try rebooting the device (error: 0xe8000065 kAMDMuxConnectError))
 * monotouch-test/iOS Unified 64-bits - device/AssemblyBuildTarget: dylib (debug, profiling): Failed (Install failed, exit code: 1.)
 * monotouch-test/iOS Unified 64-bits - device/Debug (interpreter): TimedOut (HE0041: Error while processing device notifications from fff50:32:37:a1:c8:31fff (0x7faf39db7f30): Failed to communicate with the device. Please ensure the cable is properly connected, and try rebooting the device (error: 0xe8000065 kAMDMuxConnectError))
 * [NUnit] Mono BCL tests group 1/iOS Unified 64-bits - device/AssemblyBuildTarget: SDK framework (debug): TimedOut (HE0041: Error while processing device notifications from fff50:32:37:a1:c8:31fff (0x7fb06a61ab70): Failed to communicate with the device. Please ensure the cable is properly connected, and try rebooting the device (error: 0xe8000065 kAMDMuxConnectError))
</details>


Successfully aliased the URL <https://birthday-pwa-ckfc9yr5r.now.sh> to the following aliases.

* https://www.andi1984.social
* https://andi1984.social
* https://birthday-pwa.andi1984.now.sh
* https://birthday-pwa-git-develop.andi1984.now.sh


Actually it should be like:
  yum:  state=present name="{{ nrpe_extra_rpms }}"


![Peek 2019-06-27 01-46](https://user-images.githubusercontent.com/3508305/60211858-9df62900-987d-11e9-8ca8-1d28b9385013.gif)
Implemented higher order function to track mouse movements


previous fix looked just fine but it actually skipped the installation steps.


If you check if `src` is empty here and `fail` if it is, that should allow the templated `$if(src)$` to work as expected.


@AntonLip you need to use uniqe id


Some duplication here that can be extracted. Also a little curious what a true gaussian curve looks like versus the naive Rand + Rand / 2


ok


Successfully aliased the URL <https://mcrfe-gbvh8r3b9.now.sh> to the following aliases.

* https://mcrfe.vararu.org
* https://mcrfe.tvararu.now.sh
* https://mcrfe-git-master.tvararu.now.sh


lol


Successfully aliased the URL <https://restaurante-popular-7eactjaqe.now.sh> to the following aliases.

* https://restaurante-popular.now.sh
* https://restaurante-popular.catolicasc-social.now.sh
* https://restaurante-popular-git-master.catolicasc-social.now.sh


166940634_Issue6959 (rraustad) - x86_64-Linux-Ubuntu-18.04-cppcheck: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


Ic1 is a arduino Nano You can buy it on ebay.


Successfully aliased the URL <https://next-typeahead-f0rndmrw0.now.sh> to the following aliases.

* https://next-typeahead.dawochihliou.now.sh
* https://next-typeahead-git-master.dawochihliou.now.sh


Successfully aliased the URL <https://partiguiden-app-n951msq49.now.sh> to the following aliases.

* https://beta.partiguiden.nu
* https://partiguiden-app.ackuq.now.sh
* https://partiguiden-app-git-dev.ackuq.now.sh


Successfully aliased the URL <https://mcrfe-23m3zhgsc.now.sh> to the following aliases.

* https://mcrfe.vararu.org
* https://mcrfe.tvararu.now.sh
* https://mcrfe-git-master.tvararu.now.sh


Successfully aliased the URL <https://event-loop-6hzbutrjr.now.sh> to the following aliases.

* https://event-loop.funkswing.now.sh
* https://event-loop-git-master.funkswing.now.sh


Successfully aliased the URL <https://demo-sync-moltin-to-shipengine-dycdjbtat.now.sh> to the following aliases.

* https://particular-sync-moltin-to-shipengine.now.sh
* https://demo-sync-moltin-to-shipengine.particular.now.sh
* https://demo-sync-moltin-to-shipengine-git-master.particular.now.sh


TODO need to check if `\t` is a control character...


166940634_Issue6959 (rraustad) - x86_64-Linux-Ubuntu-18.04-custom_check: OK (9 of 9 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


Successfully aliased the URL <https://event-loop-j09rbll9g.now.sh> to the following aliases.

* https://event-loop.funkswing.now.sh
* https://event-loop-git-master.funkswing.now.sh


good


Color changed for better work


Successfully aliased the URL <https://the-cookbook-ncaosjmq5.now.sh> to the following aliases.

* https://the-cookbook.andrewmcgov.now.sh
* https://the-cookbook-git-master.andrewmcgov.now.sh


You missed `make.conf.lto.defines`:

````
#Guidelines:
#* Your CFLAGS should contain ${FLTO} and, depending on your gcc, -fuse-linker-plugin
#* Newer GCCs enable -fuse-linker-plugin by default.
#* If you want Graphite, include "${GRAPHITE}" in your CFLAGS
#* If you want -fipa-pta, include "${IPAPTA}" in your CFLAGS (undefined for now, issue #257)
#* Anything else is up to you, such as -march, -pipe, -O{3,2,s,1}, etc...
#* CXXFLAGS should be set to CFLAGS
#* Optionally, set other *FLAGS for languages compiled with GCC as well (See make.conf.lto)
#* LDFLAGS of your Gentoo profile should be respected.  Consider adding -Wl,--hash-style=gnu.
#  See make.conf.lto for more details.
````

The problematic section:
````
Consider adding -Wl,--hash-style=gnu.
````

I wish GitHub were to allow highlighting.

Here is `make.conf.lto`:

````
#Your LDFLAGS should contain *ALL* of your CFLAGS for LTO to work.  It must receieve all optimization options, march, etc.
#package.cflags takes care of this for you--no need to manually add your {C,CXX}FLAGS here.
#It's usually a good idea to enable -Wl,--hash-style=gnu as well to help find packages which don't respect LDFLAGS
#Ensure that your profile's LDFLAGS are respected by including them first.

#LDFLAGS="${LDFLAGS} -Wl,--hash-style=gnu"
````

I think that I need not say more.


[R/buildMetadata.R:5:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
#' @param isRasterToMatch Logical. Is this(these) layer(s) the \code{rasterToMatch} layers.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:6:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#'        If \code{TRUE}, then this layer can be accessed by \code{rasterToMatch(map)}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:12:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
#'  If \code{TRUE} or a character vector, then this layer will be added to a leaflet map.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:13:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L13) *style:* **Lines should not be more than 80 characters.**
```r
#'  For \code{RasterLayer} object, this will trigger a call to \code{gdal2tiles}, making tiles.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:20:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:20:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
^~~~~~~~~~~~~
```
[R/buildMetadata.R:20:37:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                    ^~~~~~~~~~~
```
[R/buildMetadata.R:20:50:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                                 ^~~~~~~~~~~~~~~
```
[R/buildMetadata.R:20:67:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                                                  ^~~~~~~~~
```
[R/buildMetadata.R:21:27:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L21) *style:* **Variable or function name should be snake_case.**
```r
                          columnNameForLabels, objHash, leaflet, envir, ...) {
                          ^~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:21:48:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L21) *style:* **Variable or function name should be snake_case.**
```r
                          columnNameForLabels, objHash, leaflet, envir, ...) {
                                               ^~~~~~~
```
[R/buildMetadata.R:23:8:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L23) *warning:* **no visible global function definition for ‘copy’, Did you mean 'coef'?**
```r
  b <- copy(.singleMetadataNAEntry)
       ^~~~
```
[R/buildMetadata.R:23:13:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L23) *warning:* **no visible binding for global variable ‘.singleMetadataNAEntry’**
```r
  b <- copy(.singleMetadataNAEntry)
            ^~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:29:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L29) *style:* **Variable or function name should be snake_case.**
```r
    studyAreaNumber <- 1 + NROW(metadata[compareNA(studyArea, TRUE) |
    ^~~~~~~~~~~~~~~
```
[R/buildMetadata.R:30:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L30) *style:* **Lines should not be more than 80 characters.**
```r
                                               (is.numeric(studyArea) & studyArea > 0)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:31:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L31) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "studyArea", studyAreaNumber)
    ^~~
```
[R/buildMetadata.R:32:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L32) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "area", area)
    ^~~
```
[R/buildMetadata.R:35:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L35) *style:* **Variable or function name should be snake_case.**
```r
    rasterToMatchNumber <- 1 + NROW(metadata[compareNA(rasterToMatch, TRUE) |
    ^~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:36:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L36) *style:* **Lines should not be more than 80 characters.**
```r
                                           (is.numeric(rasterToMatch) & rasterToMatch > 0)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:37:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L37) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "rasterToMatch", rasterToMatchNumber)
    ^~~
```
[R/buildMetadata.R:43:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L43) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "layerName", layerName)
  ^~~
```
[R/buildMetadata.R:44:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L44) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "layerType", class(obj))
  ^~~
```
[R/buildMetadata.R:47:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L47) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
      set(b, NULL, "columnNameForLabels", columnNameForLabels)
      ^~~
```
[R/buildMetadata.R:50:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L50) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "objectHash", objHash)
  ^~~
```
[R/buildMetadata.R:53:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L53) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "leaflet", leaflet)
    ^~~
```
[R/buildMetadata.R:55:14:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L55) *warning:* **no visible global function definition for ‘.robustDigest’**
```r
      dig <- .robustDigest(obj)
             ^~~~~~~~~~~~~
```
[R/buildMetadata.R:56:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L56) *style:* **Lines should not be more than 80 characters.**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1, 6))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:56:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L56) *style:* **Variable or function name should be snake_case.**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1, 6))))
      ^~~~~~~~
```
[R/buildMetadata.R:56:19:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L56) *warning:* **no visible global function definition for ‘asPath’**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1, 6))))
                  ^~~~~~
```
[R/buildMetadata.R:57:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L57) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
      set(b, NULL, "leafletTiles", tilePath)
      ^~~
```
[R/buildMetadata.R:61:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L61) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "envir", list(list(envir)))
  ^~~
```
[R/buildMetadata.R:65:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L65) *style:* **Lines should not be more than 80 characters.**
```r
    dots <- dots[!unlist(lapply(dots, is.null))] # remove NULL because that isn't added to data.table anyway
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:78:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L78) *style:* **Variable or function name should be snake_case.**
```r
  columnsToAdd <- dots
  ^~~~~~~~~~~~
```
[R/buildMetadata.R:83:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L83) *style:* **Lines should not be more than 80 characters.**
```r
        ## a data.table can't handle all types of objects. need to wrap in a list to stick it there
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:85:9:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L85) *style:* **Variable or function name should be snake_case.**
```r
        needToSet <- TRUE
        ^~~~~~~~~
```
[R/buildMetadata.R:88:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L88) *style:* **Lines should not be more than 80 characters.**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE, error = function(x) TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:88:11:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L88) *style:* **Variable or function name should be snake_case.**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE, error = function(x) TRUE)
          ^~~~~~~~~
```
[R/buildMetadata.R:88:33:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/buildMetadata.R#L88) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE, error = function(x) TRUE)
                                ^~~
```
[R/GIS.R:7:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @return list containing: \code{sizeInHa}, the area; and \code{polyID}, the polygon ID.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:11:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L11) *style:* **Variable or function name should be snake_case.**
```r
areaAndPolyValue <- function(ras) {
^~~~~~~~~~~~~~~~
```
[R/GIS.R:12:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L12) *style:* **Variable or function name should be snake_case.**
```r
  polyIndivSpecies <- gdal_polygonizeR(ras) # 99 seconds with full ras
  ^~~~~~~~~~~~~~~~
```
[R/GIS.R:12:23:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L12) *warning:* **no visible global function definition for ‘gdal_polygonizeR’**
```r
  polyIndivSpecies <- gdal_polygonizeR(ras) # 99 seconds with full ras
                      ^~~~~~~~~~~~~~~~
```
[R/GIS.R:13:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L13) *style:* **Variable or function name should be snake_case.**
```r
  pArea <- as.numeric(sf::st_area(polyIndivSpecies) / 1e4)
  ^~~~~
```
[R/GIS.R:19:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L19) *style:* **Lines should not be more than 80 characters.**
```r
#' Based on \url{https://johnbaumgartner.wordpress.com/2012/07/26/getting-rasters-into-shape-from-r/}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:33:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L33) *style:* **Variable or function name should be snake_case.**
```r
gdal_polygonizeR <- function(x, outshape = NULL, gdalformat = "ESRI Shapefile",
^~~~~~~~~~~~~~~~
```
[R/GIS.R:48:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L48) *style:* **Lines should not be more than 80 characters.**
```r
  if (!file.exists(pypath)) stop("Can't find gdal_polygonize.py on your system.")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:56:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L56) *style:* **Variable or function name should be snake_case.**
```r
    f.exists <- file.exists(paste(outshape, c("shp", "shx", "dbf"), sep = "."))
    ^~~~~~~~
```
[R/GIS.R:59:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L59) *style:* **Lines should not be more than 80 characters.**
```r
                   toString(paste(outshape, c("shp", "shx", "dbf"), sep = ".")[f.exists])),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:65:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L65) *warning:* **no visible global function definition for ‘writeRaster’**
```r
    writeRaster(x, rastpath, datatype = assessDataType(x))
    ^~~~~~~~~~~
```
[R/GIS.R:65:41:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L65) *warning:* **no visible global function definition for ‘assessDataType’**
```r
    writeRaster(x, rastpath, datatype = assessDataType(x))
                                        ^~~~~~~~~~~~~~
```
[R/GIS.R:73:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
    shp <- sf::read_sf(dsn = dirname(outshape), layer = basename(file_path_sans_ext(outshape)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:73:66:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L73) *warning:* **no visible global function definition for ‘file_path_sans_ext’**
```r
    shp <- sf::read_sf(dsn = dirname(outshape), layer = basename(file_path_sans_ext(outshape)))
                                                                 ^~~~~~~~~~~~~~~~~~
```
[R/GIS.R:74:22:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L74) *warning:* **no visible global function definition for ‘extent’, Did you mean 'extends'?**
```r
    sf::st_bbox(shp, extent(x))
                     ^~~~~~
```
[R/GIS.R:89:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L89) *style:* **Variable or function name should be snake_case.**
```r
.rasterToMemory <- function(x, ...) {
^~~~~~~~~~~~~~~
```
[R/GIS.R:90:8:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L90) *warning:* **no visible global function definition for ‘raster’, Did you mean 'paste'?**
```r
  r <- raster(x, ...)
       ^~~~~~
```
[R/GIS.R:108:24:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L108) *style:* **Variable or function name should be snake_case.**
```r
fasterize2 <- function(emptyRaster, polygonToFasterize, field) {
                       ^~~~~~~~~~~
```
[R/GIS.R:108:37:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L108) *style:* **Variable or function name should be snake_case.**
```r
fasterize2 <- function(emptyRaster, polygonToFasterize, field) {
                                    ^~~~~~~~~~~~~~~~~~
```
[R/GIS.R:109:10:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L109) *warning:* **no visible global function definition for ‘raster’, Did you mean 'paste'?**
```r
  ras <- raster(emptyRaster)
         ^~~~~~
```
[R/GIS.R:111:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L111) *style:* **Lines should not be more than 80 characters.**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:111:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L111) *style:* **Variable or function name should be snake_case.**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
    ^~~~~~~~~~~~~~~~~~
```
[R/GIS.R:111:27:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L111) *warning:* **no visible global function definition for ‘Cache’**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
                          ^~~~~
```
[R/GIS.R:111:33:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L111) *warning:* **no visible binding for global variable ‘cropInputs’**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
                                ^~~~~~~~~~
```
[R/GIS.R:113:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L113) *style:* **Variable or function name should be snake_case.**
```r
  thePoly <- projectInputs(polygonToFasterize, targetCRS = crs(ras))
  ^~~~~~~
```
[R/GIS.R:113:14:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L113) *warning:* **no visible global function definition for ‘projectInputs’**
```r
  thePoly <- projectInputs(polygonToFasterize, targetCRS = crs(ras))
             ^~~~~~~~~~~~~
```
[R/GIS.R:113:60:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L113) *warning:* **no visible global function definition for ‘crs’, Did you mean 'cars'?**
```r
  thePoly <- projectInputs(polygonToFasterize, targetCRS = crs(ras))
                                                           ^~~
```
[R/GIS.R:114:11:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/GIS.R#L114) *style:* **Variable or function name should be snake_case.**
```r
  thePoly$polygonNum <- seq_along(thePoly)
          ^~~~~~~~~~
```
[R/makeTiles.R:1:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L1) *style:* **Variable or function name should be snake_case.**
```r
makeTiles <- function(tilePath, obj) {
^~~~~~~~~
```
[R/makeTiles.R:1:23:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L1) *style:* **Variable or function name should be snake_case.**
```r
makeTiles <- function(tilePath, obj) {
                      ^~~~~~~~
```
[R/makeTiles.R:2:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L2) *style:* **Variable or function name should be snake_case.**
```r
  dirNotExist <- !dir.exists(tilePath)
  ^~~~~~~~~~~
```
[R/makeTiles.R:4:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
  if (dirNotExist) { # assume that tilePath is unique for that obj, via .robustDigest
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/makeTiles.R:4:20:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L4) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if (dirNotExist) { # assume that tilePath is unique for that obj, via .robustDigest
                   ^
```
[R/makeTiles.R:8:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/makeTiles.R:8:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L8) *style:* **Variable or function name should be snake_case.**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
    ^~~~~~~
```
[R/makeTiles.R:8:20:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L8) *warning:* **no visible global function definition for ‘projectRaster’**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
                   ^~~~~~~~~~~~~
```
[R/makeTiles.R:8:45:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L8) *warning:* **no visible global function definition for ‘CRS’, Did you mean 'C'?**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
                                            ^~~
```
[R/makeTiles.R:9:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L9) *style:* **Variable or function name should be snake_case.**
```r
    tmpFile <- tempfile(fileext = ".tif")
    ^~~~~~~
```
[R/makeTiles.R:10:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L10) *style:* **Variable or function name should be snake_case.**
```r
    objLflt <- try(writeRaster(objLflt, tmpFile), silent = TRUE)
    ^~~~~~~
```
[R/makeTiles.R:10:20:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L10) *warning:* **no visible global function definition for ‘writeRaster’**
```r
    objLflt <- try(writeRaster(objLflt, tmpFile), silent = TRUE)
                   ^~~~~~~~~~~
```
[R/makeTiles.R:12:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L12) *style:* **Variable or function name should be snake_case.**
```r
    toDo <- TRUE
    ^~~~
```
[R/makeTiles.R:13:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L13) *style:* **Variable or function name should be snake_case.**
```r
    tryNum <- 1
    ^~~~~~
```
[R/makeTiles.R:16:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
      out <- try(tiler::tile(tmpFile, tilePath, zoom = "1-10", crs = CRS("+init=epsg:4326"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/makeTiles.R:18:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L18) *style:* **Variable or function name should be snake_case.**
```r
      toDo <- is(out, "try-error")
      ^~~~
```
[R/makeTiles.R:22:9:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L22) *style:* **Variable or function name should be snake_case.**
```r
        toDo <- TRUE
        ^~~~
```
[R/makeTiles.R:25:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/makeTiles.R#L25) *style:* **Variable or function name should be snake_case.**
```r
      tryNum <- tryNum + 1
      ^~~~~~
```
[R/map-analysis.R:17:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L17) *style:* **Lines should not be more than 80 characters.**
```r
#'   \code{analysisGroup2} column of the \code{map@@metadata} or a \code{functionName}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:39:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L39) *style:* **Variable or function name should be snake_case.**
```r
mapAnalysis <- function(map, functionName = NULL, purgeAnalyses = NULL,
^~~~~~~~~~~
```
[R/map-analysis.R:39:30:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L39) *style:* **Variable or function name should be snake_case.**
```r
mapAnalysis <- function(map, functionName = NULL, purgeAnalyses = NULL,
                             ^~~~~~~~~~~~
```
[R/map-analysis.R:39:51:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L39) *style:* **Variable or function name should be snake_case.**
```r
mapAnalysis <- function(map, functionName = NULL, purgeAnalyses = NULL,
                                                  ^~~~~~~~~~~~~
```
[R/map-analysis.R:40:25:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L40) *style:* **Variable or function name should be snake_case.**
```r
                        useParallel = getOption("map.useParallel"), ...) {
                        ^~~~~~~~~~~
```
[R/map-analysis.R:42:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L42) *warning:* **local variable ‘dots’ assigned but may not be used**
```r
  dots <- list(...)
  ^~~~
```
[R/map-analysis.R:54:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L54) *style:* **Variable or function name should be snake_case.**
```r
  AGs <- sort(unique(colnames(m)[startsWith(colnames(m), "analysisGroup")]))
  ^~~
```
[R/map-analysis.R:56:31:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L56) *style:* **Variable or function name should be snake_case.**
```r
  ags <- lapply(AGs, function(AG) sort(na.omit(unique(m[[AG]]))))
                              ^~
```
[R/map-analysis.R:58:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L58) *style:* **Variable or function name should be snake_case.**
```r
  combosCompleted <- lapply(functionName, function(fn)
  ^~~~~~~~~~~~~~~
```
[R/map-analysis.R:60:4:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L60) *style:* **Commented code should be removed.**
```r
  #combosCompleted <- map@analysesData[[functionName]]$.Completed
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:71:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L71) *style:* **Variable or function name should be snake_case.**
```r
  combosAll <- expandAnalysisGroups(ags)
  ^~~~~~~~~
```
[R/map-analysis.R:71:16:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L71) *warning:* **no visible global function definition for ‘expandAnalysisGroups’**
```r
  combosAll <- expandAnalysisGroups(ags)
               ^~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:74:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L74) *style:* **Lines should not be more than 80 characters.**
```r
  # This is only for the first one to do, as it is just finding the columns required
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:76:42:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L76) *style:* **Variable or function name should be snake_case.**
```r
  args1 <- lapply(functionName, function(funName) {
                                         ^~~~~~~
```
[R/map-analysis.R:79:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L79) *style:* **Variable or function name should be snake_case.**
```r
    keepArgs <- unlist(lapply(args, function(arg) length(arg) > 0))
    ^~~~~~~~
```
[R/map-analysis.R:83:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L83) *style:* **Variable or function name should be snake_case.**
```r
  AGsByFunName <- lapply(functionName, function(funName) {
  ^~~~~~~~~~~~
```
[R/map-analysis.R:83:49:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L83) *style:* **Variable or function name should be snake_case.**
```r
  AGsByFunName <- lapply(functionName, function(funName) {
                                                ^~~~~~~
```
[R/map-analysis.R:88:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L88) *style:* **Variable or function name should be snake_case.**
```r
  combosAll <- Map(agsByFunName = AGsByFunName,
  ^~~~~~~~~
```
[R/map-analysis.R:90:29:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L90) *style:* **Variable or function name should be snake_case.**
```r
                   function(agsByFunName, ags) {
                            ^~~~~~~~~~~~
```
[R/map-analysis.R:91:22:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L91) *warning:* **no visible global function definition for ‘expandAnalysisGroups’**
```r
                     expandAnalysisGroups(ags[agsByFunName])
                     ^~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:94:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L94) *style:* **Variable or function name should be snake_case.**
```r
  combosToDo <- Map(cc = combosCompleted, ca = combosAll, function(cc, ca) {
  ^~~~~~~~~~
```
[R/map-analysis.R:96:32:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L96) *style:* **Commas should always have a space after.**
```r
      setDT(ca[!ca$all %in% cc,])
                               ^
```
[R/map-analysis.R:101:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L101) *style:* **Variable or function name should be snake_case.**
```r
  combosToDo <- Map(ctd = combosToDo, fn = functionName,
  ^~~~~~~~~~
```
[R/map-analysis.R:102:45:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L102) *style:* **Variable or function name should be snake_case.**
```r
                    function(ctd, fn) ctd[, functionName := fn])
                                            ^~~~~~~~~~~~
```
[R/map-analysis.R:103:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L103) *style:* **Variable or function name should be snake_case.**
```r
  combosToDoDT <- rbindlist(combosToDo)
  ^~~~~~~~~~~~
```
[R/map-analysis.R:103:19:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L103) *warning:* **no visible global function definition for ‘rbindlist’**
```r
  combosToDoDT <- rbindlist(combosToDo)
                  ^~~~~~~~~
```
[R/map-analysis.R:105:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L105) *style:* **Lines should not be more than 80 characters.**
```r
  combosToDo <- combosToDo[!unlist(lapply(combosToDo, function(ctd) NROW(ctd) == 0))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:105:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L105) *style:* **Variable or function name should be snake_case.**
```r
  combosToDo <- combosToDo[!unlist(lapply(combosToDo, function(ctd) NROW(ctd) == 0))]
  ^~~~~~~~~~
```
[R/map-analysis.R:108:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L108) *style:* **Variable or function name should be snake_case.**
```r
    funNames <- unique(combosToDoDT$functionName)
    ^~~~~~~~
```
[R/map-analysis.R:111:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L111) *style:* **Variable or function name should be snake_case.**
```r
    otherFormalsInFunction <- lapply(funNames, function(funName) {
    ^~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:111:57:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L111) *style:* **Variable or function name should be snake_case.**
```r
    otherFormalsInFunction <- lapply(funNames, function(funName) {
                                                        ^~~~~~~
```
[R/map-analysis.R:112:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L112) *style:* **Variable or function name should be snake_case.**
```r
      otherFormalsInFunction <- formalArgs(funName)[formalArgs(funName) %in%
      ^~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:125:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L125) *style:* **Commented code should be removed.**
```r
    # browser()
      ^~~~~~~~~
```
[R/map-analysis.R:126:11:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L126) *warning:* **no visible global function definition for ‘makeOptimalCluster’**
```r
    cl <- makeOptimalCluster(useParallel, maxNumClusters = NROW(combosToDoDT))
          ^~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:127:17:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L127) *warning:* **no visible global function definition for ‘stopCluster’**
```r
    on.exit(try(stopCluster(cl), silent = TRUE))
                ^~~~~~~~~~~
```
[R/map-analysis.R:129:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L129) *style:* **Variable or function name should be snake_case.**
```r
    combosToDoList <- split(combosToDoDT, combosToDoDT$all)
    ^~~~~~~~~~~~~~
```
[R/map-analysis.R:132:20:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L132) *style:* **Variable or function name should be snake_case.**
```r
                   funName <- combo$functionName
                   ^~~~~~~
```
[R/map-analysis.R:134:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L134) *style:* **Lines should not be more than 80 characters.**
```r
                                                   combo = combo, AGs = AGs, funName = funName)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:137:20:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L137) *style:* **Variable or function name should be snake_case.**
```r
                   fnOut <- do.call(Cache,
                   ^~~~~
```
[R/map-analysis.R:140:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L140) *style:* **Lines should not be more than 80 characters.**
```r
                                                         otherFormalsInFunction[[funName]])))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:145:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L145) *style:* **Variable or function name should be snake_case.**
```r
      fromFunName <- combosToDoDT$functionName == funName
      ^~~~~~~~~~~
```
[R/map-analysis.R:147:35:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L147) *style:* **Variable or function name should be snake_case.**
```r
      map@analysesData[[funName]]$.Completed <- names(out3[fromFunName])
                                  ^~~~~~~~~~
```
[R/map-analysis.R:150:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L150) *style:* **Lines should not be more than 80 characters.**
```r
    message("  ", paste(functionName, collapse = ", "), " already run on all layers")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:168:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L168) *style:* **Variable or function name should be snake_case.**
```r
mapAddAnalysis <- function(map, functionName,
^~~~~~~~~~~~~~
```
[R/map-analysis.R:168:33:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L168) *style:* **Variable or function name should be snake_case.**
```r
mapAddAnalysis <- function(map, functionName,
                                ^~~~~~~~~~~~
```
[R/map-analysis.R:169:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L169) *style:* **Lines should not be more than 80 characters.**
```r
                           useParallel = getOption("map.useParallel", FALSE), ...) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:169:28:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L169) *style:* **Variable or function name should be snake_case.**
```r
                           useParallel = getOption("map.useParallel", FALSE), ...) {
                           ^~~~~~~~~~~
```
[R/map-analysis.R:171:8:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L171) *warning:* **no visible global function definition for ‘data.table’**
```r
  b <- data.table(functionName = functionName, t(dots))
       ^~~~~~~~~~
```
[R/map-analysis.R:172:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L172) *style:* **Variable or function name should be snake_case.**
```r
  prevEntry <- map@analyses$functionName == functionName
  ^~~~~~~~~
```
[R/map-analysis.R:173:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L173) *style:* **Variable or function name should be snake_case.**
```r
  purgeAnalyses <- NULL # Set default as NULL
  ^~~~~~~~~~~~~
```
[R/map-analysis.R:174:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L174) *style:* **Variable or function name should be snake_case.**
```r
  newDigest <- fastdigest::fastdigest(
  ^~~~~~~~~
```
[R/map-analysis.R:178:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L178) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "argHash", newDigest)
  ^~~
```
[R/map-analysis.R:179:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L179) *style:* **Variable or function name should be snake_case.**
```r
  doRbindlist <- TRUE
  ^~~~~~~~~~~
```
[R/map-analysis.R:182:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L182) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called ", functionName, " already added to map obj; ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:184:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L184) *style:* **Variable or function name should be snake_case.**
```r
      purgeAnalyses <- functionName
      ^~~~~~~~~~~~~
```
[R/map-analysis.R:187:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L187) *style:* **Variable or function name should be snake_case.**
```r
      doRbindlist <- FALSE
      ^~~~~~~~~~~
```
[R/map-analysis.R:188:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L188) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called ", functionName, " with identical function and ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:194:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L194) *style:* **Lines should not be more than 80 characters.**
```r
    map@analyses <- rbindlist(list(map@analyses, b), fill = TRUE, use.names = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:196:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L196) *style:* **Lines should not be more than 80 characters.**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:196:10:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L196) *warning:* **no visible global function definition for ‘runMapAnalyses’**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
         ^~~~~~~~~~~~~~
```
[R/map-analysis.R:210:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L210) *style:* **Lines should not be more than 80 characters.**
```r
#'   \code{analysisGroups} i.e., \code{"analysisGroup1"} or \code{"analysisGroup2"}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:223:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L223) *style:* **Lines should not be more than 80 characters.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:223:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L223) *style:* **Variable or function name should be snake_case.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
^~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:223:40:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L223) *style:* **Variable or function name should be snake_case.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
                                       ^~~~~~~~~~~~
```
[R/map-analysis.R:223:54:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L223) *style:* **Variable or function name should be snake_case.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
                                                     ^~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:224:35:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L224) *style:* **Variable or function name should be snake_case.**
```r
                                  postHocAnalyses = "all",
                                  ^~~~~~~~~~~~~~~
```
[R/map-analysis.R:225:35:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L225) *style:* **Variable or function name should be snake_case.**
```r
                                  useParallel = getOption("map.useParallel"),
                                  ^~~~~~~~~~~
```
[R/map-analysis.R:230:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L230) *style:* **Lines should not be more than 80 characters.**
```r
    stop("postHocAnalysisGroups cannot be NULL. It should be one of the column names ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:232:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L232) *style:* **Lines should not be more than 80 characters.**
```r
  b <- data.table(functionName = functionName, postHocAnalysisGroups = postHocAnalysisGroups,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:235:10:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L235) *warning:* **no visible global function definition for ‘data.table’**
```r
    b <- data.table(b, t(dots))
         ^~~~~~~~~~
```
[R/map-analysis.R:237:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L237) *style:* **Variable or function name should be snake_case.**
```r
  prevEntry <- map@analyses$functionName == functionName
  ^~~~~~~~~
```
[R/map-analysis.R:238:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L238) *style:* **Variable or function name should be snake_case.**
```r
  purgeAnalyses <- NULL # Set default as NULL
  ^~~~~~~~~~~~~
```
[R/map-analysis.R:239:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L239) *style:* **Variable or function name should be snake_case.**
```r
  newDigest <- fastdigest::fastdigest(
  ^~~~~~~~~
```
[R/map-analysis.R:243:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L243) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "argHash", newDigest)
  ^~~
```
[R/map-analysis.R:244:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L244) *style:* **Variable or function name should be snake_case.**
```r
  doRbindlist <- TRUE
  ^~~~~~~~~~~
```
[R/map-analysis.R:247:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L247) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called ", functionName, " already added to map obj; ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:249:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L249) *style:* **Variable or function name should be snake_case.**
```r
      purgeAnalyses <- functionName
      ^~~~~~~~~~~~~
```
[R/map-analysis.R:252:7:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L252) *style:* **Variable or function name should be snake_case.**
```r
      doRbindlist <- FALSE
      ^~~~~~~~~~~
```
[R/map-analysis.R:253:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L253) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called, ", functionName, " with identical function and ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:259:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L259) *style:* **Lines should not be more than 80 characters.**
```r
    map@analyses <- rbindlist(list(map@analyses, b), fill = TRUE, use.names = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:261:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L261) *style:* **Lines should not be more than 80 characters.**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:261:10:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L261) *warning:* **no visible global function definition for ‘runMapAnalyses’**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
         ^~~~~~~~~~~~~~
```
[R/map-analysis.R:266:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L266) *style:* **Variable or function name should be snake_case.**
```r
runMapAnalyses <- function(map, purgeAnalyses = NULL,
^~~~~~~~~~~~~~
```
[R/map-analysis.R:266:33:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L266) *style:* **Variable or function name should be snake_case.**
```r
runMapAnalyses <- function(map, purgeAnalyses = NULL,
                                ^~~~~~~~~~~~~
```
[R/map-analysis.R:267:28:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L267) *style:* **Variable or function name should be snake_case.**
```r
                           useParallel = getOption("map.useParallel")) {
                           ^~~~~~~~~~~
```
[R/map-analysis.R:268:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L268) *style:* **Variable or function name should be snake_case.**
```r
  isPostHoc <- if (is.null(map@analyses$postHoc)) {
  ^~~~~~~~~
```
[R/map-analysis.R:271:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L271) *warning:* **no visible global function definition for ‘compareNA’**
```r
    compareNA(map@analyses$postHoc, TRUE)
    ^~~~~~~~~
```
[R/map-analysis.R:276:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L276) *style:* **Variable or function name should be snake_case.**
```r
    funName <- map@analyses$functionName[!isPostHoc]
    ^~~~~~~
```
[R/map-analysis.R:277:12:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L277) *warning:* **no visible global function definition for ‘mapAnalysis’**
```r
    map <- mapAnalysis(map, funName, purgeAnalyses = purgeAnalyses)
           ^~~~~~~~~~~
```
[R/map-analysis.R:287:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L287) *style:* **Lines should not be more than 80 characters.**
```r
           forms <- forms[!forms %in% c("map", "functionName", "analysisGroups")]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:298:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L298) *style:* **Lines should not be more than 80 characters.**
```r
                                                            analysisGroups = x$postHocAnalysisGroups),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:299:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L299) *style:* **Lines should not be more than 80 characters.**
```r
                                                       unlist(as.list(x[ , forms, with = FALSE]))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:299:73:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L299) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                                       unlist(as.list(x[ , forms, with = FALSE]))))
                                                                        ^
```
[R/map-analysis.R:299:74:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L299) *style:* **Commas should never have a space before.**
```r
                                                       unlist(as.list(x[ , forms, with = FALSE]))))
                                                                        ~^
```
[R/map-analysis.R:313:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L313) *style:* **Variable or function name should be snake_case.**
```r
getFormalsFromMetadata <- function(metadata, combo, AGs, funName) {
^~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:313:53:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L313) *style:* **Variable or function name should be snake_case.**
```r
getFormalsFromMetadata <- function(metadata, combo, AGs, funName) {
                                                    ^~~
```
[R/map-analysis.R:313:58:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L313) *style:* **Variable or function name should be snake_case.**
```r
getFormalsFromMetadata <- function(metadata, combo, AGs, funName) {
                                                         ^~~~~~~
```
[R/map-analysis.R:314:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L314) *style:* **Lines should not be more than 80 characters.**
```r
  formalsInFunction <- formalArgs(funName)[formalArgs(funName) %in% colnames(metadata)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:314:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L314) *style:* **Variable or function name should be snake_case.**
```r
  formalsInFunction <- formalArgs(funName)[formalArgs(funName) %in% colnames(metadata)]
  ^~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:316:32:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L316) *style:* **Variable or function name should be snake_case.**
```r
  args <- lapply(AGs, function(AG) {
                               ^~
```
[R/map-analysis.R:330:4:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L330) *style:* **Commented code should be removed.**
```r
  #args <- unlist(unname(args), recursive = FALSE)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:335:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L335) *style:* **Variable or function name should be snake_case.**
```r
expandAnalysisGroups <- function(ags) {
^~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:336:3:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L336) *style:* **Variable or function name should be snake_case.**
```r
  combosAll <- NULL
  ^~~~~~~~~
```
[R/map-analysis.R:338:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L338) *style:* **Lines should not be more than 80 characters.**
```r
    combosAll <- do.call(expand.grid, args = append(list(stringsAsFactors = FALSE),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:338:5:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-analysis.R#L338) *style:* **Variable or function name should be snake_case.**
```r
    combosAll <- do.call(expand.grid, args = append(list(stringsAsFactors = FALSE),
    ^~~~~~~~~
```
[R/map-class.R:6:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot metadata  \code{data.table} with columns describing metadata of map objects in
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:9:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot .xData Named environment of map-type objects (e.g., \code{sf}, \code{Raster*},
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:10:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
#'            \code{Spatial*}. Each entry may also be simply an environment, which
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:11:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#'            indicates where to find the object, i.e., via \code{get(layerName, envir = environment)}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:15:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L15) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot paths File paths. A named list of paths. The default is a list of length 2,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:18:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot analyses    A \code{data.table} or \code{data.frame} of the types of analyses to perform.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:20:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot analysesData A \code{data.table} or \code{data.frame} of the results of the analyses.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:41:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L41) *style:* **Lines should not be more than 80 characters.**
```r
  #             c(layerName = "character", layerType = "character", columnNameForLabels = "character",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:42:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
  #               leaflet = "character", studyArea = "numeric", rasterToMatch = "logical"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:47:20:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L47) *style:* **Variable or function name should be snake_case.**
```r
          function(.Object, ...) {
                   ^~~~~~~
```
[R/map-class.R:48:13:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L48) *style:* **Variable or function name should be snake_case.**
```r
            .Object <- callNextMethod()
            ^~~~~~~
```
[R/map-class.R:49:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L49) *style:* **Lines should not be more than 80 characters.**
```r
            .Object@metadata <- data.table(layerName = character(), layerType = character(),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:52:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L52) *style:* **Lines should not be more than 80 characters.**
```r
                                           studyArea = numeric(), rasterToMatch = logical())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:54:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map-class.R#L54) *style:* **Lines should not be more than 80 characters.**
```r
            .Object@analyses <- data.table::data.table(functionName = character())#, quotedFn = character())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map.R:2:1:](https://github.com/PredictiveEcology/map/blob/ff5fe6c7cff6a53cbfb0814f5dc9df86fa0b737b/R/map.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
  utils::globalVariables(c(".", ":=", ".I", ".N", ".SD", "envir", "layerName", "objectHash"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


166940634_Issue6959 (rraustad) - x86_64-Linux-Ubuntu-18.04-gcc-7.4-UnitTestsCoverage-Debug: Build Failed

![Build Badge](http://img.shields.io/badge/build%20status-failing-red.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-2.07%25-red.png) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-0%25-red.png)


Successfully aliased the URL <https://millipede-docs-ba4kp8vo8.now.sh> to the following aliases.

* https://millipede-docs.gurkerl83.now.sh
* https://millipede-docs-git-master.gurkerl83.now.sh


@AntonLip sometimes it's can be wrong solution. you can try to add additional BIT column "Deleted" and set 1 as value


This should be `===`


Albo z miliard lat temu to nie był newsletter.


Successfully aliased the URL <https://torralpoll-ehs0lnl1y.now.sh> to the following aliases.

* https://torralpoll.lucas1004jx.now.sh
* https://torralpoll-git-master.lucas1004jx.now.sh


![](https://github.trello.services/images/mini-trello-icon.png) [Fix the hitbox for attacking and gathering](https://trello.com/c/vPsTTIVJ/11-fix-the-hitbox-for-attacking-and-gathering)


Merci, Thierry. Je vais essayer !
Je suis un peu perdue parce que j'ai l'habitude de raisonner en dataframe avec pandas... Au début, je pensais représenter le maze dans un tableau mais j'ai vu que ça fonctionnait bien comme ça alors j'ai continué !


Should this be isUExport?


Needs more serializing container.


Oui, c'est bien ce que je me dis, mais lorsque j'enlève len(maze), ça ne m'affiche que la première ligne :(


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


Successfully aliased the URL <https://alita-battle-angelgithubio-dsfwc2zp7.now.sh> to the following aliases.

* https://i-do-not-stand-by-in-the-presence-of-evil.com
* https://alita-battle-angelgithubio.eeliya.now.sh
* https://alita-battle-angelgithubio-git-develop.eeliya.now.sh


Successfully aliased the URL <https://jibril-xqxwbqeaqg.now.sh> to the following alias.

* https://jibril.now.sh


You're welcome


C'est noté ;)


@ianpartridge here's a minimal app that doesn't really get symbolicated:
[minicrash.zip](https://github.com/ianpartridge/swift-backtrace/files/3331791/minicrash.zip)

```
root@66da92633b11:/app# swift build -c release -Xswiftc -g -Xcc -g
/app/Sources/minicrash/main.swift:7:6: warning: all paths through this function will call itself
func test(_ n: Int) {
     ^
[3/3] Linking ./.build/x86_64-unknown-linux/release/minicrash
root@66da92633b11:/app# .build/release/minicrash
Hello, world!
Fatal error: Goodbye world!: file /app/Sources/minicrash/main.swift, line 9
.build/release/minicrash(+0x1346)[0x55baadc81346]
.build/release/minicrash(+0x11b9)[0x55baadc811b9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fbb64148890]
/usr/lib/swift/linux/libswiftCore.so(+0x321aba)[0x7fbb63b34aba]
/usr/lib/swift/linux/libswiftCore.so(+0x1485e9)[0x7fbb6395b5e9]
.build/release/minicrash(+0x158c)[0x55baadc8158c]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fbb62b04b97]
.build/release/minicrash(+0xefa)[0x55baadc80efa]
Illegal instruction
```

It was more chatty with a debug build (probably caused by the lack of tail call optimization), but no symbols in sight:  [minicrash_debug.txt](https://github.com/ianpartridge/swift-backtrace/files/3331799/minicrash_debug.txt)


@cioddi Thanks man! I'm sorry I didn't see your StackOverflow comments until today. I managed to get _something_ working, but cobbled together, and not as elegant as you have here.. Plus I ended up baking the transformations in situ, which made my scene unusable. I'm going to try this out tonight.


1.- Por Wakanda


@alopix All for keeping stuff as up-to-date as possible, but this introduces peerDependency warnings :) I think you should wait for config/plugins to be updated to officially support ESLint 6, as otherwise you might get stuck in odd edge cases.


@MantisLord you troll. I will fix it properly now


Everything looks good, Nicholas.


Ok


Oui, j'avais essayé d'abord avec replace() mais ça ne fonctionne pas :( Le maze est interprété comme un tuple. Du coup, j'ai dû le slicer...
Bon, je dois définitivement revoir la représentation du maze :)


Bien pris, merci !


Successfully aliased the URL <https://vela-store-f77wcz8f5.now.sh> to the following aliases.

* https://velabikes.com.br
* https://vela-store.velabikes1.now.sh
* https://vela-store-git-master.velabikes1.now.sh


Successfully aliased the URL <https://portfolio-9qpmzz1va.now.sh> to the following aliases.

* https://justinaiello.now.sh
* https://portfolio.justinaiello.now.sh
* https://portfolio-git-master.justinaiello.now.sh


I understand this is work in progress, but i recommend being selective with the imports.


## Jenkins Build Summary

Built from [this commit](https://github.com/ximinez/rippled/commit/36af8dab8fca29554aa6f25196024aa42b86c5c3)

Built at __20190626 - 20:41:29__

### Test Results

Build Type | Log | Result | Status
---------- | --- | ------ | ------
msvc.Debug | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/msvc.Debug.txt) | 1178 cases, 0 failed, t: 566s | PASS :white_check_mark:
msvc.Debug,
NINJA_BUILD=true | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/msvc.Debug_NINJA_BUILD_true.txt) | 1178 cases, 0 failed, t: 605s | PASS :white_check_mark:
msvc.Debug
-Dunity=OFF | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/msvc.Debug_Dunity_OFF.txt) | 1177 cases, 0 failed, t: 1109s | PASS :white_check_mark:
msvc.Release | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/msvc.Release.txt) | 1178 cases, 0 failed, t: 403s | PASS :white_check_mark:
gcc.Release
-Dassert=ON,
MANUAL_TESTS=true | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Release_Dassert_ON_MANUAL_TESTS_true.txt) | 915 cases, 0 failed, t: 4m54s | PASS :white_check_mark:
docs,
TARGET=docs | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/docs_TARGET_docs.txt) | 1 cases, 0 failed, t: 0m1s | PASS :white_check_mark:
clang.Debug | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/clang.Debug.txt) | 1178 cases, 0 failed, t: 2m47s | PASS :white_check_mark:
gcc.Debug
-Dcoverage=ON,
TARGET=coverage_report,
SKIP_TESTS=true | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Debug_Dcoverage_ON_TARGET_coverage_report_SKIP_TESTS_true.txt) | 1178 cases, 0 failed, t: 16m30s | PASS :white_check_mark:
gcc.Debug | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Debug.txt) | 1178 cases, 0 failed, t: 2m51s | PASS :white_check_mark:
gcc.Debug
-Dunity=OFF | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Debug_Dunity_OFF.txt) | 1177 cases, 0 failed, t: 5m30s | PASS :white_check_mark:
clang.Debug
-Dunity=OFF | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/clang.Debug_Dunity_OFF.txt) | 1177 cases, 0 failed, t: 10m42s | PASS :white_check_mark:
clang.Release
-Dassert=ON | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/clang.Release_Dassert_ON.txt) | 1178 cases, 0 failed, t: 4m47s | PASS :white_check_mark:
gcc.Release
-Dassert=ON | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Release_Dassert_ON.txt) | 1178 cases, 0 failed, t: 4m53s | PASS :white_check_mark:
gcc.Debug
-Dstatic=OFF | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Debug_Dstatic_OFF.txt) | 1178 cases, 0 failed, t: 2m51s | PASS :white_check_mark:
gcc.Debug
-Dstatic=OFF -DBUILD_SHARED_LIBS=ON | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Debug_Dstatic_OFF_DBUILD_SHARED_LIBS_ON.txt) | 1178 cases, 0 failed, t: 2m53s | PASS :white_check_mark:
gcc.Debug,
NINJA_BUILD=true | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/gcc.Debug_NINJA_BUILD_true.txt) | 1178 cases, 0 failed, t: 2m43s | PASS :white_check_mark:
clang.Debug
-Dunity=OFF -Dsan=address,
PARALLEL_TESTS=false,
DEBUGGER=false | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/clang.Debug_Dunity_OFF_Dsan_address_PARALLEL_TESTS_false_DEBUGGER_false.txt) | 1177 cases, 0 failed, t: 1m41s | PASS :white_check_mark:
clang.Debug
-Dunity=OFF -Dsan=undefined,
PARALLEL_TESTS=false | [logfile](http://ci.ops.ripple.com/job/ed-rippled/job/mt-asan-tsan/39//artifact/clang.Debug_Dunity_OFF_Dsan_undefined_PARALLEL_TESTS_false.txt) | 1177 cases, 0 failed, t: 2m0s | PASS :white_check_mark:


[docs-app] Fix minor bug in upload toast example (#3626)

Previews: documentation | landing | table


@daveluo (et al): the [Zanzibar example](https://github.com/daveluo/stac4ml-demo/blob/master/zanzibar-collection/znz001.json) has a list of classes (because there are multiple label properties); should this always be `[Class Object]` vs. needing to check list or object?


Successfully aliased the URL <https://portfolio-nkqhsm95l.now.sh> to the following aliases.

* https://justinaiello.now.sh
* https://portfolio.justinaiello.now.sh
* https://portfolio-git-master.justinaiello.now.sh


This is much better. An example is always a good way to explain something complicated.


La POO va devenir mon amie ;)


asdasdff


Successfully aliased the URL <https://venia-8fm2ikcbs.now.sh> to the following aliases.

* https://magento-venia-develop.now.sh
* https://venia.magento-research1.now.sh
* https://venia-git-develop.magento-research1.now.sh


Fixes #5


Un grand merci, Thierry !


Successfully aliased the URL <https://partiguiden-app-inklvonce.now.sh> to the following aliases.

* https://beta.partiguiden.nu
* https://partiguiden-app.ackuq.now.sh
* https://partiguiden-app-git-dev.ackuq.now.sh


Je ne me la représente pas là, tout de suite...


Successfully aliased the URL <https://set-list-q1tathac7.now.sh> to the following aliases.

* https://set-list.bradmgaynor.now.sh
* https://set-list-git-master.bradmgaynor.now.sh


Successfully aliased the URL <https://fme-api-jxqxd2fz1.now.sh> to the following aliases.

* https://api.firstmeanseverything.com
* https://fme-api.firstmeanseverything.now.sh
* https://fme-api-git-master.firstmeanseverything.now.sh


this will leak the string. The PyDict_GetItemString function that accepts a char* directly.