Packet #9276097 Success

TRACEROUTE_APP packet from EA4LS QTH (4LS1) to Zrkt

13
Total Receptions
13
Unique Gateways
3
Hop Count
61
Payload Bytes
Packet Information
Database ID: 9276097
Mesh Packet ID: 0x111c864b
Used for correlation across gateways
Timestamp: 2025-09-05 12:54:02 UTC
From Node: EA4LS QTH (4LS1)
To Node: Zrkt (0424)
Success: Processed
Protocol: TRACEROUTE_APP
Port: 70
Gateway: Meshtastic c498πŸ“‘πŸŒ (C498)
Channel: MediumSlow
RSSI: -119 dBm
SNR: -16.25 dBm
Hop Info: 3/3 hops
Start: 3, Limit: 0
Payload Data
Protocol: TRACEROUTE_APP
Size: 61 bytes
Decoded: Yes
Decoded Data:
Route Information
Route Path: !ffffffff β†’ Perseo πŸ“‘ 🌐 (nvm1)
Hop Count: 1 hops
Status: Forward incomplete, Return in progress
SNR Towards: -32.0 dB -6.75 dB 7.75 dB
Return Path: Perseo πŸ“‘ 🌐 (nvm1) β†’ Carlos 3d56 πŸ—Όβ˜€οΈ (3d56) β†’ RigelπŸ—ΌπŸŒž (RIG)
SNR Back: 2.0 dB 0.0 dB -3.75 dB
Route Visualization
Loading...

Loading route map...

Map shows the geographic path if nodes have shared location data.
Traceroute Steps
Hop From Node To Node Distance SNR (dB) Direction Analysis
1 Zrkt !ffffffff Unknown -32.0 dB Origin Hops
2 !ffffffff Perseo πŸ“‘ 🌐 (nvm1) Unknown -6.75 dB Relay Hops
3 Perseo πŸ“‘ 🌐 (nvm1) EA4LS QTH (4LS1) 10.27 km 7.75 dB Relay Hops
Traceroute incomplete - Final destination not reached
Return Path Steps
Hop From Node To Node Distance SNR (dB) Direction Analysis
1 EA4LS QTH (4LS1) Perseo πŸ“‘ 🌐 (nvm1) 10.27 km 2.0 dB Return Start Hops
2 Perseo πŸ“‘ 🌐 (nvm1) Carlos 3d56 πŸ—Όβ˜€οΈ (3d56) 38.67 km 0.0 dB Return Relay Hops
3 Carlos 3d56 πŸ—Όβ˜€οΈ (3d56) RigelπŸ—ΌπŸŒž (RIG) 60.73 km -3.75 dB Return End Hops
Total Forward Distance
10.27 km
Total Return Distance
109.67 km
Combined Traceroute Graph
Controls: Drag nodes to rearrange β€’ Mouse wheel to zoom β€’ Click and drag background to pan β€’ Hover for details
Loading graph...

Building graph...

Legend & Paths
Nodes
πŸ”„ Router Node
πŸ“‘ Gateway Node
πŸš€ Source Node
🎯 Target Node
Connections
RF Link
Gateway Connection
Direct Reception (0 hops)
Packet Paths
Loading paths...
Raw Packet Analysis
Complete field breakdown and MQTT privacy/exposure analysis
Packet Structure
MQTT Packet Flow:
ServiceEnvelope (MQTT layer) β†’ MeshPacket (Mesh layer) β†’ Decoded Payload (Application data)
Total Size:61 bytes
Gateway:!7c5ac498
Channel:MediumSlow
Payload Type:TRACEROUTE_APP
Hop Count:3 / 3
Privacy Summary
Exposure Level:
Direct Message
Privacy Features:
βœ“ Direct LoRa transmission (not via MQTT)
βœ“ Acknowledgment requested
+ 3 more...
Exposure Risks:
⚠ Packet visible to MQTT subscribers
⚠ Multi-hop path visible (3 hops)
+ 1 more...
MQTT ServiceEnvelope Fields

