Status history
Lead, campaign and account status changes, the initial snapshot and completeness of the available history.
#The LeadStatusTransition object
An actual status change. The allowed statuses depend on entity_kind.
Attributes
objectstringObject type, alwaysmessage.idstring (uuid)Opaque, stable message ID. Do not parse its format.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"lead".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.from_statusstringThe previous public status. Unrecognized values are returned asunknown. Values:newcontactedcompletedrepliedblockedfailedsuspendeddeletedopted_outunknownto_statusstringThe new public status. Unrecognized values are returned asunknown. Values:newcontactedcompletedrepliedblockedfailedsuspendeddeletedopted_outunknownreason_codestringThe reason for the status change.unspecifiedif unknown. Values:operator_actionschedulequeue_exhaustedrecipient_not_foundtelegram_authsubscriptionrecoveryunspecifiedsourcestringThe record source, orunknownif unavailable. Statistics always usetask_states. Values:usersystemsupportunknownoccurred_atstring (date-time)When the change occurred.recorded_atstring (date-time)When the change or initial snapshot was recorded.
{
"object": "status_transition",
"id": "00000000-0000-4000-8000-000000000001",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_kind": "lead",
"entity_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_revision": 1,
"from_status": "new",
"to_status": "contacted",
"reason_code": "operator_action",
"source": "user",
"occurred_at": "2026-10-27T09:15:42.000Z",
"recorded_at": "2026-10-27T09:15:42.000Z"
}#The CampaignStatusTransition object
An actual status change. The allowed statuses depend on entity_kind.
Attributes
objectstringObject type, alwaysmessage.idstring (uuid)Opaque, stable message ID. Do not parse its format.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"campaign".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.from_statusstringThe previous public status. Unrecognized values are returned asunknown. Values:draftscheduledactivepausedstoppedcompletedarchivedlaunchingfailedpaused_no_creditsunknownto_statusstringThe new public status. Unrecognized values are returned asunknown. Values:draftscheduledactivepausedstoppedcompletedarchivedlaunchingfailedpaused_no_creditsunknownreason_codestringThe reason for the status change.unspecifiedif unknown. Values:operator_actionschedulequeue_exhaustedrecipient_not_foundtelegram_authsubscriptionrecoveryunspecifiedsourcestringThe record source, orunknownif unavailable. Statistics always usetask_states. Values:usersystemsupportunknownoccurred_atstring (date-time)When the change occurred.recorded_atstring (date-time)When the change or initial snapshot was recorded.
{
"object": "status_transition",
"id": "00000000-0000-4000-8000-000000000002",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": null,
"entity_kind": "campaign",
"entity_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"entity_revision": 1,
"from_status": "draft",
"to_status": "active",
"reason_code": "operator_action",
"source": "user",
"occurred_at": "2026-10-27T09:15:42.000Z",
"recorded_at": "2026-10-27T09:15:42.000Z"
}#The AccountStatusTransition object
An actual status change. The allowed statuses depend on entity_kind.
Attributes
objectstringObject type, alwaysmessage.idstring (uuid)Opaque, stable message ID. Do not parse its format.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"account".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.from_statusstringThe previous public status. Unrecognized values are returned asunknown. Values:onlineofflinelimitedbanneddeletedlockedunauthorizedpausedunknownto_statusstringThe new public status. Unrecognized values are returned asunknown. Values:onlineofflinelimitedbanneddeletedlockedunauthorizedpausedunknownreason_codestringThe reason for the status change.unspecifiedif unknown. Values:operator_actionschedulequeue_exhaustedrecipient_not_foundtelegram_authsubscriptionrecoveryunspecifiedsourcestringThe record source, orunknownif unavailable. Statistics always usetask_states. Values:usersystemsupportunknownoccurred_atstring (date-time)When the change occurred.recorded_atstring (date-time)When the change or initial snapshot was recorded.
{
"object": "status_transition",
"id": "00000000-0000-4000-8000-000000000003",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": null,
"entity_kind": "account",
"entity_id": "1d9f6b28-4c3e-4a75-8b19-5e7a2c0f6d83",
"entity_revision": 1,
"from_status": "online",
"to_status": "paused",
"reason_code": "operator_action",
"source": "user",
"occurred_at": "2026-10-27T09:15:42.000Z",
"recorded_at": "2026-10-27T09:15:42.000Z"
}#The StatusBaseline object
An initial status snapshot. It is not a transition and does not produce a status change event.
Attributes
Variant 1
objectstringObject type, alwaysmessage.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"lead".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.statusstringThe public status or completeness state. Unrecognized values are returned asunknown. Values:newcontactedcompletedrepliedblockedfailedsuspendeddeletedopted_outunknownrecorded_atstring (date-time)When the change or initial snapshot was recorded.provenancestringAlwaysbaseline: an initial snapshot, not a status change.
Variant 2
objectstringObject type, alwaysmessage.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"campaign".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.statusstringThe public status or completeness state. Unrecognized values are returned asunknown. Values:draftscheduledactivepausedstoppedcompletedarchivedlaunchingfailedpaused_no_creditsunknownrecorded_atstring (date-time)When the change or initial snapshot was recorded.provenancestringAlwaysbaseline: an initial snapshot, not a status change.
Variant 3
objectstringObject type, alwaysmessage.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"account".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.statusstringThe public status or completeness state. Unrecognized values are returned asunknown. Values:onlineofflinelimitedbanneddeletedlockedunauthorizedpausedunknownrecorded_atstring (date-time)When the change or initial snapshot was recorded.provenancestringAlwaysbaseline: an initial snapshot, not a status change.
{
"object": "status_baseline",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_kind": "lead",
"entity_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_revision": 0,
"status": "new",
"recorded_at": "2026-10-26T07:30:00.000Z",
"provenance": "baseline"
}#Lead status history
GET/v1/leads/{id}/status-history
Actual lead status changes in ascending entity_revision order. The initial snapshot is separate, in meta.baseline. New features are enabled for your organization on request.
Parameters
- Lead ID.
- Number of objects to return per page. From 1 to 100. Defaults to
50. - The
next_cursorvalue from the previous response. Other filters must match the first request.
Response
A list: object, data (an array of LeadStatusTransition objects), has_more, next_cursor, meta. See Pagination.
The meta field
baselineobject or nullAn initial status snapshot, ornull. It is not a transition and does not prove earlier history.Child attributes
objectstringObject type, alwaysmessage.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"lead".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.statusstringThe public status or completeness state. Unrecognized values are returned asunknown. Values:newcontactedcompletedrepliedblockedfailedsuspendeddeletedopted_outunknownrecorded_atstring (date-time)When the change or initial snapshot was recorded.provenancestringAlwaysbaseline: an initial snapshot, not a status change.
available_fromstring (date-time) or nullStart of the period covered by the data.nullif unknown.history_started_atstring (date-time) or nullWhen history collection started. Earlier changes are not reconstructed.retained_fromstring (date-time) or nullThe beginning of the retained history period, ornullif unknown.completenessobjectData completeness.has_more=falsemeans there are no more pages, not that the history is complete.Child attributes
statusstringcomplete,partialorunknown. Values:completepartialunknowngapsarray of objectUp to 50 intervals of possible incompleteness. Up to 50 items.gaps_truncatedbooleantrueif there are more than 50 intervals.incomplete_fromstring (date-time) or nullEarliest boundary of the hidden incomplete intervals.nullif there are none.
observed_atstring (date-time)Time the server read the data.
Endpoint-specific errors
cursor_mismatch: The cursor is corrupted, was issued for a different route or filters, or the key's permissions and scope have changed.scope_required: The key does not permit the operation. A command requires its kind permission.not_found: The object was not found or is outside the key's scope. An unknown path also returns 404.cursor_expired: The cursor expired: 15 minutes for lists, 30 days for the event feed.
Common errors are described in Errors.
curl https://api.melioralab.io/v1/leads/5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31/status-history \
-H "Authorization: Bearer $MELIORA_API_KEY"const res = await fetch('https://api.melioralab.io/v1/leads/5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31/status-history', {
headers: { Authorization: `Bearer ${process.env.MELIORA_API_KEY}` },
});
if (!res.ok) throw new Error(`Meliora API: ${res.status}`);
const body = await res.json();import os
import requests
resp = requests.get(
"https://api.melioralab.io/v1/leads/5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31/status-history",
headers={"Authorization": f"Bearer {os.environ['MELIORA_API_KEY']}"},
timeout=15,
)
resp.raise_for_status()
body = resp.json(){
"object": "list",
"data": [
{
"object": "status_transition",
"id": "00000000-0000-4000-8000-000000000001",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_kind": "lead",
"entity_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_revision": 1,
"from_status": "new",
"to_status": "contacted",
"reason_code": "operator_action",
"source": "user",
"occurred_at": "2026-10-27T09:15:42.000Z",
"recorded_at": "2026-10-27T09:15:42.000Z"
}
],
"has_more": false,
"next_cursor": null,
"meta": {
"baseline": {
"object": "status_baseline",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_kind": "lead",
"entity_id": "5a7c3e92-1f4b-4d68-9c2e-7b0a6d4f8e31",
"entity_revision": 0,
"status": "new",
"recorded_at": "2026-10-26T07:30:00.000Z",
"provenance": "baseline"
},
"available_from": "2026-10-26T07:30:00.000Z",
"history_started_at": "2026-10-26T07:30:00.000Z",
"retained_from": "2026-10-26T07:30:00.000Z",
"completeness": {
"status": "complete",
"gaps": [],
"gaps_truncated": false,
"incomplete_from": null
},
"observed_at": "2026-10-27T09:15:42.000Z"
}
}#Campaign status history
GET/v1/campaigns/{id}/status-history
Actual campaign status changes in ascending entity_revision order. New features are enabled for your organization on request.
Parameters
- Campaign ID.
- Number of objects to return per page. From 1 to 100. Defaults to
50. - The
next_cursorvalue from the previous response. Other filters must match the first request.
Response
A list: object, data (an array of CampaignStatusTransition objects), has_more, next_cursor, meta. See Pagination.
The meta field
baselineobject or nullAn initial status snapshot, ornull. It is not a transition and does not prove earlier history.Child attributes
objectstringObject type, alwaysmessage.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"campaign".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.statusstringThe public status or completeness state. Unrecognized values are returned asunknown. Values:draftscheduledactivepausedstoppedcompletedarchivedlaunchingfailedpaused_no_creditsunknownrecorded_atstring (date-time)When the change or initial snapshot was recorded.provenancestringAlwaysbaseline: an initial snapshot, not a status change.
available_fromstring (date-time) or nullStart of the period covered by the data.nullif unknown.history_started_atstring (date-time) or nullWhen history collection started. Earlier changes are not reconstructed.retained_fromstring (date-time) or nullThe beginning of the retained history period, ornullif unknown.completenessobjectData completeness.has_more=falsemeans there are no more pages, not that the history is complete.Child attributes
statusstringcomplete,partialorunknown. Values:completepartialunknowngapsarray of objectUp to 50 intervals of possible incompleteness. Up to 50 items.gaps_truncatedbooleantrueif there are more than 50 intervals.incomplete_fromstring (date-time) or nullEarliest boundary of the hidden incomplete intervals.nullif there are none.
observed_atstring (date-time)Time the server read the data.
Endpoint-specific errors
cursor_mismatch: The cursor is corrupted, was issued for a different route or filters, or the key's permissions and scope have changed.scope_required: The key does not permit the operation. A command requires its kind permission.not_found: The object was not found or is outside the key's scope. An unknown path also returns 404.cursor_expired: The cursor expired: 15 minutes for lists, 30 days for the event feed.
Common errors are described in Errors.
curl https://api.melioralab.io/v1/campaigns/4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14/status-history \
-H "Authorization: Bearer $MELIORA_API_KEY"const res = await fetch('https://api.melioralab.io/v1/campaigns/4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14/status-history', {
headers: { Authorization: `Bearer ${process.env.MELIORA_API_KEY}` },
});
if (!res.ok) throw new Error(`Meliora API: ${res.status}`);
const body = await res.json();import os
import requests
resp = requests.get(
"https://api.melioralab.io/v1/campaigns/4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14/status-history",
headers={"Authorization": f"Bearer {os.environ['MELIORA_API_KEY']}"},
timeout=15,
)
resp.raise_for_status()
body = resp.json(){
"object": "list",
"data": [
{
"object": "status_transition",
"id": "00000000-0000-4000-8000-000000000002",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": null,
"entity_kind": "campaign",
"entity_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"entity_revision": 1,
"from_status": "draft",
"to_status": "active",
"reason_code": "operator_action",
"source": "user",
"occurred_at": "2026-10-27T09:15:42.000Z",
"recorded_at": "2026-10-27T09:15:42.000Z"
}
],
"has_more": false,
"next_cursor": null,
"meta": {
"baseline": {
"object": "status_baseline",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": null,
"entity_kind": "campaign",
"entity_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"entity_revision": 0,
"status": "draft",
"recorded_at": "2026-10-26T07:30:00.000Z",
"provenance": "baseline"
},
"available_from": "2026-10-26T07:30:00.000Z",
"history_started_at": "2026-10-26T07:30:00.000Z",
"retained_from": "2026-10-26T07:30:00.000Z",
"completeness": {
"status": "complete",
"gaps": [],
"gaps_truncated": false,
"incomplete_from": null
},
"observed_at": "2026-10-27T09:15:42.000Z"
}
}#Campaign account status history
GET/v1/campaigns/{id}/accounts/{account_id}/status-history
Account history in the selected campaign, without exposing other campaigns. New features are enabled for your organization on request.
Parameters
- Campaign ID.
- Account ID.
- Number of objects to return per page. From 1 to 100. Defaults to
50. - The
next_cursorvalue from the previous response. Other filters must match the first request.
Response
A list: object, data (an array of AccountStatusTransition objects), has_more, next_cursor, meta. See Pagination.
The meta field
baselineobject or nullAn initial status snapshot, ornull. It is not a transition and does not prove earlier history.Child attributes
objectstringObject type, alwaysmessage.workspace_idstring (uuid)Workspace ID.campaign_idstring (uuid)Campaign ID.lead_idstring (uuid) or nullThe lead's participation ID in the campaign. May benullin campaign or account history.entity_kindstringEntity kind: lead, campaign or account. Always"account".entity_idstring (uuid)The ID of the entity whose status changed.entity_revisionintegerThe entity's record sequence number. Transitions start at 1; the initial snapshot may have revision 0.statusstringThe public status or completeness state. Unrecognized values are returned asunknown. Values:onlineofflinelimitedbanneddeletedlockedunauthorizedpausedunknownrecorded_atstring (date-time)When the change or initial snapshot was recorded.provenancestringAlwaysbaseline: an initial snapshot, not a status change.
available_fromstring (date-time) or nullStart of the period covered by the data.nullif unknown.history_started_atstring (date-time) or nullWhen history collection started. Earlier changes are not reconstructed.retained_fromstring (date-time) or nullThe beginning of the retained history period, ornullif unknown.completenessobjectData completeness.has_more=falsemeans there are no more pages, not that the history is complete.Child attributes
statusstringcomplete,partialorunknown. Values:completepartialunknowngapsarray of objectUp to 50 intervals of possible incompleteness. Up to 50 items.gaps_truncatedbooleantrueif there are more than 50 intervals.incomplete_fromstring (date-time) or nullEarliest boundary of the hidden incomplete intervals.nullif there are none.
observed_atstring (date-time)Time the server read the data.
Endpoint-specific errors
cursor_mismatch: The cursor is corrupted, was issued for a different route or filters, or the key's permissions and scope have changed.scope_required: The key does not permit the operation. A command requires its kind permission.not_found: The object was not found or is outside the key's scope. An unknown path also returns 404.cursor_expired: The cursor expired: 15 minutes for lists, 30 days for the event feed.
Common errors are described in Errors.
curl https://api.melioralab.io/v1/campaigns/4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14/accounts/1d9f6b28-4c3e-4a75-8b19-5e7a2c0f6d83/status-history \
-H "Authorization: Bearer $MELIORA_API_KEY"const res = await fetch('https://api.melioralab.io/v1/campaigns/4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14/accounts/1d9f6b28-4c3e-4a75-8b19-5e7a2c0f6d83/status-history', {
headers: { Authorization: `Bearer ${process.env.MELIORA_API_KEY}` },
});
if (!res.ok) throw new Error(`Meliora API: ${res.status}`);
const body = await res.json();import os
import requests
resp = requests.get(
"https://api.melioralab.io/v1/campaigns/4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14/accounts/1d9f6b28-4c3e-4a75-8b19-5e7a2c0f6d83/status-history",
headers={"Authorization": f"Bearer {os.environ['MELIORA_API_KEY']}"},
timeout=15,
)
resp.raise_for_status()
body = resp.json(){
"object": "list",
"data": [
{
"object": "status_transition",
"id": "00000000-0000-4000-8000-000000000003",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": null,
"entity_kind": "account",
"entity_id": "1d9f6b28-4c3e-4a75-8b19-5e7a2c0f6d83",
"entity_revision": 1,
"from_status": "online",
"to_status": "paused",
"reason_code": "operator_action",
"source": "user",
"occurred_at": "2026-10-27T09:15:42.000Z",
"recorded_at": "2026-10-27T09:15:42.000Z"
}
],
"has_more": false,
"next_cursor": null,
"meta": {
"baseline": {
"object": "status_baseline",
"workspace_id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
"campaign_id": "4d8b2f73-6e1a-4c95-b7d0-8a3f5e2c9b14",
"lead_id": null,
"entity_kind": "account",
"entity_id": "1d9f6b28-4c3e-4a75-8b19-5e7a2c0f6d83",
"entity_revision": 0,
"status": "online",
"recorded_at": "2026-10-26T07:30:00.000Z",
"provenance": "baseline"
},
"available_from": "2026-10-26T07:30:00.000Z",
"history_started_at": "2026-10-26T07:30:00.000Z",
"retained_from": "2026-10-26T07:30:00.000Z",
"completeness": {
"status": "complete",
"gaps": [],
"gaps_truncated": false,
"incomplete_from": null
},
"observed_at": "2026-10-27T09:15:42.000Z"
}
}