Rust people are even more anal about RAII than C++ people. In idiomatic Rust, you typically won't see initialise() and cleanup() functions, as you ideally never want to have a struct that is on a "wrong" state.

There are a few ways to go about this. Typically, you'd remove the "initialise()" and "cleanup()" methods here, and put all the initialisation in the concrete type's constructor and drop() method (the Rust equivalent to a destructor). You can enforce creating concretes through a constructor by making any of the struct fields private, e.g:

```rust
pub struct MyRenderer {
    number: i32, // Note how this is private
}

impl MyRenderer {
    // At the moment, this is the only way to create a MyRenderer
    fn from_number(number: i32) -> Self { MyRenderer { number } }
}

impl FireRenderer for MyRenderer {
//...
}
```


ZEIT Now cannot deploy this project to production due to following domain related issues:

 * alias `https://wealthmack.com` is an invalid domain. Correct it.


we did not take into account padding traffic for the BWE, so it was not added to the value we sent as REMB, so its value was lower than it should. REMB is used by the publisher to calculate the sender BWE so if we send a low value it will end up impacting on the quality and resolution.


This does not look like it should point to `172.30.218.218`, doest it? Don´t know what this guy thought while committing this change.


itt van cfg, fentebb a structnál nincs


@yezyilomo here we can make a change by making this a `classmethod`. So if want to use a `query_param` from the child class I can either override this function or use the class attribute.

This will avoid introducing breaking changes for folks who already have defined a custom query name in child classes.


Wouldn't it be better if the `Operations` constructor took the `paymentOrderOperations` argument instead of an explicit call to `AddRange()`?


srsly?


Successfully deployed to following URLs:

* https://ui-d3vzniin7.now.sh
* https://ui.roleypoly.com
* https://ui.roleypoly.now.sh
* https://ui-git-master.roleypoly.now.sh


Successfully deployed to following URLs:

* https://new-york-times-fsquc8uac.now.sh
* https://new-york-times-eta-one.now.sh
* https://new-york-times.char502.now.sh
* https://new-york-times-git-master.char502.now.sh


