@startuml
!pragma layout smetana
set separator none
hide empty description
hide stereotype
skinparam state {
  BackgroundColor white
  BorderColor #94a3b8
  BorderThickness 1
  FontName Inter
  FontSize 9
  FontStyle bold
  RoundCorner 20
  Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self

[*] --> String.NEW


String.NEW -[#1E90FF,bold]-> String.AUTHORIZED <<external>> : String.AUTHORIZE
String.AUTHORIZED -[#1E90FF,bold]-> String.CAPTURED <<external>> : String.CAPTURE
String.NEW -[#1E90FF,bold]-> String.DECLINED <<external>> : String.DECLINE
String.NEW -[#1E90FF,bold]-> String.QUIRK1 <<external>> : String.PRIMARY_EVENT
String.NEW -[#1E90FF,bold]-> String.QUIRK2 <<external>> : String.NAMED_EVENT
String.NEW -[#1E90FF,bold]-> String.QUIRK3 <<external>> : String.QUALIFIER_EVENT
String.NEW -[#1E90FF,bold]-> String.QUIRK4 <<external>> : String.FALLBACK_EVENT

String.DECLINED --> [*]
String.QUIRK2 --> [*]
String.QUIRK1 --> [*]
String.QUIRK4 --> [*]
String.QUIRK3 --> [*]
String.CAPTURED --> [*]
@enduml

