# Configuration Examples

Complete, valid tenant configurations demonstrating common patterns.
Each example can be fetched directly as JSON.

## Delivery Service

### Caching

#### Cache Tag

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/caching/cache_tag/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
        },
        "onOriginResponse": {
            "features": {
                "cacheTag": {
                    "prefix" : "customer_id_123",
                    "honorOriginSurrogateKey" :true,
                    "createDomainTag" : true,
                    "createPathTag" : true,
                    "createDomainAndPathTag" : true
                }
            }
        }
    }
}
```

#### Honor Origin

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/caching/honor_origin/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "caching" : {
                    "rules": [{
                                "args": {
                                    "ttl_seconds": 0,
                                    "must_revalidate": true,
                                    "honor_origin": true
                                }
                    }]
                }
            }
        }
    }
}
```

#### Multiple Rules

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/caching/multiple_rules/tenant.json`

```json
{
  "delivery_config": {
    "version": "1.0",
    "onClientRequest": {
      "features": {
        "caching": {
          "rules": [
            {
              "args": {
                "ttl_seconds": 3600,
                "honor_origin": false
              },
              "matchAll": {
                "paths_startswith": "/static/",
                "extension": ["css", "js", "jpg", "png", "gif", "svg"]
              }
            },
            {
              "args": {
                "ttl_seconds": 7200,
                "must_revalidate": false
              },
              "matchAll": {
                "paths_wildcard": "/products/*/images/*",
                "extension": ["webp", "avif"]
              }
            },
            {
              "args": {
                "ttl_seconds": 604800,
                "honor_origin": false
              },
              "matchAll": {
                "paths_wildcard": "/assets/fonts/*",
                "extension": ["woff2", "woff", "ttf"]
              }
            },
            {
              "args": {
                "bypass": true
              },
              "matchAll": {
                "reqheader_startswith_values": {
                  "Authorization": ["Bearer "]
                }
              }
            },
            {
              "args": {
                "bypass": true
              },
              "matchAll": {
                "paths_startswith": "/api/catalog",
                "method": "GET"
              }
            },
            {
              "args": {
                "bypass": true
              },
              "matchAny": {
                "paths_startswith": ["/checkout", "/cart"],
                "cookie_name": ["session_id", "user_token"]
              }
            },
            {
              "args": {
                "bypass": true
              },
              "matchAll": {
                "paths_startswith": "/api/user",
                "method": ["POST", "PUT", "DELETE"]
              }
            },
            {
              "args": {
                "ttl_seconds": 7200,
                "must_revalidate": false
              },
              "matchAll": {
                "paths_wildcard": "/products/*/images/*",
                "extension": ["webp", "avif"]
              }
            },
            {
              "args": {
                "ttl_seconds": 1800
              },
              "matchAll": {
                "paths_startswith": "/api/",
                "query_exists": "version"
              },
              "matchNone": {
                "query_exists": "nocache"
              }
            },
            {
              "args": {
                "ttl_seconds": 604800,
                "honor_origin": false
              },
              "matchAll": {
                "paths_wildcard": "/assets/fonts/*",
                "extension": ["woff2", "woff", "ttf"]
              }
            },
            {
              "args": {
                "bypass": true
              },
              "matchAll": {
                "paths_full": "/api/status",
                "method": "GET"
              }
            },
            {
              "args": {
                "ttl_seconds": 300,
                "honor_origin": true
              }
            }
          ]
        }
      }
    }
  }
}
```

#### Allow Methods

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/allow_methods/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "allowPost": true,
                "allowPut": true,
                "allowPatch": true,
                "allowDelete": {
                    "rules" : [
                        {
                            "matchAll": { "paths": ["/posts/remove"] },
                            "args" : {"enabled" : true}
                        }
                    ]
                }
            }
        }
    }
}
```