[R/calc_required_node_time.R:15:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L15) *style:* **functions should have cyclomatic complexity of less than 15, this has 17.**
```r
calc_required_node_time <- function(phy,
^
```
[R/calc_required_node_time.R:50:18:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L50) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           mu / ( (lambda - mu) *
                 ^
```
[R/calc_required_node_time.R:51:16:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L51) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           exp( (lambda - mu) * t))
               ^
```
[R/calc_required_node_time.R:66:18:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L66) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           mu / ( (lambda - mu) *
                 ^
```
[R/calc_required_node_time.R:67:16:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L67) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           exp( (lambda - mu) * t))
               ^
```
[R/calc_summary_statistics.R:25:15:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_summary_statistics.R#L25) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  output <- c( calc_beta(focal_tree),
              ^
```
[R/calc_time_spent_at_node.R:15:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L15) *style:* **functions should have cyclomatic complexity of less than 15, this has 22.**
```r
calc_time_spent_at_node <- function(phy,
^
```
[R/calc_time_spent_at_node.R:53:36:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                  ( (lambda - mu) * exp( (lambda - mu) * t))
                                   ^
```
[R/calc_time_spent_at_node.R:53:57:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                  ( (lambda - mu) * exp( (lambda - mu) * t))
                                                        ^
```
[R/calc_time_spent_at_node.R:69:37:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L69) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                   ( (lambda - mu) * exp( (lambda - mu) * t))
                                    ^
```
[R/calc_time_spent_at_node.R:69:58:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L69) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                   ( (lambda - mu) * exp( (lambda - mu) * t))
                                                         ^
```
[R/count_hidden.R:7:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L7) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
reduce_tree <- function(tree) {
^
```
[R/count_hidden.R:10:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L10) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(num_extant_species == length(tree$tip.label)) {
    ^
```
[R/count_hidden.R:14:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L14) *style:* **Lines should not be more than 80 characters.**
```r
  extinct_species <- tree$tip.label[(num_extant_species+1):length(tree$tip.label)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/count_hidden.R:14:56:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L14) *style:* **Put spaces around all infix operators.**
```r
  extinct_species <- tree$tip.label[(num_extant_species+1):length(tree$tip.label)]
                                                      ~^~
```
[R/count_hidden.R:24:15:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L24) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    b <- desc[ desc %in% extinct_species]
              ^
```
[R/count_hidden.R:31:9:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L31) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(n == root_node && length(b) == 1)  {
        ^
```
[R/sim_dual_independent.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_dual_independent.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_dual_independent <- function(phy,
^
```
[R/sim_dual_independent.R:14:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                                 Q1 = NULL,
                                 ^~
```
[R/sim_dual_independent.R:15:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                                 Q2 = NULL,
                                 ^~
```
[R/sim_dual_independent.R:37:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L37) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_independent.R:38:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_independent.R:41:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_dual_independent.R:42:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_dual_independent.R:71:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_dual_independent.R:84:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig_q1, rate1)
    ^
```
[R/sim_dual_independent.R:104:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L104) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_dual_independent.R:107:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L107) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  alignment_phydat <- phyDat.DNA( as.data.frame(res, stringsAsFactors = FALSE))
                                 ^
```
[R/sim_dual_linked.R:35:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L35) *style:* **functions should have cyclomatic complexity of less than 15, this has 17.**
```r
make_transition_matrix <- function(mut_double) {
^
```
[R/sim_dual_linked.R:111:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L111) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
sim_dual_linked <- function(phy,
^
```
[R/sim_dual_linked.R:112:29:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L112) *style:* **Variable and function name style should be snake_case.**
```r
                            Q = NULL,
                            ^
```
[R/sim_dual_linked.R:132:19:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L132) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q)) Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                  ^
```
[R/sim_dual_linked.R:135:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L135) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_dual_linked.R:187:7:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L187) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q, rate)
      ^
```
[R/sim_dual_linked.R:207:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L207) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_dual_parent.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_dual_parent.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_dual_parent <- function(phy,
^
```
[R/sim_dual_parent.R:14:27:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                          Q1 = NULL,
                          ^~
```
[R/sim_dual_parent.R:15:27:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                          Q2 = NULL,
                          ^~
```
[R/sim_dual_parent.R:29:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_parent.R:30:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L30) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_parent.R:33:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_dual_parent.R:34:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L34) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_dual_parent.R:64:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L64) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_dual_parent.R:86:7:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L86) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q1, rate1)
      ^
```
[R/sim_dual_parent.R:105:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L105) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_linked.R:12:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L12) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
sim_linked <- function(phy,
^
```
[R/sim_linked.R:13:24:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
                       Q = NULL,
                       ^
```
[R/sim_linked.R:33:19:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q)) Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                  ^
```
[R/sim_linked.R:36:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L36) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_linked.R:88:7:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L88) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q, rate)
      ^
```
[R/sim_linked.R:108:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L108) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_normal.R:31:24:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L31) *style:* **Variable and function name style should be snake_case.**
```r
                       Q = NULL,
                       ^
```
[R/sim_normal.R:43:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L43) *style:* **Variable and function name style should be snake_case.**
```r
    Q <- rep(1, lbf * (lbf - 1) / 2)
    ^
```
[R/sim_normal.R:45:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L45) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_normal.R:67:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L67) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig, rate)
    ^
```
[R/sim_normal.R:81:40:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L81) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(x$tip.label, as.character( (k + 1):num_nodes))
                                       ^
```
[R/sim_unlinked.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_unlinked.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_unlinked <- function(phy,
^
```
[R/sim_unlinked.R:14:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                         Q1 = NULL,
                         ^~
```
[R/sim_unlinked.R:15:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                         Q2 = NULL,
                         ^~
```
[R/sim_unlinked.R:37:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L37) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_unlinked.R:38:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_unlinked.R:41:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_unlinked.R:42:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_unlinked.R:71:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_unlinked.R:84:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig_q1, rate1)
    ^
```
[R/sim_unlinked.R:104:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L104) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_unlinked.R:107:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L107) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  alignment_phydat <- phyDat.DNA( as.data.frame(res, stringsAsFactors = FALSE))
                                 ^
```
[R/util.R:2:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L2) *style:* **Variable and function name style should be snake_case.**
```r
fast.table <- function(data) {
^~~~~~~~~~
```
[R/util.R:20:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
phyDat.DNA <- function(data) {
^~~~~~~~~~
```
[R/util.R:35:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L35) *style:* **Variable and function name style should be snake_case.**
```r
  AC <- matrix(c(c(1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1),
  ^~
```
[R/util.R:43:15:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L43) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (compress){
              ^~
```
[R/util.R:108:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L108) *style:* **functions should have cyclomatic complexity of less than 15, this has 23.**
```r
slow_matrix <- function(eig, branch_length, rate) {
^
```
[R/util.R:116:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L116) *style:* **Variable and function name style should be snake_case.**
```r
  P <- matrix(NA, nrow = dim_size, ncol = dim_size)
  ^
```
[tests/testthat/test-calc-dist.R:19:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-calc-dist.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_error( calc_dist(seq_node_sub$alignment) )
                         ^
```
[tests/testthat/test-calc-dist.R:19:60:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-calc-dist.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_error( calc_dist(seq_node_sub$alignment) )
                                                           ^
```
[tests/testthat/test-create_equal_alignment.R:22:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-create_equal_alignment.R#L22) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_equal( length(seq_alt$alignment),
                         ^
```
[tests/testthat/test-dual_independent.R:10:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-dual_independent.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-dual_parent.R:9:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-dual_parent.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-dual-linked.R:9:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-dual-linked.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-sim_normal.R:20:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-sim_normal.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-substitution.R:10:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
  ^
```
[tests/testthat/test-substitution.R:13:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[tests/testthat/test-substitution.R:29:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
    P <- nodeSub::slow_matrix(eig = eig_q,
    ^
```
[tests/testthat/test-substitution.R:84:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
  Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
  ^
```
[tests/testthat/test-substitution.R:87:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L87) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[tests/testthat/test-substitution.R:94:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L94) *style:* **Variable and function name style should be snake_case.**
```r
  P1 <- nodeSub::slow_matrix(eig = eig_q,
  ^~
```
[tests/testthat/test-substitution.R:98:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L98) *style:* **Variable and function name style should be snake_case.**
```r
  P2 <- get_p_matrix(branch_length, eig_q, rate)
  ^~
```


> we did not take into account padding traffic for the BWE, so it was not added to the value we sent as REMB, so its value was lower than it should. REMB is used by the publisher to calculate the sender BWE so if we send a low value it will end up impacting on the quality and resolution.

Thank u


No control-freec/11.5/test-cmds.txt (test file) present, skipping tests


`cls.query_param_name` or `query_param_name`


There were the following issues with your Pull Request

  * Subject needs to conform to "%{type} #%{issue_number}: %{description}"

Guidelines are available at https://github.com/OpenNebula/one/blob/master/share/doc/dev/COMMIT_MESSAGES.md

---
This message was auto-generated by https://gitcop.com


Successfully deployed to following URLs:

* https://new-york-times-gwsej5z6m.now.sh
* https://new-york-times-eta-one.now.sh
* https://new-york-times.char502.now.sh
* https://new-york-times-git-master.char502.now.sh


[R/berekenLSVIbasis.R:184:5:](https://github.com/inbo/LSVI/blob/4c838815a38bf62078ff9fd67aef2f97361bc48b/R/berekenLSVIbasis.R#L184) *style:* **Variable and function name style should be camelCase, CamelCase or snake_case.**
```r
    na.rm = FALSE,
    ^~~~~
```
[R/berekenLSVIbasis.R:185:5:](https://github.com/inbo/LSVI/blob/4c838815a38bf62078ff9fd67aef2f97361bc48b/R/berekenLSVIbasis.R#L185) *style:* **Variable and function name style should be camelCase, CamelCase or snake_case.**
```r
    Oppervlakte_opname = FALSE
    ^~~~~~~~~~~~~~~~~~
```
[R/berekenLSVIbasis.R:186:3:](https://github.com/inbo/LSVI/blob/4c838815a38bf62078ff9fd67aef2f97361bc48b/R/berekenLSVIbasis.R#L186) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  ){
  ^~
```
[R/s4_aantal.R:3:1:](https://github.com/inbo/LSVI/blob/4c838815a38bf62078ff9fd67aef2f97361bc48b/R/s4_aantal.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' Deze klasse Aantal staat in voor de berekening van waarden voor TypeVariabele Aantal op basis van opgegeven kenmerken.  Ze is een nakomeling van de klasse AnalyseVariabele.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/s4_aantal.R:5:1:](https://github.com/inbo/LSVI/blob/4c838815a38bf62078ff9fd67aef2f97361bc48b/R/s4_aantal.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot Kenmerken dataframe met alle opgegeven kenmerken, met velden Vegetatielaag, Kenmerk, TypeKenmerk, WaardeMin en WaardeMax
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


Btw the actually merged PR is this one: #4486


[R/clock_model_to_xml_prior_distr.R:14:23:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/clock_model_to_xml_prior_distr.R#L14) *warning:* **no visible global function definition for ‘rln_clock_model_to_xml_mean_rate_prior’**
```r
      text <- c(text, rln_clock_model_to_xml_mean_rate_prior(clock_model)) # nolint beautier function
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/clock_models_to_xml_state.R:32:23:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/clock_models_to_xml_state.R#L32) *warning:* **no visible global function definition for ‘clock_model_to_xml_state’**
```r
    line_to_remove <- clock_model_to_xml_state(clock_models[[1]]) # nolint
                      ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_distr.R:9:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_distr.R#L9) *warning:* **no visible global function definition for ‘tree_priors_to_xml_prior_distr’**
```r
  text <- c(text, tree_priors_to_xml_prior_distr(tree_priors)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_distr.R:10:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_distr.R#L10) *warning:* **no visible global function definition for ‘gamma_site_models_to_xml_prior_distr’**
```r
  text <- c(text, gamma_site_models_to_xml_prior_distr(site_models)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_distr.R:11:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_distr.R#L11) *warning:* **no visible global function definition for ‘site_models_to_xml_prior_distr’**
```r
  text <- c(text, site_models_to_xml_prior_distr(site_models)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_operators.R:27:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_operators.R#L27) *warning:* **no visible global function definition for ‘site_models_to_xml_operators’**
```r
  text <- c(text, site_models_to_xml_operators(site_models)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_run.R:23:11:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_run.R#L23) *warning:* **no visible global function definition for ‘mcmc_to_xml_run’**
```r
  text <- mcmc_to_xml_run(mcmc) # nolint beautier function
          ^~~~~~~~~~~~~~~
```
[R/create_beast2_input_state.R:24:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_state.R#L24) *warning:* **no visible global function definition for ‘site_models_to_xml_state’**
```r
  text <- c(text, site_models_to_xml_state(site_models)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_state.R:33:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_beast2_input_state.R#L33) *warning:* **no visible global function definition for ‘tree_priors_to_xml_state’**
```r
  text <- c(text, tree_priors_to_xml_state(tree_priors)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_clock_models_from_names.R:5:26:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_clock_models_from_names.R#L5) *warning:* **no visible global function definition for ‘create_clock_model_from_name’**
```r
    clock_models[[i]] <- create_clock_model_from_name(clock_model_name) # nolint beautier function
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_mcmc_nested_sampling.R:41:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_mcmc_nested_sampling.R#L41) *style:* **Lines should not be more than 80 characters.**
```r
#' @aliases create_ns_mcmc create_nested_sampling_mcmc create_mcmc_nested_sampling
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_mcmc_nested_sampling.R:42:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_mcmc_nested_sampling.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
#' @export create_ns_mcmc create_nested_sampling_mcmc create_mcmc_nested_sampling
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_site_models_from_names.R:5:25:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_site_models_from_names.R#L5) *warning:* **no visible global function definition for ‘create_site_model_from_name’**
```r
    site_models[[i]] <- create_site_model_from_name(site_model_name) # nolint beautier function
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_tracelog_xml.R:17:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_tracelog_xml.R#L17) *warning:* **no visible global function definition for ‘tree_models_to_xml_tracelog’**
```r
  text <- c(text, tree_models_to_xml_tracelog(site_models)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/create_tracelog_xml.R:32:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/create_tracelog_xml.R#L32) *warning:* **no visible global function definition for ‘tree_priors_to_xml_tracelog’**
```r
  text <- c(text, tree_priors_to_xml_tracelog(tree_priors)) # nolint beautier function
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/extract_xml_operators_from_lines.R:13:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/extract_xml_operators_from_lines.R#L13) *style:* **Lines should not be more than 80 characters.**
```r
  last_line <- beautier::find_last_regex_line(lines, "(<operator id=\")|(</operator>)")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/extract_xml_section_from_lines.R:7:12:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/extract_xml_section_from_lines.R#L7) *warning:* **no visible global function definition for ‘extract_xml_operators_from_lines’**
```r
    return(extract_xml_operators_from_lines(lines)) # nolint beautier function
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/find_last_xml_closing_tag_line.R:6:3:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/find_last_xml_closing_tag_line.R#L6) *warning:* **no visible global function definition for ‘find_last_regex_line’**
```r
  find_last_regex_line(lines, paste0("</", section, ">")) # nolint beautier function
  ^~~~~~~~~~~~~~~~~~~~
```
[R/get_alignment_id.R:5:9:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/get_alignment_id.R#L5) *warning:* **no visible global function definition for ‘get_file_base_sans_ext’**
```r
  id <- get_file_base_sans_ext(fasta_filename) # nolint beautier function
        ^~~~~~~~~~~~~~~~~~~~~~
```
[R/get_alignment_id.R:9:3:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/get_alignment_id.R#L9) *warning:* **no visible global function definition for ‘check_alignment_id’**
```r
  check_alignment_id(id)
  ^~~~~~~~~~~~~~~~~~
```
[R/has_xml_opening_tag.R:11:12:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/has_xml_opening_tag.R#L11) *warning:* **no visible global function definition for ‘get_xml_opening_tag’**
```r
    tag <- get_xml_opening_tag(lines) # nolint
           ^~~~~~~~~~~~~~~~~~~
```
[R/has_xml_opening_tag.R:14:24:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/has_xml_opening_tag.R#L14) *warning:* **no visible global function definition for ‘find_first_xml_opening_tag_line’**
```r
  !beautier::is_one_na(find_first_xml_opening_tag_line(lines, section))
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/init_clock_models.R:10:10:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_clock_models.R#L10) *warning:* **no visible global function definition for ‘get_alignment_ids_from_fasta_filenames’**
```r
  ids <- get_alignment_ids_from_fasta_filenames(fasta_filenames) # nolint beautier function
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/init_clock_models.R:13:26:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_clock_models.R#L13) *warning:* **no visible global function definition for ‘get_distr_n_params’**
```r
  param_id <- param_id + get_distr_n_params(ucldstdev_distr) # nolint beautier function
                         ^~~~~~~~~~~~~~~~~~
```
[R/init_clock_models.R:20:26:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_clock_models.R#L20) *warning:* **no visible global function definition for ‘get_distr_n_params’**
```r
  param_id <- param_id + get_distr_n_params(mean_rate_prior_distr) # nolint beautier function
                         ^~~~~~~~~~~~~~~~~~
```
[R/init_distr.R:9:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_distr.R#L9) *style:* **functions should have cyclomatic complexity of less than 15, this has 25.**
```r
init_distr <- function(
^
```
[R/init_inference_model.R:39:22:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_inference_model.R#L39) *warning:* **no visible global function definition for ‘init_mrca_prior’**
```r
  inference_model <- init_mrca_prior(input_filename, inference_model)
                     ^~~~~~~~~~~~~~~
```
[R/init_mrca_prior.R:8:50:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_mrca_prior.R#L8) *warning:* **no visible global function definition for ‘get_alignment_id’**
```r
      inference_model$mrca_prior$alignment_id <- get_alignment_id(input_filename) # nolint beautier function
                                                 ^~~~~~~~~~~~~~~~
```
[R/init_mrca_prior.R:11:48:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_mrca_prior.R#L11) *warning:* **no visible global function definition for ‘get_taxa_names’**
```r
      inference_model$mrca_prior$taxa_names <- get_taxa_names(input_filename) # nolint beautier function
                                               ^~~~~~~~~~~~~~
```
[R/init_site_models.R:44:28:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_site_models.R#L44) *warning:* **no visible global function definition for ‘get_site_model_n_params’**
```r
    param_id <- param_id + get_site_model_n_params(site_model) # nolint beautier function
                           ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/init_site_models.R:198:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_site_models.R#L198) *style:* **Lines should not be more than 80 characters.**
```r
  testit::assert(beautier::is_init_gamma_site_model(gtr_site_model$gamma_site_model))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/init_site_models.R:220:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_site_models.R#L220) *style:* **Lines should not be more than 80 characters.**
```r
  if (!beautier::is_one_na(hky_site_model$gamma_site_model$gamma_shape_prior_distr)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/init_site_models.R:299:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_site_models.R#L299) *style:* **Lines should not be more than 80 characters.**
```r
  testit::assert(beautier::is_init_gamma_site_model(jc69_site_model$gamma_site_model))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/init_site_models.R:327:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/init_site_models.R#L327) *style:* **Lines should not be more than 80 characters.**
```r
    !beautier::is_one_na(tn93_site_model$gamma_site_model$gamma_shape_prior_distr)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/interspace.R:6:11:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/interspace.R#L6) *warning:* **no visible global function definition for ‘count_trailing_spaces’**
```r
  nsni <- count_trailing_spaces(lines[1]) # nolint beautier function
          ^~~~~~~~~~~~~~~~~~~~~
```
[R/is_clock_model_name.R:2:13:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_clock_model_name.R#L2) *warning:* **no visible global function definition for ‘get_clock_model_names’**
```r
  name %in% get_clock_model_names() # nolint beautier function
            ^~~~~~~~~~~~~~~~~~~~~
```
[R/is_default_mcmc.R:2:8:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_default_mcmc.R#L2) *warning:* **no visible global function definition for ‘is_mcmc’**
```r
  if (!is_mcmc(mcmc)) return(FALSE) # nolint beautier function
       ^~~~~~~
```
[R/is_default_mcmc.R:3:39:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_default_mcmc.R#L3) *warning:* **no visible global function definition for ‘create_mcmc’**
```r
  length(names(mcmc)) == length(names(create_mcmc()))
                                      ^~~~~~~~~~~
```
[R/is_distr.R:37:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_distr.R#L37) *style:* **functions should have cyclomatic complexity of less than 15, this has 21.**
```r
is_distr <- function(
^
```
[R/is_freq_equilibrium_name.R:4:13:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_freq_equilibrium_name.R#L4) *warning:* **no visible global function definition for ‘get_freq_equilibrium_names’**
```r
  name %in% get_freq_equilibrium_names() # nolint beautier function
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/is_id.R:4:32:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_id.R#L4) *warning:* **no visible global function definition for ‘is_one_int’**
```r
  assertive::is_a_string(x) || is_one_int(x) # nolint beautier function
                               ^~~~~~~~~~
```
[R/is_init_distr.R:26:20:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_init_distr.R#L26) *warning:* **no visible global function definition for ‘is_uniform_distr’**
```r
    testit::assert(is_uniform_distr(x))
                   ^~~~~~~~~~~~~~~~
```
[R/is_init_site_model.R:36:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_init_site_model.R#L36) *style:* **functions should have cyclomatic complexity of less than 15, this has 27.**
```r
is_init_gtr_site_model <- function(
^
```
[R/is_mrca_align_id_in_fasta.R:6:9:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_mrca_align_id_in_fasta.R#L6) *warning:* **no visible global function definition for ‘get_alignment_id’**
```r
  id <- get_alignment_id(fasta_filename)
        ^~~~~~~~~~~~~~~~
```
[R/is_mrca_align_ids_in_fastas.R:6:10:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_mrca_align_ids_in_fastas.R#L6) *warning:* **no visible global function definition for ‘get_alignment_ids_from_fasta_filenames’**
```r
  ids <- get_alignment_ids_from_fasta_filenames(fasta_filenames)
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/is_site_model.R:8:8:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L8) *warning:* **no visible global function definition for ‘is_distr’**
```r
  if (!is_distr(x$kappa_prior_distr)) return(FALSE) # nolint beautier function
       ^~~~~~~~
```
[R/is_site_model.R:10:8:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L10) *warning:* **no visible global function definition for ‘is_freq_equilibrium_name’**
```r
  if (!is_freq_equilibrium_name(x$freq_equilibrium)) return(FALSE) # nolint beautier function
       ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/is_site_model.R:18:10:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L18) *warning:* **no visible global function definition for ‘is_distr’**
```r
    if (!is_distr(expected_distr)) return(FALSE) # nolint beautier function
         ^~~~~~~~
```
[R/is_site_model.R:24:10:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L24) *warning:* **no visible global function definition for ‘is_param’**
```r
    if (!is_param(expected_param)) return(FALSE) # nolint beautier function
         ^~~~~~~~
```
[R/is_site_model.R:27:8:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L27) *warning:* **no visible global function definition for ‘is_freq_equilibrium_name’**
```r
  if (!is_freq_equilibrium_name(x$freq_equilibrium)) return(FALSE) # nolint beautier function
       ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/is_site_model.R:55:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L55) *style:* **functions should have cyclomatic complexity of less than 15, this has 22.**
```r
is_gtr_site_model <- function(
^
```
[R/is_site_model.R:171:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_site_model.R#L171) *style:* **functions should have cyclomatic complexity of less than 15, this has 23.**
```r
is_tn93_site_model <- function(
^
```
[R/is_tree_prior_name.R:2:13:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_tree_prior_name.R#L2) *warning:* **no visible global function definition for ‘get_tree_prior_names’**
```r
  name %in% get_tree_prior_names() # nolint beautier function
            ^~~~~~~~~~~~~~~~~~~~
```
[R/is_tree_prior.R:5:8:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_tree_prior.R#L5) *warning:* **no visible global function definition for ‘is_tree_prior_name’**
```r
  if (!is_tree_prior_name(x$name)) return(FALSE) # nolint beautier function
       ^~~~~~~~~~~~~~~~~~
```
[R/is_xml.R:3:8:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_xml.R#L3) *warning:* **no visible global function definition for ‘has_xml_opening_tag’**
```r
  if (!has_xml_opening_tag(text)) return(FALSE) # nolint beautier function
       ^~~~~~~~~~~~~~~~~~~
```
[R/is_xml.R:4:7:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_xml.R#L4) *warning:* **no visible global function definition for ‘has_xml_short_closing_tag’**
```r
  if (has_xml_short_closing_tag(text)) return(TRUE) # nolint beautier function
      ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/is_xml.R:5:18:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_xml.R#L5) *warning:* **no visible global function definition for ‘get_xml_opening_tag’**
```r
  opening_tag <- get_xml_opening_tag(text) # nolint beautier function
                 ^~~~~~~~~~~~~~~~~~~
```
[R/is_xml.R:6:18:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/is_xml.R#L6) *warning:* **no visible global function definition for ‘get_xml_closing_tag’**
```r
  closing_tag <- get_xml_closing_tag(text) # nolint beautier function
                 ^~~~~~~~~~~~~~~~~~~
```
[R/mcmc_to_xml_run.R:47:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/mcmc_to_xml_run.R#L47) *style:* **Lines should not be more than 80 characters.**
```r
    xml <- paste0(xml, " numInitializationAttempts=\"", mcmc$n_init_attempts, "\"")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/mrca_prior_to_xml_lh_distr.R:6:34:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/mrca_prior_to_xml_lh_distr.R#L6) *warning:* **no visible global function definition for ‘is_one_na’**
```r
  if (length(mrca_prior) == 1 && is_one_na(mrca_prior)) return(NULL) # nolint beautier function
                                 ^~~~~~~~~
```
[R/mrca_priors_to_xml_state.R:6:35:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/mrca_priors_to_xml_state.R#L6) *warning:* **no visible global function definition for ‘is_one_na’**
```r
  if (length(mrca_priors) == 1 && is_one_na(mrca_priors)) return(NULL) # nolint beautier function
                                  ^~~~~~~~~
```
[R/parameter_to_xml.R:13:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/parameter_to_xml.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 20.**
```r
parameter_to_xml <- function(
^
```
[R/site_model_to_xml_state.R:22:23:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_model_to_xml_state.R#L22) *warning:* **no visible global function definition for ‘parameter_to_xml’**
```r
      text <- c(text, parameter_to_xml(site_model$rate_ac_param)) # nolint beautier function
                      ^~~~~~~~~~~~~~~~
```
[R/site_model_to_xml_state.R:25:23:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_model_to_xml_state.R#L25) *warning:* **no visible global function definition for ‘parameter_to_xml’**
```r
      text <- c(text, parameter_to_xml(site_model$rate_ag_param)) # nolint beautier function
                      ^~~~~~~~~~~~~~~~
```
[R/site_model_to_xml_state.R:47:23:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_model_to_xml_state.R#L47) *warning:* **no visible global function definition for ‘parameter_to_xml’**
```r
      text <- c(text, parameter_to_xml(site_model$kappa_1_param)) # nolint beautier function
                      ^~~~~~~~~~~~~~~~
```
[R/site_model_to_xml_state.R:51:23:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_model_to_xml_state.R#L51) *warning:* **no visible global function definition for ‘parameter_to_xml’**
```r
      text <- c(text, parameter_to_xml(site_model$kappa_2_param)) # nolint beautier function
                      ^~~~~~~~~~~~~~~~
```
[R/site_model_to_xml_subst_model.R:6:18:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_model_to_xml_subst_model.R#L6) *warning:* **no visible global function definition for ‘is_id’**
```r
  testit::assert(is_id(id))
                 ^~~~~
```
[R/site_model_to_xml_subst_model.R:7:18:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_model_to_xml_subst_model.R#L7) *warning:* **no visible global function definition for ‘is_jc69_site_model’**
```r
  testit::assert(is_jc69_site_model(site_model))
                 ^~~~~~~~~~~~~~~~~~
```
[R/site_models_to_xml_operators.R:4:18:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_models_to_xml_operators.R#L4) *warning:* **no visible global function definition for ‘are_site_models’**
```r
  testit::assert(are_site_models(site_models)) # nolint beautier function
                 ^~~~~~~~~~~~~~~
```
[R/site_models_to_xml_tracelog.R:6:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/site_models_to_xml_tracelog.R#L6) *warning:* **no visible global function definition for ‘site_model_to_xml_tracelog’**
```r
    text <- c(text, site_model_to_xml_tracelog(site_model)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_prior_to_xml_operators.R:10:22:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_prior_to_xml_operators.R#L10) *warning:* **no visible global function definition for ‘get_operator_id_pre’**
```r
  operator_id_pre <- get_operator_id_pre(tree_prior) # nolint beautier function
                     ^~~~~~~~~~~~~~~~~~~
```
[R/tree_prior_to_xml_prior_distr.R:7:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_prior_to_xml_prior_distr.R#L7) *warning:* **no visible global function definition for ‘bd_tree_prior_to_xml_prior_distr’**
```r
    text <- c(text, bd_tree_prior_to_xml_prior_distr(tree_prior)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_prior_to_xml_prior_distr.R:9:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_prior_to_xml_prior_distr.R#L9) *warning:* **no visible global function definition for ‘cbs_tree_prior_to_xml_prior_distr’**
```r
    text <- c(text, cbs_tree_prior_to_xml_prior_distr(tree_prior)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_prior_to_xml_prior_distr.R:11:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_prior_to_xml_prior_distr.R#L11) *warning:* **no visible global function definition for ‘ccp_tree_prior_to_xml_prior_distr’**
```r
    text <- c(text, ccp_tree_prior_to_xml_prior_distr(tree_prior)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_prior_to_xml_prior_distr.R:13:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_prior_to_xml_prior_distr.R#L13) *warning:* **no visible global function definition for ‘cep_tree_prior_to_xml_prior_distr’**
```r
    text <- c(text, cep_tree_prior_to_xml_prior_distr(tree_prior)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_prior_to_xml_prior_distr.R:16:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_prior_to_xml_prior_distr.R#L16) *warning:* **no visible global function definition for ‘yule_tree_prior_to_xml_prior_distr’**
```r
    text <- c(text, yule_tree_prior_to_xml_prior_distr(tree_prior)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_priors_to_xml_distr.R:8:21:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_priors_to_xml_distr.R#L8) *warning:* **no visible global function definition for ‘tree_prior_to_xml_prior_distr’**
```r
    text <- c(text, tree_prior_to_xml_prior_distr(tree_prior)) # nolint beautier function
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/tree_priors_to_xml_operators.R:6:18:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/R/tree_priors_to_xml_operators.R#L6) *warning:* **no visible global function definition for ‘are_tree_priors’**
```r
  testit::assert(are_tree_priors(tree_priors)) # nolint beautier function
                 ^~~~~~~~~~~~~~~
```
[tests/testthat/test-are_equal_mcmcs.R:57:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/tests/testthat/test-are_equal_mcmcs.R#L57) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[tests/testthat/test-check_file_and_model_agree.R:16:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/tests/testthat/test-check_file_and_model_agree.R#L16) *style:* **Use <-, not =, for assignment.**
```r
  inference_model = create_inference_model(
                  ^
```
[tests/testthat/test-check_file_and_model_agree.R:35:19:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/tests/testthat/test-check_file_and_model_agree.R#L35) *style:* **Use <-, not =, for assignment.**
```r
  inference_model = create_inference_model(
                  ^
```
[tests/testthat/test-create_treelog_xml.R:15:1:](https://github.com/ropensci/beautier/blob/82893a6e7282568d4c91e7f5bba7fb241d9d8ff5/tests/testthat/test-create_treelog_xml.R#L15) *style:* **Lines should not be more than 80 characters.**
```r
    "    <log id=\"TreeWithMetaDataLogger.t:test_output_0\" spec=\"beast.evolution.tree.TreeWithMetaDataLogger\" tree=\"@Tree.t:test_output_0\"/>",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


build


`DEFAULT_QUERY_PARAM_NAME` should be class variable.


Just 4 info: The changes above were never included into the master codebase, see #4486


Successfully deployed to following URLs:

* https://conflux-wallet-gco09w3ig.now.sh
* https://conflux-wallet-git-master.conflux-chain.now.sh


Successfully deployed to following URLs:

* https://dittmaraz-kcs24ae64.now.sh
* https://dittmaraz.now.sh
* https://dittmaraz.dittmaraz.now.sh
* https://dittmaraz-git-master.dittmaraz.now.sh


@onix Could you please append `Comment[uk]` to gpxsee.desktop file as well:
https://github.com/tumic0/GPXSee/blob/b61c39ea4616045fb8e973d0b27b5855cb70bb89/pkg/gpxsee.desktop#L3-L8


Successfully deployed to following URLs:

* https://entrepreneur-site-next-l3zontfwo.now.sh
* https://wealthmack.com
* https://www.wealthmack.com
* https://entrepreneur-site-next.hacker-tom.now.sh
* https://entrepreneur-site-next-git-master.hacker-tom.now.sh


@JuliaRegistrator register


Puzzle `800-fe5f523c` disappeared from [`src/test/java/org/takes/http/FtRemoteTest.java`](https://github.com/yegor256/takes/blob/master/src/test/java/org/takes/http/FtRemoteTest.java), that's why I closed #869. Please, remember that the puzzle was not necessarily removed in this particular commit. Maybe it happened earlier, but we discovered this fact only now.


Registration pull request created: [JuliaRegistries/General/5879](https://github.com/JuliaRegistries/General/pull/5879)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v0.3.0 -m "<description of version>" 79c86d6ddad8580528cc86b30c1a7c1dd3aab108
git push origin v0.3.0
```


Successfully deployed to following URLs:

* https://chrome-dashboard-8ib1jt7sf.now.sh
* https://chrome-dashboard.now.sh
* https://chrome-dashboard.whyour.now.sh
* https://chrome-dashboard-git-master.whyour.now.sh


git clone


Successfully deployed to following URLs:

* https://knowledge-base-g6t8ou45h.now.sh
* https://knowledge-base.now.sh
* https://lovepp.org
* https://www.lovepp.org
* https://knowledge-base.cenzhipeng.now.sh
* https://knowledge-base-git-master.cenzhipeng.now.sh


No. You don't have to delete this line. Only your extra
`#ifndef analogInputToDigitalPin`


Line 401-406: The vectorization of distance caculation speed up the whole process.


I intend to add programs, scripts and documentation demonstrating existing and newly acquired skills.


@yezyilomo here we can make a change by making this a `classmethod`. So if want to use a `query_param` from the child class I can either override this function or use the class attribute.

This will avoid introducing breaking changes for folks who already have defined a custom query name in child classes.


Successfully deployed to following URLs:

* https://scratchpay-coding-challenge-prk04egd4.now.sh
* https://scratchpay-coding-challenge.now.sh
* https://scratchpayusermanagementui.now.sh
* https://scratchpay-coding-challenge.kumarabhirup1.now.sh
* https://scratchpay-coding-challenge-git-master.kumarabhirup1.now.sh


Commit comment should be self-descriptive - there is no glue what was added by this commit to the repository


Now, sometimes this isn't enough: What if you want to construct a different concrete type depending on the parameters? Let's say that you want a simple renderer for values of "number" lower than 42, but a more powerful one for anything bigger. You can't express a constructor like that for a trait, since you can't reference Self directly in traits (as it's a type of yet unknown size). What you can do is use a builder pattern. A simple one would be:

```rust
pub fn from_number(number:i32) -> Box<dyn FireRenderer> {
    if number < 42 {
        Box::new(MyRenderer::from_number(number))
    } else {
        Box::new(MyPowerfulRenderer::from_number(number))
    }
}
```

You can put the above  at the same scope as your FireRenderer trait. This is the solution I would go for in this situation, instead of doing it at top level.

If you want to avoid the heap and still get this nice dynamic type choosing, it's another kettle of fish... Then you'd probably want to have an enum at the top level:

```rust
pub enum FireRenderer {
    Powerful(MyPowerfulRenderer),
    Normal(MyRenderer),
}

pub fn from_number(number: i32) -> FireRenderer { //....
```
For maximum style points, you can then make the enum implement the Deref trait so it dereferences to the trait type, or even make the enum implement FireRenderer itself, so it can be used transparently. Enums are algebraic data types so they'll use the minimum size among the two options, and remain type safe.


### TinyCI build failure:
[make -j 3] returned [2]:
```[  6%] Built target lua
[  7%] Built target json11
[  7%] Built target miniz
[ 16%] Built target box2d
[ 43%] Built target sp2freetype
[ 73%] Built target bullet
[ 73%] Building CXX object CMakeFiles/ZeroRho.dir/src/player.cpp.o
[ 73%] Building CXX object CMakeFiles/ZeroRho.dir/home/tinyci/builds/daid/SeriousProton2/src/collision/2d/joint.cpp.o
[ 73%] Building CXX object CMakeFiles/ZeroRho.dir/home/tinyci/builds/daid/SeriousProton2/src/collision/2d/box2dBackend.cpp.o
[ 73%] Building CXX object CMakeFiles/ZeroRho.dir/home/tinyci/builds/daid/SeriousProton2/src/collision/2d/revolutejoint.cpp.o
CMakeFiles/ZeroRho.dir/build.make:110: recipe for target 'CMakeFiles/ZeroRho.dir/src/player.cpp.o' failed
CMakeFiles/Makefile2:294: recipe for target 'CMakeFiles/ZeroRho.dir/all' failed
Makefile:105: recipe for target 'all' failed

/data/tinyci_build/daid/ZeroRho/src/player.cpp: In member function 'void PlayerShip::explosion()':
/data/tinyci_build/daid/ZeroRho/src/player.cpp:130:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'acceleration'
         p.acceleration = -p.velocity * 0.3f;
           ^~~~~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:131:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'start_size'
         p.start_size = 0.5;
           ^~~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:132:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'end_size'; did you mean 'size'?
         p.end_size = 10.0;
           ^~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:133:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'start_color'
         p.start_color = sp::Color(1,1,1);
           ^~~~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:134:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'end_color'; did you mean 'color'?
         p.end_color = sp::Color(1,1,1,0);
           ^~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:149:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'acceleration'
         p.acceleration = sp::Vector3f(0, 0, 0);
           ^~~~~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:150:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'start_size'
         p.start_size = 1.5;
           ^~~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:151:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'end_size'; did you mean 'size'?
         p.end_size = 2.5;
           ^~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:152:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'start_color'
         p.start_color = sp::Color(1,1,1);
           ^~~~~~~~~~~
/data/tinyci_build/daid/ZeroRho/src/player.cpp:153:11: error: 'class sp::ParticleEmitter::Parameters' has no member named 'end_color'; did you mean 'color'?
         p.end_color = sp::Color(1,0,0,0);
           ^~~~~~~~~
make[2]: *** [CMakeFiles/ZeroRho.dir/src/player.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/ZeroRho.dir/all] Error 2
make: *** [all] Error 2
```


"start_url": "/?utm_source=homescreen"


Successfully deployed to following URLs:

* https://reisplanner-8ymy9ozex.now.sh
* https://reisplanner.xanderbindt.now.sh
* https://reisplanner-git-master.xanderbindt.now.sh


Successfully deployed to following URLs:

* https://knowledge-base-pwfit1d0g.now.sh
* https://knowledge-base.now.sh
* https://lovepp.org
* https://www.lovepp.org
* https://knowledge-base.cenzhipeng.now.sh
* https://knowledge-base-git-master.cenzhipeng.now.sh


@akcansoft Could you please append `Comment[tr]` to gpxsee.desktop file as well:
https://github.com/tumic0/GPXSee/blob/b61c39ea4616045fb8e973d0b27b5855cb70bb89/pkg/gpxsee.desktop#L3-L8


Successfully deployed to following URLs:

* https://eldebaran3000-dcdgxcqto.now.sh
* https://eldebaran3000.now.sh
* https://eldebaran3000.clementsiche.now.sh
* https://eldebaran3000-git-master.clementsiche.now.sh


Successfully deployed to following URLs:

* https://knowledge-base-mk0wv0tsj.now.sh
* https://knowledge-base.now.sh
* https://lovepp.org
* https://www.lovepp.org
* https://knowledge-base.cenzhipeng.now.sh
* https://knowledge-base-git-master.cenzhipeng.now.sh


It's very difficult for developers to understand the Xor logic, why not make it easier, like:
u32 free_mask = cmd_mask & ~busy_mask;
It has the same truth table with the Xor expression and can be be explained as [selected by cmd_mask] and [not busy], much more eaiser to understand


erz


![](https://github.trello.services/images/mini-trello-icon.png) [Search Tickets Closed](https://trello.com/c/EYVM3092/10-search-tickets-closed)


[R/calc_required_node_time.R:15:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L15) *style:* **functions should have cyclomatic complexity of less than 15, this has 17.**
```r
calc_required_node_time <- function(phy,
^
```
[R/calc_required_node_time.R:50:18:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L50) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           mu / ( (lambda - mu) *
                 ^
```
[R/calc_required_node_time.R:51:16:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L51) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           exp( (lambda - mu) * t))
               ^
```
[R/calc_required_node_time.R:66:18:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L66) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           mu / ( (lambda - mu) *
                 ^
```
[R/calc_required_node_time.R:67:16:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_required_node_time.R#L67) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
           exp( (lambda - mu) * t))
               ^
```
[R/calc_summary_statistics.R:25:15:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_summary_statistics.R#L25) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  output <- c( calc_beta(focal_tree),
              ^
```
[R/calc_time_spent_at_node.R:15:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L15) *style:* **functions should have cyclomatic complexity of less than 15, this has 22.**
```r
calc_time_spent_at_node <- function(phy,
^
```
[R/calc_time_spent_at_node.R:53:36:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                  ( (lambda - mu) * exp( (lambda - mu) * t))
                                   ^
```
[R/calc_time_spent_at_node.R:53:57:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L53) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                  ( (lambda - mu) * exp( (lambda - mu) * t))
                                                        ^
```
[R/calc_time_spent_at_node.R:69:37:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L69) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                   ( (lambda - mu) * exp( (lambda - mu) * t))
                                    ^
```
[R/calc_time_spent_at_node.R:69:58:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/calc_time_spent_at_node.R#L69) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                   ( (lambda - mu) * exp( (lambda - mu) * t))
                                                         ^
```
[R/count_hidden.R:7:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L7) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
reduce_tree <- function(tree) {
^
```
[R/count_hidden.R:10:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L10) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(num_extant_species == length(tree$tip.label)) {
    ^
```
[R/count_hidden.R:14:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L14) *style:* **Lines should not be more than 80 characters.**
```r
  extinct_species <- tree$tip.label[(num_extant_species+1):length(tree$tip.label)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/count_hidden.R:14:56:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L14) *style:* **Put spaces around all infix operators.**
```r
  extinct_species <- tree$tip.label[(num_extant_species+1):length(tree$tip.label)]
                                                      ~^~
```
[R/count_hidden.R:24:15:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L24) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    b <- desc[ desc %in% extinct_species]
              ^
```
[R/count_hidden.R:31:9:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/count_hidden.R#L31) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(n == root_node && length(b) == 1)  {
        ^
```
[R/sim_dual_independent.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_dual_independent.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_dual_independent <- function(phy,
^
```
[R/sim_dual_independent.R:14:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                                 Q1 = NULL,
                                 ^~
```
[R/sim_dual_independent.R:15:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                                 Q2 = NULL,
                                 ^~
```
[R/sim_dual_independent.R:37:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L37) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_independent.R:38:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_independent.R:41:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_dual_independent.R:42:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_dual_independent.R:71:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_dual_independent.R:84:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig_q1, rate1)
    ^
```
[R/sim_dual_independent.R:104:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L104) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_dual_independent.R:107:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_independent.R#L107) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  alignment_phydat <- phyDat.DNA( as.data.frame(res, stringsAsFactors = FALSE))
                                 ^
```
[R/sim_dual_linked.R:35:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L35) *style:* **functions should have cyclomatic complexity of less than 15, this has 17.**
```r
make_transition_matrix <- function(mut_double) {
^
```
[R/sim_dual_linked.R:111:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L111) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
sim_dual_linked <- function(phy,
^
```
[R/sim_dual_linked.R:112:29:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L112) *style:* **Variable and function name style should be snake_case.**
```r
                            Q = NULL,
                            ^
```
[R/sim_dual_linked.R:132:19:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L132) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q)) Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                  ^
```
[R/sim_dual_linked.R:135:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L135) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_dual_linked.R:187:7:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L187) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q, rate)
      ^
```
[R/sim_dual_linked.R:207:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_linked.R#L207) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_dual_parent.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_dual_parent.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_dual_parent <- function(phy,
^
```
[R/sim_dual_parent.R:14:27:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                          Q1 = NULL,
                          ^~
```
[R/sim_dual_parent.R:15:27:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                          Q2 = NULL,
                          ^~
```
[R/sim_dual_parent.R:29:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_parent.R:30:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L30) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_dual_parent.R:33:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_dual_parent.R:34:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L34) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_dual_parent.R:64:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L64) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_dual_parent.R:86:7:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L86) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q1, rate1)
      ^
```
[R/sim_dual_parent.R:105:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_dual_parent.R#L105) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_linked.R:12:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L12) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
sim_linked <- function(phy,
^
```
[R/sim_linked.R:13:24:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
                       Q = NULL,
                       ^
```
[R/sim_linked.R:33:19:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q)) Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                  ^
```
[R/sim_linked.R:36:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L36) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_linked.R:88:7:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L88) *style:* **Variable and function name style should be snake_case.**
```r
      P <- get_p_matrix(branch_length, eig_q, rate)
      ^
```
[R/sim_linked.R:108:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_linked.R#L108) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_normal.R:31:24:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L31) *style:* **Variable and function name style should be snake_case.**
```r
                       Q = NULL,
                       ^
```
[R/sim_normal.R:43:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L43) *style:* **Variable and function name style should be snake_case.**
```r
    Q <- rep(1, lbf * (lbf - 1) / 2)
    ^
```
[R/sim_normal.R:45:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L45) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[R/sim_normal.R:67:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L67) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig, rate)
    ^
```
[R/sim_normal.R:81:40:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_normal.R#L81) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(x$tip.label, as.character( (k + 1):num_nodes))
                                       ^
```
[R/sim_unlinked.R:1:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
#' simulate a sequence assuming node substitutions are shared among the offspring
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/sim_unlinked.R:13:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L13) *style:* **functions should have cyclomatic complexity of less than 15, this has 18.**
```r
sim_unlinked <- function(phy,
^
```
[R/sim_unlinked.R:14:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L14) *style:* **Variable and function name style should be snake_case.**
```r
                         Q1 = NULL,
                         ^~
```
[R/sim_unlinked.R:15:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L15) *style:* **Variable and function name style should be snake_case.**
```r
                         Q2 = NULL,
                         ^~
```
[R/sim_unlinked.R:37:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L37) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q1)) Q1 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_unlinked.R:38:20:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.null(Q2)) Q2 <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
                   ^~
```
[R/sim_unlinked.R:41:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L41) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q1)) Q1 <- Q1[lower.tri(Q1)]
                     ^~
```
[R/sim_unlinked.R:42:22:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L42) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q2)) Q2 <- Q2[lower.tri(Q2)]
                     ^~
```
[R/sim_unlinked.R:71:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(node_time, eig_q2, rate2)
    ^
```
[R/sim_unlinked.R:84:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
    P <- get_p_matrix(tl[i], eig_q1, rate1)
    ^
```
[R/sim_unlinked.R:104:42:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L104) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  label <- c(phy$tip.label, as.character( (k + 1):num_nodes))
                                         ^
```
[R/sim_unlinked.R:107:34:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/sim_unlinked.R#L107) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  alignment_phydat <- phyDat.DNA( as.data.frame(res, stringsAsFactors = FALSE))
                                 ^
```
[R/util.R:2:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L2) *style:* **Variable and function name style should be snake_case.**
```r
fast.table <- function(data) {
^~~~~~~~~~
```
[R/util.R:20:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
phyDat.DNA <- function(data) {
^~~~~~~~~~
```
[R/util.R:35:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L35) *style:* **Variable and function name style should be snake_case.**
```r
  AC <- matrix(c(c(1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1),
  ^~
```
[R/util.R:43:15:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L43) *style:* **There should be a space between right parenthesis and an opening curly brace.**
```r
  if (compress){
              ^~
```
[R/util.R:108:1:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L108) *style:* **functions should have cyclomatic complexity of less than 15, this has 23.**
```r
slow_matrix <- function(eig, branch_length, rate) {
^
```
[R/util.R:116:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/R/util.R#L116) *style:* **Variable and function name style should be snake_case.**
```r
  P <- matrix(NA, nrow = dim_size, ncol = dim_size)
  ^
```
[tests/testthat/test-calc-dist.R:19:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-calc-dist.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_error( calc_dist(seq_node_sub$alignment) )
                         ^
```
[tests/testthat/test-calc-dist.R:19:60:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-calc-dist.R#L19) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_error( calc_dist(seq_node_sub$alignment) )
                                                           ^
```
[tests/testthat/test-create_equal_alignment.R:22:26:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-create_equal_alignment.R#L22) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  testthat::expect_equal( length(seq_alt$alignment),
                         ^
```
[tests/testthat/test-dual_independent.R:10:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-dual_independent.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-dual_parent.R:9:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-dual_parent.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-dual-linked.R:9:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-dual-linked.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-sim_normal.R:20:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-sim_normal.R#L20) *style:* **Variable and function name style should be snake_case.**
```r
  Q_JC <- matrix(1, nrow = 4, ncol = 4)
  ^~~~
```
[tests/testthat/test-substitution.R:10:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
  ^
```
[tests/testthat/test-substitution.R:13:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L13) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[tests/testthat/test-substitution.R:29:5:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L29) *style:* **Variable and function name style should be snake_case.**
```r
    P <- nodeSub::slow_matrix(eig = eig_q,
    ^
```
[tests/testthat/test-substitution.R:84:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L84) *style:* **Variable and function name style should be snake_case.**
```r
  Q <- rep(1, lbf * (lbf - 1) / 2) # default is JC69
  ^
```
[tests/testthat/test-substitution.R:87:21:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L87) *style:* **Variable and function name style should be snake_case.**
```r
  if (is.matrix(Q)) Q <- Q[lower.tri(Q)]
                    ^
```
[tests/testthat/test-substitution.R:94:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L94) *style:* **Variable and function name style should be snake_case.**
```r
  P1 <- nodeSub::slow_matrix(eig = eig_q,
  ^~
```
[tests/testthat/test-substitution.R:98:3:](https://github.com/thijsjanzen/nodeSub/blob/5b93a05d3d4e7086a5f7fcb1ba20eba405a275a0/tests/testthat/test-substitution.R#L98) *style:* **Variable and function name style should be snake_case.**
```r
  P2 <- get_p_matrix(branch_length, eig_q, rate)
  ^~
```


Successfully deployed to following URLs:

* https://ui-nfu1k4wid.now.sh
* https://ui.roleypoly.com
* https://ui.roleypoly.now.sh
* https://ui-git-master.roleypoly.now.sh


@comradekingu  Could you please append `Comment[nb]` to gpxsee.desktop file as well:
https://github.com/tumic0/GPXSee/blob/b61c39ea4616045fb8e973d0b27b5855cb70bb89/pkg/gpxsee.desktop#L3-L8


commit comments aren't very descriptive, no clue what does "adding my Lab #5 with topic as merge sort" mean


variable name should start from lower letter
what Col name means? is it columns?