The Subscription Change resource
Any change to a user’s subscription, such as swapping a SIM, or upgrading or downgrading a subscription.
Properties
- Name
object
- Type
- string
- Description
Type of object is always
subscriptionChange
.
- Name
id
- Type
- string
- Description
Unique identifier for the subscription change.
Example:sch_0SNlurA049MEWV3bE0SMtbIEJApp
- Name
appliedAt
- Type
- nullable string
- Description
Time when the subscription change was applied.
Example:2021-01-21T19:36:57Z
- Name
createdAt
- Type
- string
- Description
Time when the subscription change was created.
Example:2021-01-21T19:12:28Z
- Name
failureCode
- Type
- nullable string
- Description
An error code indicating the reason for a failed subscription change.
- Name
plan
- Type
- nullable object
- Description
- The plan to which the subscription should be changed.
- Name
requestedChange
- Type
- object PREVIEW
- Description
- Object with the requested changes.
- Name
plan
- Type
- nullable string
- Description
Unique identifier of the target plan, to which the subscription should be changed.
Example:pln_0SNlurA049MEWV3V0q7gjQbM4EVo
required- Name
sim
- Type
- nullable string
- Description
Unique identifier of the target SIM, to which the subscription should be changed. Can also be set to "auto", in which case an eSIM will be automatically allocated.
Example:sim_0SNlurA049MEWV1BAAmWZULA4lf6
required- Name
when
- Type
- string
- Description
When the change should take effect. If set to
"now"
, the change will take effect immediately. If set to"renewal"
, the change will instead take effect at the next subscription renewal date. Currentlyplan
changes can only happen on"renewal"
, andsim
changes can only happen"now"
.Example:renewal
Allowed values:now, renewal
required
- Name
scheduledAt
- Type
- string
- Description
Approximate time when the change should take place.
Example:2021-01-21T19:12:28Z
- Name
sim
- Type
- nullable object
- Description
- The SIM to which the subscription should be changed.
- Name
status
- Type
- string
- Description
The current status of the subscription change.
Allowed values:pending, applied, failed
- Name
subscription
- Type
- nullable string
- Description
Unique identifier of the subscription to be changed.
Example:sub_0SNlurA049MEWV2gSfSxi00xlPIi
Response
{
"object": "subscriptionChange",
"id": "sch_0SNlurA049MEWV3bE0SMtbIEJApp",
"appliedAt": "2021-01-21T19:36:57Z",
"createdAt": "2021-01-21T19:12:28Z",
"plan": {
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
},
"requestedChange": {
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"sim": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"when": "renewal"
},
"scheduledAt": "2021-01-21T19:12:28Z",
"sim": {
"object": "sim",
"id": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"createdAt": "2021-01-21T19:38:34Z",
"iccid": "89883070000007537119",
"provider": "p9",
"status": "inactive",
"type": "eSIM"
},
"status": "pending",
"subscription": "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
}
Retrieve a subscription change
Retrieve the details of an existing subscription change which the authenticated user is authorized to view.
Path Parameters
- Name
project
- Type
- string
- Description
The unique identifier for the project.
Example:gigs
required- Name
subscriptionChange
- Type
- string
- Description
The unique identifier for the subscription change.
Example:sch_0SNlurA049MEWV3bE0SMtbIEJApp
required
Response Schemas
- Name
object
- Type
- string
- Description
Type of object is always
subscriptionChange
.
required- Name
id
- Type
- string
- Description
Unique identifier for the subscription change.
Example:sch_0SNlurA049MEWV3bE0SMtbIEJApp
required- Name
appliedAt
- Type
- nullable string
- Description
Time when the subscription change was applied.
Example:2021-01-21T19:36:57Z
required- Name
createdAt
- Type
- string
- Description
Time when the subscription change was created.
Example:2021-01-21T19:12:28Z
required- Name
failureCode
- Type
- nullable string
- Description
An error code indicating the reason for a failed subscription change.
required- Name
plan
- Type
- nullable object
- Description
- The plan to which the subscription should be changed.
required- Name
requestedChange
- Type
- object PREVIEW
- Description
- Object with the requested changes.
- Name
plan
- Type
- nullable string
- Description
Unique identifier of the target plan, to which the subscription should be changed.
Example:pln_0SNlurA049MEWV3V0q7gjQbM4EVo
required- Name
sim
- Type
- nullable string
- Description
Unique identifier of the target SIM, to which the subscription should be changed. Can also be set to "auto", in which case an eSIM will be automatically allocated.
Example:sim_0SNlurA049MEWV1BAAmWZULA4lf6
required- Name
when
- Type
- string
- Description
When the change should take effect. If set to
"now"
, the change will take effect immediately. If set to"renewal"
, the change will instead take effect at the next subscription renewal date. Currentlyplan
changes can only happen on"renewal"
, andsim
changes can only happen"now"
.Example:renewal
Allowed values:now, renewal
required
required- Name
scheduledAt
- Type
- string
- Description
Approximate time when the change should take place.
Example:2021-01-21T19:12:28Z
required- Name
sim
- Type
- nullable object
- Description
- The SIM to which the subscription should be changed.
required- Name
status
- Type
- string
- Description
The current status of the subscription change.
Allowed values:pending, applied, failed
required- Name
subscription
- Type
- nullable string
- Description
Unique identifier of the subscription to be changed.
Example:sub_0SNlurA049MEWV2gSfSxi00xlPIi
required
Request
curl https://api.gigs.com/projects/{project}/subscriptionChanges/{subscriptionChange} \
-X GET \
-H "Content-type: application/json" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
Responses
{
"object": "subscriptionChange",
"id": "sch_0SNlurA049MEWV3bE0SMtbIEJApp",
"appliedAt": "2021-01-21T19:36:57Z",
"completedAt": "2021-01-21T19:36:57Z",
"createdAt": "2021-01-21T19:12:28Z",
"failureCode": null,
"plan": {
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": null,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
},
"requestedChange": {
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"sim": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"when": "renewal"
},
"scheduledAt": "2021-01-21T19:12:28Z",
"sim": {
"object": "sim",
"id": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"metadata": {},
"createdAt": "2021-01-21T19:38:34Z",
"iccid": "89883070000007537119",
"provider": "p9",
"status": "inactive",
"type": "eSIM"
},
"status": "pending",
"subscription": "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
}
Delete a subscription change
Retrieve the details of an existing subscription change and delete it. Only subscription changes that have not been applied can be deleted.
Path Parameters
- Name
project
- Type
- string
- Description
The unique identifier for the project.
Example:gigs
required- Name
subscriptionChange
- Type
- string
- Description
The unique identifier for the subscription change.
Example:sch_0SNlurA049MEWV3bE0SMtbIEJApp
required
Response Schemas
- Name
object
- Type
- string
- Description
Type of object is always
subscriptionChange
.
required- Name
id
- Type
- string
- Description
Unique identifier for the subscription change.
Example:sch_0SNlurA049MEWV3bE0SMtbIEJApp
required- Name
appliedAt
- Type
- nullable string
- Description
Time when the subscription change was applied.
Example:2021-01-21T19:36:57Z
required- Name
createdAt
- Type
- string
- Description
Time when the subscription change was created.
Example:2021-01-21T19:12:28Z
required- Name
failureCode
- Type
- nullable string
- Description
An error code indicating the reason for a failed subscription change.
required- Name
plan
- Type
- nullable object
- Description
- The plan to which the subscription should be changed.
required- Name
requestedChange
- Type
- object PREVIEW
- Description
- Object with the requested changes.
- Name
plan
- Type
- nullable string
- Description
Unique identifier of the target plan, to which the subscription should be changed.
Example:pln_0SNlurA049MEWV3V0q7gjQbM4EVo
required- Name
sim
- Type
- nullable string
- Description
Unique identifier of the target SIM, to which the subscription should be changed. Can also be set to "auto", in which case an eSIM will be automatically allocated.
Example:sim_0SNlurA049MEWV1BAAmWZULA4lf6
required- Name
when
- Type
- string
- Description
When the change should take effect. If set to
"now"
, the change will take effect immediately. If set to"renewal"
, the change will instead take effect at the next subscription renewal date. Currentlyplan
changes can only happen on"renewal"
, andsim
changes can only happen"now"
.Example:renewal
Allowed values:now, renewal
required
required- Name
scheduledAt
- Type
- string
- Description
Approximate time when the change should take place.
Example:2021-01-21T19:12:28Z
required- Name
sim
- Type
- nullable object
- Description
- The SIM to which the subscription should be changed.
required- Name
status
- Type
- string
- Description
The current status of the subscription change.
Allowed values:pending, applied, failed
required- Name
subscription
- Type
- nullable string
- Description
Unique identifier of the subscription to be changed.
Example:sub_0SNlurA049MEWV2gSfSxi00xlPIi
required
Request
curl https://api.gigs.com/projects/{project}/subscriptionChanges/{subscriptionChange} \
-X DELETE \
-H "Content-type: application/json" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
Responses
{
"object": "subscriptionChange",
"id": "sch_0SNlurA049MEWV3bE0SMtbIEJApp",
"appliedAt": "2021-01-21T19:36:57Z",
"completedAt": "2021-01-21T19:36:57Z",
"createdAt": "2021-01-21T19:12:28Z",
"failureCode": null,
"plan": {
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": null,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
},
"requestedChange": {
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"sim": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"when": "renewal"
},
"scheduledAt": "2021-01-21T19:12:28Z",
"sim": {
"object": "sim",
"id": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"metadata": {},
"createdAt": "2021-01-21T19:38:34Z",
"iccid": "89883070000007537119",
"provider": "p9",
"status": "inactive",
"type": "eSIM"
},
"status": "pending",
"subscription": "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
}
List all subscription changes
Returns a list of subscription changes. The subscription changes returned are sorted by creation date, with the most recently created subscription changes appearing first.
Path Parameters
- Name
project
- Type
- string
- Description
The unique identifier for the project.
Example:gigs
required
Query Parameters
- Name
status
- Type
- array
- Description
A comma-separated list of statuses to filter the subscription changes by.
Default:pending
- Name
subscription
- Type
- string
- Description
The unique identifier for the subscription to be filtered by.
Example:sub_0SNlurA049MEWV2gSfSxi00xlPIi
- Name
user
- Type
- string
- Description
The unique identifier for the user to be filtered by.
Example:usr_0SNlurA049MEWV4OpCwsNyC9Kn2d
- Name
after
- Type
- string
- Description
A cursor for use in pagination. The
after
parameter takes an object ID that defines the position in the list, only items immediately following the item with that ID will be returned.
- Name
before
- Type
- string
- Description
A cursor for use in pagination. The
before
parameter takes an object ID that defines the position in the list, only items immediately preceding the item with that ID will be returned.
- Name
limit
- Type
- integer
- Description
The limit of items to be returned in the list, between 0 and 200.
Default:10
>= 0
<= 200
Response Schemas
- Name
object
- Type
- string
- Description
Type of object is always
list
.
required- Name
items
- Type
- array
- Description
- List of objects of type `subscriptionChange`.
required- Name
moreItemsAfter
- Type
- nullable string
- Description
A unique identifier to be used as
after
pagination parameter if more items are available sorted after the current batch of items.
required- Name
moreItemsBefore
- Type
- nullable string
- Description
A unique identifier to be used as
before
pagination parameter if more items are available sorted before the current batch of items.
required
Request
curl https://api.gigs.com/projects/{project}/subscriptionChanges \
-X GET \
-H "Content-type: application/json" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"
Responses
{
"object": "list",
"items": [
{
"object": "subscriptionChange",
"id": "sch_0SNlurA049MEWV3bE0SMtbIEJApp",
"appliedAt": "2021-01-21T19:36:57Z",
"completedAt": "2021-01-21T19:36:57Z",
"createdAt": "2021-01-21T19:12:28Z",
"failureCode": null,
"plan": {
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": null,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
},
"requestedChange": {
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"sim": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"when": "renewal"
},
"scheduledAt": "2021-01-21T19:12:28Z",
"sim": {
"object": "sim",
"id": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"metadata": {},
"createdAt": "2021-01-21T19:38:34Z",
"iccid": "89883070000007537119",
"provider": "p9",
"status": "inactive",
"type": "eSIM"
},
"status": "pending",
"subscription": "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
}
],
"moreItemsAfter": null,
"moreItemsBefore": null
}
Create a subscription change
Creates a new subscription change for an existing subscription in the specified project.
Body
- Name
plan
- Type
- nullable string
- Description
Unique identifier of the target plan, to which the subscription should be changed.
Example:pln_0SNlurA049MEWV3V0q7gjQbM4EVo
- Name
sim
- Type
- nullable string
- Description
Unique identifier of the target SIM, to which the subscription should be changed. Can also be set to "auto", in which case an eSIM will be automatically allocated.
Example:sim_0SNlurA049MEWV1BAAmWZULA4lf6
- Name
subscription
- Type
- string
- Description
Unique identifier of the subscription to be changed.
Example:sub_0SNlurA049MEWV2gSfSxi00xlPIi
required- Name
when
- Type
- string
- Description
When the change should take effect. If set to
"now"
, the change will take effect immediately. If set to"renewal"
, the change will instead take effect at the next subscription renewal date. Currentlyplan
changes can only happen on"renewal"
, andsim
changes can only happen"now"
.Example:renewal
Default:renewal
Allowed values:now, renewal
Path Parameters
- Name
project
- Type
- string
- Description
The unique identifier for the project.
Example:gigs
required
Response Schemas
- Name
object
- Type
- string
- Description
Type of object is always
subscriptionChange
.
required- Name
id
- Type
- string
- Description
Unique identifier for the subscription change.
Example:sch_0SNlurA049MEWV3bE0SMtbIEJApp
required- Name
appliedAt
- Type
- nullable string
- Description
Time when the subscription change was applied.
Example:2021-01-21T19:36:57Z
required- Name
createdAt
- Type
- string
- Description
Time when the subscription change was created.
Example:2021-01-21T19:12:28Z
required- Name
failureCode
- Type
- nullable string
- Description
An error code indicating the reason for a failed subscription change.
required- Name
plan
- Type
- nullable object
- Description
- The plan to which the subscription should be changed.
required- Name
requestedChange
- Type
- object PREVIEW
- Description
- Object with the requested changes.
- Name
plan
- Type
- nullable string
- Description
Unique identifier of the target plan, to which the subscription should be changed.
Example:pln_0SNlurA049MEWV3V0q7gjQbM4EVo
required- Name
sim
- Type
- nullable string
- Description
Unique identifier of the target SIM, to which the subscription should be changed. Can also be set to "auto", in which case an eSIM will be automatically allocated.
Example:sim_0SNlurA049MEWV1BAAmWZULA4lf6
required- Name
when
- Type
- string
- Description
When the change should take effect. If set to
"now"
, the change will take effect immediately. If set to"renewal"
, the change will instead take effect at the next subscription renewal date. Currentlyplan
changes can only happen on"renewal"
, andsim
changes can only happen"now"
.Example:renewal
Allowed values:now, renewal
required
required- Name
scheduledAt
- Type
- string
- Description
Approximate time when the change should take place.
Example:2021-01-21T19:12:28Z
required- Name
sim
- Type
- nullable object
- Description
- The SIM to which the subscription should be changed.
required- Name
status
- Type
- string
- Description
The current status of the subscription change.
Allowed values:pending, applied, failed
required- Name
subscription
- Type
- nullable string
- Description
Unique identifier of the subscription to be changed.
Example:sub_0SNlurA049MEWV2gSfSxi00xlPIi
required
Request
curl https://api.gigs.com/projects/{project}/subscriptionChanges \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json" \
-d "{\"plan\":\"pln_0SNlurA049MEWV3V0q7gjQbM4EVo\",\"sim\":\"sim_0SNlurA049MEWV1BAAmWZULA4lf6\",\"subscription\":\"sub_0SNlurA049MEWV2gSfSxi00xlPIi\",\"when\":\"renewal\"}"
Responses
{
"object": "subscriptionChange",
"id": "sch_0SNlurA049MEWV3bE0SMtbIEJApp",
"appliedAt": "2021-01-21T19:36:57Z",
"completedAt": "2021-01-21T19:36:57Z",
"createdAt": "2021-01-21T19:12:28Z",
"failureCode": null,
"plan": {
"object": "plan",
"id": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"metadata": {},
"allowances": {
"dataBytes": 10000000000,
"voiceSeconds": 30000,
"smsMessages": 100
},
"coverage": {
"object": "coverage",
"id": "de",
"countries": [
"DE",
"FR",
"US"
],
"name": "Europe"
},
"createdAt": "2021-01-21T19:38:34Z",
"description": "A data plan you will love! Operates in most countries of the world.",
"image": "https://i.gigscdn.com/pr/nTZpgaEj5dTQ2Jo/original.png",
"limits": {
"dataBytes": 100000000000,
"bandwidthBitsPerSecond": null,
"throttling": {
"thresholdBytes": 10000000000,
"bandwidthBitsPerSecond": 512000
}
},
"name": "Gigs Global",
"price": {
"amount": 999,
"currency": "USD"
},
"provider": "p5",
"requirements": {
"address": "present",
"device": "none",
"user.birthday": "none",
"user.fullName": "present"
},
"simTypes": [
"eSIM",
"pSIM"
],
"status": "available",
"validity": {
"minimumPeriods": 12,
"type": "recurring",
"unit": "day",
"value": 7
},
"data": 10000000000,
"dataUnit": "byte",
"sms": 100,
"smsUnit": "message",
"voice": 30000,
"voiceUnit": "second"
},
"requestedChange": {
"plan": "pln_0SNlurA049MEWV3V0q7gjQbM4EVo",
"sim": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"when": "renewal"
},
"scheduledAt": "2021-01-21T19:12:28Z",
"sim": {
"object": "sim",
"id": "sim_0SNlurA049MEWV1BAAmWZULA4lf6",
"metadata": {},
"createdAt": "2021-01-21T19:38:34Z",
"iccid": "89883070000007537119",
"provider": "p9",
"status": "inactive",
"type": "eSIM"
},
"status": "pending",
"subscription": "sub_0SNlurA049MEWV2gSfSxi00xlPIi"
}