#### Compression Content-Type

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/compression_content-type/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onClientResponse": {
            "features": {
                "compression": {
                    "rules" : [
                        {
                            "matchAll": {
                                "paths_startswith": ["/static/"],
                                "respheader_wildcard_values" : { "Content-Type" : ["text/*"] }
                            },
                            "args" : {"enabled" : true}
                        }
                    ]
                }

            }
        }
    }
}
```

#### Downstreamcaching

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/downstreamCaching/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "downstreamCaching": {
                    "rules" : [
                        {
                            "matchAll": {
                                "paths_startswith": ["/static/"]
                            },
                            "args": {
                                "behavior": "ALLOW",
                                "allow_behavior": "FROM_VALUE",
                                "ttl_seconds": 86400,
                                "send_private": true
                            }
                        },
                        {
                            "args": {
                                "behavior": "ALLOW",
                                "allow_behavior": "PASS_ORIGIN"
                            }
                        }
                    ]
                }

            }
        }
    }
}
```

#### Hsts

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/hsts/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "hsts": {
                    "maxAge": 31536000,
                    "includeSubDomains": true,
                    "preload": true
                }
            }
        }
    }
}
```

#### Redirect

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/redirect/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "redirect": {
                    "rules": [{
                                "matchAny": {
                                    "paths_startswith" : ["/blog"]
                                },
                                "args": {
                                        "status": 301,
                                        "location": "{{scheme}}://blog.example.com{{path}}{{?query}}"
                                }
                            }]
                }
            }
        }
    }
}
```

#### Respondwith 404

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/respondWith_404/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onClientResponse": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "status": [404]
                            },
                            "args": {
                                "status": 404,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ],
                                    "X-Custom-Error": [
                                        "Not Found"
                                    ]
                                },
                                "body": "<!DOCTYPE html><html><head><title>404 Not Found</title></head><body><h1>Page Not Found</h1><p>The requested resource could not be found on this server.</p></body></html>"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Respondwith 503

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/respondWith_503/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onClientResponse": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "status": [503]
                            },
                            "args": {
                                "status": 503,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ],
                                    "X-Custom-Error": [
                                        "Service Unavailable"
                                    ],
                                    "X-Reference-ID": ["#{{grn}}"]
                                },
                                "body": "<!DOCTYPE html><html><head><title>503 Service Unavailable RefId #{{grn}}</title></head><body><h1>Service Unavailable</h1><p>The server is currently unable to handle the request due to a temporary overload or scheduled maintenance. Reference ID: #{{grn}}</p></body></html>"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Respondwith Origin Timeout

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/respondWith_origin_timeout/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onClientResponse": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "origin_timeout": true
                            },
                            "args": {
                                "status": 504,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ],
                                    "X-Custom-Error": [
                                        "Gateway Timeout"
                                    ]
                                },
                                "body": "<!DOCTYPE html><html><head><title>504 Gateway Timeout</title></head><body><h1>Gateway Timeout</h1><p>The origin server did not respond in time. Please try again later.</p></body></html>"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Tenanttagging

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/tenantTagging/tenant.json`

```json
{
    "tenant_id" : "tag_abc",
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "tenantTag" : ["tenant_id_replacesme", "tag_abc"]
            }
        }
    }
}
```

#### Transport Protocols

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/transport_protocols/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "http2": true,
                "chunkedTransferEncoding": true,
                "compression": {
                    "rules" : [
                        {
                            "matchAll": { "paths_startswith": ["/static/js", "/static/css"] },
                            "args" : {"enabled" : true}
                        }
                    ]
                },
                "http3" : "true",
                "webSockets": {
                    "rules" : [
                        {
                            "matchAll": { "paths_startswith": ["/api/chat"] },
                            "args" : {"enabled" : true}
                        }
                    ]

                }
            }
        }
    }
}
```

### Headers

#### Add Edge Header

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/headers/add_edge_header/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onClientResponse": {
            "features": {
                "setHeaders": {
                    "Cache-Control": "private",
                    "X-Custom-Header" : {
                        "rules" : [{
                            "matchAny": {
                                "paths_startswith" : ["/admin/"]
                            },
                            "args" : {
                                "value" : "admin=true"
                            }
                        }
                    ]}
                }
            }
        }
    }
}
```

#### Add Forward Headers

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/headers/add_forward_headers/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "setHeaders": {
                    "Authorization": "Bearer token_here",
                    "X-Client-City" : "{{city}}",
                    "X-Client-Continent" : "{{continent}}",
                    "X-Client-Country" : "{{country}}"
                }
            }
        }
    }
}
```