MQTT ServiceEnvelope contains the MeshPacket plus routing metadata

FieldValue
gateway_id !7c5ac498
Node ID format
channel_id MediumSlow
packet MeshPacket (61 bytes)
Contains the actual mesh network packet
MeshPacket Fields

Core mesh packet with routing and payload information

FieldValueType
from 3127200688
Source node ID
uint32
to 1819542564
Target node ID
uint32
decoded.portnum 70
TRACEROUTE_APP
enum
decoded.payload_length 61 bytes size
hop_limit Not set uint32
hop_start 3
Initial hop limit
uint32
hops_taken 3
Calculated: hop_start - hop_limit
derived
rx_rssi -119.0 dBm
Signal strength at gateway
int32
rx_snr -16.25 dB
Signal quality at gateway
float
rx_time 1757076842
Receive timestamp
fixed32
via_mqtt False
Direct LoRa transmission
bool
want_ack True
Acknowledgment requested
bool
priority Not set enum
delayed Not set enum
channel Not set uint32
pki_encrypted False
Standard encryption
bool
next_hop Not set uint32
relay_node Not set uint32
tx_after Not set uint32
timestamp 1757076842.916336
Unix timestamp
uint32
MQTT Privacy & Exposure Analysis

Analysis of privacy features and exposure risks when packet is shared via MQTT

Exposure Level: Direct Message
Privacy Features:
  • βœ“ Direct LoRa transmission (not via MQTT)
  • βœ“ Acknowledgment requested
  • βœ“ Targeted to specific node
  • βœ“ Custom channel: MediumSlow
  • βœ“ Gateway node ID tracked
Exposure Risks:
  • ⚠ Packet visible to MQTT subscribers
  • ⚠ Multi-hop path visible (3 hops)
  • ⚠ RF signal metrics exposed (location inference possible)
MQTT-Specific Fields
Want ack: True
Gateway ID: !7c5ac498
Signal Metrics: RSSI: -119.0 dBm
SNR: -16.25 dB
Complete Payload Analysis

Detailed breakdown of all payload fields and decoded data

