| line | !l | l&&!r | l&&r | condition | 
 
| 113 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
| 185 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
| 248 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
| 283 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
| 314 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
} | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
} and !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
} | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
} and !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
} and !exists($$i{'untag'}) || do {
	do {
	Type::Tiny::XS::Bool($$i{'untag'})
}
} | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) and !exists($$i{'company_id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'company_id'})
}
} | 
 
|  | 0 | 0 | 0 | ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) and !exists($$i{'company_id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'company_id'})
}
} and !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
} | 
 
| 356 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
| 386 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
| 431 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
|  | 0 | 0 | 0 | defined $v and not ref $v | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do {
	Type::Tiny::XS::Str($$v{'url'})
} | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do {
	$$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'}
} | 
 
|  | 0 | 0 | 0 | ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do {
	$$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'}
} and exists $$v{'currency'} | 
 
| 483 | 0 | 0 | 0 | $#_ == 0 && ref $_[0] eq 'HASH' | 
 
|  | 0 | 0 | 0 | ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) | 
 
|  | 0 | 0 | 0 | ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} | 
 
|  | 0 | 0 | 0 | ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} and !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
} | 
 
|  | 0 | 0 | 0 | ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} and !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
} and exists $$from{'type'} | 
 
|  | 0 | 0 | 0 | ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} and !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
} and exists $$from{'type'} and do {
	$$from{'type'} =~ /$Types::Standard::_StrMatch{'(?^u:^(admin|user)$)'}/u if not ref $$from{'type'}
} | 
 
|  | 0 | 0 | 0 | ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) | 
 
|  | 0 | 0 | 0 | ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} | 
 
|  | 0 | 0 | 0 | ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} and !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
} | 
 
|  | 0 | 0 | 0 | ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} and !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
} and exists $$to{'type'} | 
 
|  | 0 | 0 | 0 | ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} and !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
} and exists $$to{'type'} and do {
	$$to{'type'} =~ /$Types::Standard::_StrMatch{'(?^u:^(admin|user)$)'}/u if not ref $$to{'type'}
} | 
 
| 485 | 0 | 0 | 0 | defined $message_type and $message_type eq 'email' | 
 
| 516 | 0 | 0 | 0 | $#_ == 1 && ref $_[1] eq 'HASH' | 
| line | l | !l&&r | !l&&!r | condition | 
 
| 113 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
| 185 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
| 248 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
| 283 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
| 314 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
|  | 0 | 0 | 0 | not exists $$i{'user_id'} or do {
	do {
	Type::Tiny::XS::Str($$i{'user_id'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$i{'untag'}) || do {
	do {
	Type::Tiny::XS::Bool($$i{'untag'})
}
} | 
 
|  | 0 | 0 | 0 | not exists $$i{'untag'} or do {
	do {
	Type::Tiny::XS::Bool($$i{'untag'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$i{'company_id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'company_id'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
} | 
 
| 356 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
| 386 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
| 431 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
|  | 0 | 0 | 0 | not exists $$v{'value'} or do {
	do {
	Type::Tiny::XS::Str($$v{'value'})
}
} | 
 
|  | 0 | 0 | 0 | defined $v and not ref $v or do {
	not exists $$v{'value'} or do {
	do {
	Type::Tiny::XS::Str($$v{'value'})
}
} if ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do {
	Type::Tiny::XS::Str($$v{'url'})
}
} | 
 
|  | 0 | 0 | 0 | defined $v and not ref $v or do {
	not exists $$v{'value'} or do {
	do {
	Type::Tiny::XS::Str($$v{'value'})
}
} if ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do {
	Type::Tiny::XS::Str($$v{'url'})
}
} or do {
	if (ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do {
	$$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'}
} and exists $$v{'currency'}) {
	Type::Tiny::XS::Str($$v{'currency'});
}
} | 
 
| 433 | 0 | 0 | 0 | defined $user_id or defined $email | 
 
| 483 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") | 
 
|  | 0 | 0 | 0 | not exists $$from{'user_id'} or do {
	do {
	Type::Tiny::XS::Str($$from{'user_id'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
} | 
 
|  | 0 | 0 | 0 | not exists $$to{'user_id'} or do {
	do {
	Type::Tiny::XS::Str($$to{'user_id'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} | 
 
|  | 0 | 0 | 0 | !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
} | 
 
| 516 | 0 | 0 | 0 | $OK{$_} or Carp::croak("Unknown named parameter: $_") |