#### Add Origin Header

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/headers/add_origin_header/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onOriginResponse": {
            "features": {
                "setHeaders": {
                    "Cache-Control": "private",
                    "X-Custom-Header" : {
                        "rules" : [{
                            "matchAny": {
                                "paths_startswith" : ["/admin/"]
                            },
                            "args" : {
                                "value" : "admin=true"
                            }
                        }
                    ]}
                }
            }
        }
    }
}
```

#### Remove Origin Header

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/headers/remove_origin_header/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {},
        "onOriginResponse": {
            "features": {
                "setHeaders": {
                    "Server": null,
                    "Powered-By" : {
                        "rules" : [{
                            "matchAny": {
                                "paths_startswith" : ["/admin/"]
                            },
                            "args" : {
                                "value" : null
                            }
                        }
                    ]}
                }
            }
        }
    }
}
```

### Lists

#### List Ref Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/lists/list_ref_match/tenant.json`

```json
{
  "tenant_id": "lists-demo",
  "lists": {
    "blocked_ips": ["192.0.2.0/24", "198.51.100.0/24"],
    "api_paths": ["/api/v1/*", "/api/v2/*"],
    "bot_agents": ["python-requests/2.28", "curl/7.88"]
  },
  "delivery_config": {
    "version": "1.0",
    "onClientRequest": {
      "features": {
        "respondWith": {
          "rules": [
            {
              "matchAny": {
                "ipv4": ["{{list.blocked_ips}}", "203.0.113.0/24"]
              },
              "args": {
                "status": 403,
                "headers": { "Content-Type": ["text/plain"] },
                "body": "Access denied."
              }
            }
          ]
        },
        "setHeaders": {
          "X-Bot-Detected": {
            "rules": [
              {
                "matchAll": {
                  "paths": "{{list.api_paths}}",
                  "reqheader": { "User-Agent": "{{list.bot_agents}}" }
                },
                "args": { "value": "true" }
              }
            ]
          }
        }
      }
    }
  }
}
```

### Matches

#### Asn Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/asn_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "asn": [ 1000 ]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access this resource"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### File Extension Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/file_extension_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "extension": ["bash", "exe", "sh"]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access to this"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Geo Path Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/geo_path_match/tenant.json`

```json
{
  "delivery_config": {
    "version": "1.0",
    "onClientRequest": {
      "features": {
        "respondWith": {
          "rules": [
            {
              "matchAll": {
                "geo": ["CN"],
                "paths": ["/checkout"]
              },
              "args": {
                "status": 403,
                "headers": {
                  "Content-Type": ["text/html"]
                },
                "body": "denied: You are not allowed to access this site from this location"
              }
            },
            {
              "matchAll": {
                "geo_continent": ["EU"],
                "paths": ["/checkout"]
              },
              "args": {
                "status": 403,
                "headers": {
                  "Content-Type": ["text/html"]
                },
                "body": "denied: You are not allowed to access this site from this continent"
              }
            },
            {
              "matchAll": {
                "geo_region": ["CA"],
                "paths": ["/checkout"]
              },
              "args": {
                "status": 403,
                "headers": {
                  "Content-Type": ["text/html"]
                },
                "body": "denied: You are not allowed to access this site from this region"
              }
            },
            {
              "matchAll": {
                "geo_city": ["San Francisco"],
                "paths": ["/checkout"]
              },
              "args": {
                "status": 403,
                "headers": {
                  "Content-Type": ["text/html"]
                },
                "body": "denied: You are not allowed to access this site from this city"
              }
            }
          ]
        }
      }
    }
  }
}
```