Payload Metadata:
Protocol:TRACEROUTE_APP
Size:61 bytes
Decoded: Yes
Complete Payload Data (JSON):
{ "route_nodes": [ 4294967295, 2687838088 ], "snr_towards": [ -32.0, -6.75, 7.75 ], "route_back": [ 2687838088, 2220506454, 4258464776 ], "snr_back": [ 2.0, 0.0, -3.75 ], "route_node_names": { "1819542564": "Zrkt", "2687838088": "Perseo πŸ“‘ 🌐 (nvm1)", "4258464776": "RigelπŸ—ΌπŸŒž (RIG)", "3127200688": "EA4LS QTH (4LS1)", "2220506454": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "4294967295": "!ffffffff" }, "traceroute_packet": { "packet_data": { "id": 9276097, "timestamp": 1757076842.916336, "from_node_id": 3127200688, "to_node_id": 1819542564, "portnum": 70, "portnum_name": "TRACEROUTE_APP", "gateway_id": "!7c5ac498", "channel_id": "MediumSlow", "mesh_packet_id": 287082059, "rssi": -119, "snr": -16.25, "hop_limit": 0, "hop_start": 3, "payload_length": 61, "processed_successfully": 1, "raw_payload": "0a08ffffffff882735a0121580ffffffffffffffff01e5ffffffffffffffff011f1a0c882735a0563d5a840804d3fd220c0800f1ffffffffffffffff01", "via_mqtt": 0, "want_ack": 1, "priority": 0, "delayed": 0, "channel_index": null, "rx_time": 1757076842, "pki_encrypted": 0, "next_hop": 0, "relay_node": 0, "tx_after": 0, "timestamp_str": "2025-09-05 12:54:02", "hop_count": 3, "has_payload": true, "success": 1, "from_node_name": "EA4LS QTH (4LS1)", "to_node_name": "Zrkt", "gateway_name": "Meshtastic c498πŸ“‘πŸŒ (C498)", "gateway_location": { "node_id": 2086323352, "latitude": 40.33255, "longitude": -3.71885, "altitude": 16, "timestamp": 1758089084.0442827, "timestamp_str": "2025-09-17 06:04:44", "display_name": "Meshtastic c498πŸ“‘πŸŒ", "long_name": "Meshtastic c498πŸ“‘πŸŒ", "short_name": "C498", "hw_model": "HELTEC_WSL_V3" } }, "resolve_names": true, "packet_id": 9276097, "from_node_id": 3127200688, "to_node_id": 1819542564, "timestamp": 1757076842.916336, "gateway_id": "!7c5ac498", "raw_payload": "0a08ffffffff882735a0121580ffffffffffffffff01e5ffffffffffffffff011f1a0c882735a0563d5a840804d3fd220c0800f1ffffffffffffffff01", "hop_limit": 0, "hop_start": 3, "from_node_name": "EA4LS QTH (4LS1)", "to_node_name": "Zrkt", "route_data": { "route_nodes": [ 4294967295, 2687838088 ], "snr_towards": [ -32.0, -6.75, 7.75 ], "route_back": [ 2687838088, 2220506454, 4258464776 ], "snr_back": [ 2.0, 0.0, -3.75 ] }, "forward_path": { "path_type": "forward_with_return", "node_ids": [ 1819542564, 4294967295, 2687838088, 3127200688 ], "node_names": [ "Zrkt", "!ffffffff", "Perseo πŸ“‘ 🌐 (nvm1)", "EA4LS QTH (4LS1)" ], "snr_values": [ -32.0, -6.75, 7.75 ], "hops": [ { "hop_number": 1, "from_node_id": 1819542564, "to_node_id": 4294967295, "from_node_name": "Zrkt", "to_node_name": "!ffffffff", "snr": -32.0, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 2, "from_node_id": 4294967295, "to_node_id": 2687838088, "from_node_name": "!ffffffff", "to_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "snr": -6.75, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 3, "from_node_id": 2687838088, "to_node_id": 3127200688, "from_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "to_node_name": "EA4LS QTH (4LS1)", "snr": 7.75, "direction": "forward", "is_target_hop": false, "distance_meters": 10266.072577979396, "from_location_timestamp": 1757052705.9654865, "to_location_timestamp": 1757064680.7757003, "from_location_age_warning": "from 6.7h ago", "to_location_age_warning": "from 3.4h ago" } ], "is_complete": false, "total_hops": 3 }, "return_path": { "path_type": "return", "node_ids": [ 3127200688, 2687838088, 2220506454, 4258464776 ], "node_names": [ "EA4LS QTH (4LS1)", "Perseo πŸ“‘ 🌐 (nvm1)", "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "RigelπŸ—ΌπŸŒž (RIG)" ], "snr_values": [ 2.0, 0.0, -3.75 ], "hops": [ { "hop_number": 1, "from_node_id": 3127200688, "to_node_id": 2687838088, "from_node_name": "EA4LS QTH (4LS1)", "to_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "snr": 2.0, "direction": "return", "is_target_hop": false, "distance_meters": 10266.072577979396, "from_location_timestamp": 1757064680.7757003, "to_location_timestamp": 1757052705.9654865, "from_location_age_warning": "from 3.4h ago", "to_location_age_warning": "from 6.7h ago" }, { "hop_number": 2, "from_node_id": 2687838088, "to_node_id": 2220506454, "from_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "to_node_name": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "snr": 0.0, "direction": "return", "is_target_hop": false, "distance_meters": 38674.75361606768, "from_location_timestamp": 1757052705.9654865, "to_location_timestamp": 1757068995.8858857, "from_location_age_warning": "from 6.7h ago", "to_location_age_warning": "from 2.2h ago" }, { "hop_number": 3, "from_node_id": 2220506454, "to_node_id": 4258464776, "from_node_name": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "to_node_name": "RigelπŸ—ΌπŸŒž (RIG)", "snr": -3.75, "direction": "return", "is_target_hop": false, "distance_meters": 60729.784549535325, "from_location_timestamp": 1757068995.8858857, "to_location_timestamp": 1757052342.9740894, "from_location_age_warning": "from 2.2h ago", "to_location_age_warning": "from 6.8h ago" } ], "is_complete": false, "total_hops": 3 }, "actual_rf_path": { "path_type": "combined_rf", "node_ids": [ 1819542564, 4294967295, 2687838088, 3127200688, 2220506454, 4258464776 ], "node_names": [ "Zrkt", "!ffffffff", "Perseo πŸ“‘ 🌐 (nvm1)", "EA4LS QTH (4LS1)", "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "RigelπŸ—ΌπŸŒž (RIG)" ], "snr_values": [ -32.0, -6.75, 7.75, 2.0, 0.0, -3.75 ], "hops": [ { "hop_number": 1, "from_node_id": 1819542564, "to_node_id": 4294967295, "from_node_name": "Zrkt", "to_node_name": "!ffffffff", "snr": -32.0, "direction": "forward_rf", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 2, "from_node_id": 4294967295, "to_node_id": 2687838088, "from_node_name": "!ffffffff", "to_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "snr": -6.75, "direction": "forward_rf", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 3, "from_node_id": 2687838088, "to_node_id": 3127200688, "from_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "to_node_name": "EA4LS QTH (4LS1)", "snr": 7.75, "direction": "forward_rf", "is_target_hop": false, "distance_meters": 10266.072577979396, "from_location_timestamp": 1757052705.9654865, "to_location_timestamp": 1757064680.7757003, "from_location_age_warning": "from 6.7h ago", "to_location_age_warning": "from 3.4h ago" }, { "hop_number": 4, "from_node_id": 3127200688, "to_node_id": 2687838088, "from_node_name": "EA4LS QTH (4LS1)", "to_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "snr": 2.0, "direction": "return_rf", "is_target_hop": false, "distance_meters": 10266.072577979396, "from_location_timestamp": 1757064680.7757003, "to_location_timestamp": 1757052705.9654865, "from_location_age_warning": "from 3.4h ago", "to_location_age_warning": "from 6.7h ago" }, { "hop_number": 5, "from_node_id": 2687838088, "to_node_id": 2220506454, "from_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "to_node_name": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "snr": 0.0, "direction": "return_rf", "is_target_hop": false, "distance_meters": 38674.75361606768, "from_location_timestamp": 1757052705.9654865, "to_location_timestamp": 1757068995.8858857, "from_location_age_warning": "from 6.7h ago", "to_location_age_warning": "from 2.2h ago" }, { "hop_number": 6, "from_node_id": 2220506454, "to_node_id": 4258464776, "from_node_name": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "to_node_name": "RigelπŸ—ΌπŸŒž (RIG)", "snr": -3.75, "direction": "return_rf", "is_target_hop": false, "distance_meters": 60729.784549535325, "from_location_timestamp": 1757068995.8858857, "to_location_timestamp": 1757052342.9740894, "from_location_age_warning": "from 2.2h ago", "to_location_age_warning": "from 6.8h ago" } ], "is_complete": false, "total_hops": 6 } }, "has_return_path": true, "is_complete": false, "forward_path_display": "Zrkt β†’ !ffffffff β†’ Perseo πŸ“‘ 🌐 (nvm1) β†’ EA4LS QTH (4LS1)", "return_path_display": "EA4LS QTH (4LS1) β†’ Perseo πŸ“‘ 🌐 (nvm1) β†’ Carlos 3d56 πŸ—Όβ˜€οΈ (3d56) β†’ RigelπŸ—ΌπŸŒž (RIG)", "actual_rf_path_display": "Zrkt β†’ !ffffffff β†’ Perseo πŸ“‘ 🌐 (nvm1) β†’ EA4LS QTH (4LS1) β†’ Carlos 3d56 πŸ—Όβ˜€οΈ (3d56) β†’ RigelπŸ—ΌπŸŒž (RIG)", "forward_hops": [ { "hop_number": 1, "from_node_id": 1819542564, "to_node_id": 4294967295, "from_node_name": "Zrkt", "to_node_name": "!ffffffff", "snr": -32.0, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 2, "from_node_id": 4294967295, "to_node_id": 2687838088, "from_node_name": "!ffffffff", "to_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "snr": -6.75, "direction": "forward", "is_target_hop": false, "distance_meters": null, "from_location_timestamp": null, "to_location_timestamp": null, "from_location_age_warning": "No location data available", "to_location_age_warning": "No location data available" }, { "hop_number": 3, "from_node_id": 2687838088, "to_node_id": 3127200688, "from_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "to_node_name": "EA4LS QTH (4LS1)", "snr": 7.75, "direction": "forward", "is_target_hop": false, "distance_meters": 10266.072577979396, "from_location_timestamp": 1757052705.9654865, "to_location_timestamp": 1757064680.7757003, "from_location_age_warning": "from 6.7h ago", "to_location_age_warning": "from 3.4h ago" } ], "return_hops": [ { "hop_number": 1, "from_node_id": 3127200688, "to_node_id": 2687838088, "from_node_name": "EA4LS QTH (4LS1)", "to_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "snr": 2.0, "direction": "return", "is_target_hop": false, "distance_meters": 10266.072577979396, "from_location_timestamp": 1757064680.7757003, "to_location_timestamp": 1757052705.9654865, "from_location_age_warning": "from 3.4h ago", "to_location_age_warning": "from 6.7h ago" }, { "hop_number": 2, "from_node_id": 2687838088, "to_node_id": 2220506454, "from_node_name": "Perseo πŸ“‘ 🌐 (nvm1)", "to_node_name": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "snr": 0.0, "direction": "return", "is_target_hop": false, "distance_meters": 38674.75361606768, "from_location_timestamp": 1757052705.9654865, "to_location_timestamp": 1757068995.8858857, "from_location_age_warning": "from 6.7h ago", "to_location_age_warning": "from 2.2h ago" }, { "hop_number": 3, "from_node_id": 2220506454, "to_node_id": 4258464776, "from_node_name": "Carlos 3d56 πŸ—Όβ˜€οΈ (3d56)", "to_node_name": "RigelπŸ—ΌπŸŒž (RIG)", "snr": -3.75, "direction": "return", "is_target_hop": false, "distance_meters": 60729.784549535325, "from_location_timestamp": 1757068995.8858857, "to_location_timestamp": 1757052342.9740894, "from_location_age_warning": "from 2.2h ago", "to_location_age_warning": "from 6.8h ago" } ], "total_forward_distance": 10266.072577979396, "total_return_distance": 109670.61074358241 }
Complete Protobuf Decode (JSON)
{ "service_envelope": { "gateway_id": "!7c5ac498", "channel_id": "MediumSlow", "packet": "MeshPacket (see mesh_packet below)" }, "mesh_packet": { "from": 3127200688, "to": 1819542564, "id": 287082059, "rx_time": 1757076842, "rx_snr": -16.25, "rx_rssi": -119, "hop_limit": 0, "hop_start": 3, "via_mqtt": 0, "want_ack": 1, "priority": 0, "delayed": 0, "channel_index": null, "pki_encrypted": 0, "next_hop": 0, "relay_node": 0, "tx_after": 0, "decoded": { "portnum": 70, "payload": "0a08ffffffff882735a0121580ffffffffffffffff01e5ffffffffffffffff011f1a0c882735a0563d5a840804d3fd220c0800f1ffffffffffffffff01", "want_response": null, "dest": null, "source": null, "request_id": null, "reply_id": null, "emoji": null, "parsed_payload": { "route": [ 4294967295, 2687838088 ], "snr_towards": [ -128, -27, 31 ], "route_back": [ 2687838088, 2220506454, 4258464776 ], "snr_back": [ 8, 0, -15 ], "type": "protobuf", "portnum": "TRACEROUTE_APP", "message_class": "RouteDiscovery" } } } }
Raw Packet Data (61 bytes)
0a08ffffffff882735a0121580ffffffffffffffff01e5ffffffffffffffff011f1a0c882735a0563d5a840804d3fd220c0800f1ffffffffffffffff01
Hex Analysis:
Size:61 bytes
Format:Protobuf (Protocol Buffers)
Encoding:Binary with varint and length-delimited fields
This is the raw protobuf-encoded payload as received from MQTT. The structure follows the Meshtastic protobuf schema definitions.
All Receptions
All gateways that received this packet
Correlation: Using Mesh Packet ID
Reception Locations
Loading...

Loading reception map...

Map shows gateway locations that received this packet. Hop counts are displayed if available.
Gateway Time Offset RSSI SNR Hops Channel Timestamp Actions
Meshtastic c498πŸ“‘πŸŒ (C498) Primary 0.000s
Reference
-119.0 dBm -16.25 dB 3 MediumSlow 2025-09-05 12:54:02 Current
Perseo πŸ“‘ 🌐 (nvm1) -7.363s
Before
-87.0 dBm 2.00 dB 0 MediumSlow 2025-09-05 12:53:55 View
@lazynoda cocidito πŸ₯΅ πŸ—ΌπŸŒ (LNCM) -6.053s
Before
-124.0 dBm -12.75 dB 1 MediumSlow 2025-09-05 12:53:56 View
Venturada2πŸ—ΌπŸŒβ˜€οΈ (Vb2) -3.130s
Before
-102.0 dBm -3.00 dB 1 MediumSlow 2025-09-05 12:53:59 View
MalasaΓ±a Solar β˜€οΈ (πŸŒ‡) -2.814s
Before
-81.0 dBm 7.50 dB 1 MediumSlow 2025-09-05 12:54:00 View
SkG@Somewhere 🀨 (SkGs) -1.858s
Before
-106.0 dBm -1.50 dB 2 MediumSlow 2025-09-05 12:54:01 View
GRN1-BaseπŸ—ΌπŸŒ (GRN1) -1.805s
Before
-111.0 dBm -1.25 dB 2 MediumSlow 2025-09-05 12:54:01 View
Tlgo πŸ“‘πŸŒπŸ”‹πŸ”Œ (TLG0) -1.800s
Before
-111.0 dBm -4.75 dB 2 MediumSlow 2025-09-05 12:54:01 View
Meshtastic fbec (fbec) -0.751s
Before
-127.0 dBm -7.50 dB 2 MediumSlow 2025-09-05 12:54:02 View
Meshtastic 4e6a (4e6a) -0.266s
Before
-88.0 dBm -1.00 dB 3 MediumSlow 2025-09-05 12:54:02 View
Mec Rocket Meco (MRM) -0.191s
Before
-115.0 dBm -15.75 dB 3 MediumSlow 2025-09-05 12:54:02 View
RodashtasticπŸ—ΌπŸŒ (RDSt) -0.012s
Before
-112.0 dBm -4.00 dB 3 MediumSlow 2025-09-05 12:54:02 View
Ocumare_Base_πŸ—ΌπŸŒ (CATA) +1.045s
After
-105.0 dBm -7.00 dB 3 MediumSlow 2025-09-05 12:54:03 View
13

Total Receptions

13

Unique Gateways