#### Ip Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/ip_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "ipv4": [ "192.0.2.1", "203.0.113.0/24"],
                                "paths" : ["/admin"]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access this resource"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Ip Negative Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/ip_negative_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "!ipv4": [ "198.51.100.10"],
                                "paths" : ["/sensitive/protected.html"]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: your IP {{clientIp}} is not allowed to access this resource"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Method Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/method_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "method": [ "POST"],
                                "paths" : ["/v1/login"]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access this resource"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Method Match Monitor

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/method_match_monitor/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "monitor_only" : true,
                            "tags" : ["alert", "rule_123"],
                            "matchAll": {
                                "method": [ "POST"],
                                "paths" : ["/v1/login"]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access this resource"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Path Contains Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/path_contains_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAny": {
                                "paths_wildcard" : ["*protected*"],
                                "paths_startswith" : ["/admin/"],
                                "paths_full" : ["/admin/protected/"]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access to this"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Query Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/query_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "query": {
                                    "gclid": [
                                        "abc123"
                                    ]
                                },
                                "query_wildcard_values": {
                                    "gclid": [
                                        "*c1*"
                                    ]
                                },
                                "query_startswith_values": {
                                    "gclid": [
                                        "ab"
                                    ]
                                },
                                "query_exists": [
                                    "gclid"
                                ]
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access to this"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Request Header Match

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/matches/request_header_match/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "respondWith": {
                    "rules": [
                        {
                            "matchAll": {
                                "reqheader_full_values" : { "User-Agent" : ["curl/7.79.1"] },
                                "reqheader_wildcard_values" : { "User-Agent" : ["*curl*"] }
                            },
                            "args": {
                                "status": 403,
                                "headers": {
                                    "Content-Type": [
                                        "text/html"
                                    ]
                                },
                                "body": "denied: You are not allowed to access to this"
                            }
                        }
                    ]
                }
            }
        }
    }
}
```

### Origin

#### Multi Origin

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/origin/multi_origin/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "route": {
                    "rules": [
                         {
                            "matchAny": {
                                "paths_startswith" : ["/admin/"]
                            },
                            "pm_variables": {
                                "ORIGIN_CN": "admin.example.com",
                                "RT_ORIGIN_HOST_HEADER": "admin.example.com",
                                "RT_ORIGIN_DNS": "origin-admin.example.com"
                            },
                            "args": { "originId":  "default_eaas" }
                        },
                        {
                            "pm_variables": {
                                "ORIGIN_CN": "www.example.com",
                                "RT_ORIGIN_HOST_HEADER": "www.example.com",
                                "RT_ORIGIN_DNS": "origin-www.example.com"
                            },
                            "args": { "originId":  "default_eaas" }
                        }
                    ]
                }
            }
        }
    }
}
```

#### Timeouts

URL: `https://eaas.aka-dev.net/tenant-examples/delivery_service/origin/timeouts/tenant.json`

```json
{
    "delivery_config": {
        "version": "1.0",
        "onClientRequest": {
            "features": {
                "readTimeout": {
                    "rules": [
                        {
                            "args": { "value": 5000 },
                            "matchAll": { "paths_startswith": ["/long_process/"] }
                        }
                    ]
                },
                "firstByteTimeout": {
                    "rules": [
                        {
                            "args": { "value": 2000 },
                            "matchAll": { "paths_startswith": ["/long_process/"] }
                        }
                    ]
                },
                "connectTimeout": 1500
            }
        }
    }
}
```

## Security Service

#### Block Sql

URL: `https://eaas.aka-dev.net/tenant-examples/security_service/block_sql/tenant.json`

```json
{
    "security_config": {
        "deny_groups" : [ "SQL-INJECTION-ANOMALY" ]
    }
}
```

#### Rate Control

URL: `https://eaas.aka-dev.net/tenant-examples/security_service/rate_control/tenant.json`

```json
{
    "security_config": {
        "deny_groups" : [   "IPBLOCK-BURST",
						    "IPBLOCK-SUMMARY",
							"REP"],
        "exceptions": {
            "IPBLOCK-BURST": {
                "asn": [ 12345, 67890 ],
                "v4_ips": [ "198.51.100.10", "198.51.100.0/24" ],
                "v6_ips": [ "2001:db8::/48", "2001:db8:1234:5678::/64" ],
                "paths": [ "/static/js", "/images" ]
            },
            "IPBLOCK-SUMMARY": {
                "asn": [ 12345, 67890 ],
                "v4_ips": [ "198.51.100.10", "198.51.100.0/24" ],
                "v6_ips": [ "2001:db8::/48", "2001:db8:1234:5678::/64" ],
                "paths": [ "/static/js", "/images" ]
            },
            "REP": {
                "asn": [ 12345, 67890 ],
                "v4_ips": [ "198.51.100.10", "198.51.100.0/24" ],
                "v6_ips": [ "2001:db8::/48", "2001:db8:1234:5678::/64" ],
                "paths": [ "/static/js", "/images" ]
            }

        }
    }
}
```

