@burgan-tech/morph-touch-runtime 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/burgan-tech-morph-touch-runtime-0.0.2.tgz +0 -0
- package/package.json +21 -0
- package/touch/Extensions/.gitkeep +0 -0
- package/touch/Functions/.gitkeep +0 -0
- package/touch/Functions/check-livekit-room-access.1.0.0.json +28 -0
- package/touch/Functions/check-livekit-room-access.http +44 -0
- package/touch/Functions/get-absence-entry.1.0.0.json +28 -0
- package/touch/Functions/get-advisor-stats.1.0.0.json +27 -0
- package/touch/Functions/get-available-slots.1.0.0.json +30 -0
- package/touch/Functions/get-available-slots.http +29 -0
- package/touch/Functions/get-chat-rooms.1.0.0.json +28 -0
- package/touch/Functions/get-chat-rooms.http +62 -0
- package/touch/Functions/get-customer-info.1.0.0.json +27 -0
- package/touch/Functions/get-matrix-sync.1.0.0.json +28 -0
- package/touch/Functions/get-rezervations.1.0.0.json +26 -0
- package/touch/Functions/get-rezervations.http +59 -0
- package/touch/Functions/get-room-messages.1.0.0.json +29 -0
- package/touch/Functions/get-room-messages.http +45 -0
- package/touch/Functions/rezervation-transfer.http +118 -0
- package/touch/Functions/send-room-message.1.0.0.json +29 -0
- package/touch/Functions/src/CheckLivekitRoomAccessMapping.csx +238 -0
- package/touch/Functions/src/GetAbsenceEntryMapping.csx +225 -0
- package/touch/Functions/src/GetAdvisorStatsMapping.csx +190 -0
- package/touch/Functions/src/GetAvailableSlotsMapping.csx +468 -0
- package/touch/Functions/src/GetChatRoomsMapping.csx +202 -0
- package/touch/Functions/src/GetCustomerInfoMapping.csx +140 -0
- package/touch/Functions/src/GetMatrixSyncMapping.csx +197 -0
- package/touch/Functions/src/GetRezervationsMapping.csx +162 -0
- package/touch/Functions/src/GetRoomMessagesMapping.csx +165 -0
- package/touch/Functions/src/SendCancelNotificationMapping.csx +63 -0
- package/touch/Functions/src/SendRoomMessageMapping.csx +131 -0
- package/touch/Schemas/.gitkeep +0 -0
- package/touch/Schemas/absence-entry.1.0.0.json +232 -0
- package/touch/Schemas/advisor-chat-rooms.1.0.0.json +62 -0
- package/touch/Schemas/chat-room.1.0.0.json +110 -0
- package/touch/Schemas/notification-sender.1.0.0.json +159 -0
- package/touch/Schemas/portfolio-manager.1.0.0.json +63 -0
- package/touch/Schemas/rezervation.1.0.0.json +102 -0
- package/touch/Tasks/.gitkeep +0 -0
- package/touch/Tasks/cancel-absence-entry-for-rezervation.1.0.0.json +21 -0
- package/touch/Tasks/check-already-completed-chat-room.1.0.0.json +24 -0
- package/touch/Tasks/check-duplicate-portfolio-manager.1.0.0.json +23 -0
- package/touch/Tasks/check-duplicate-rezervation.1.0.0.json +23 -0
- package/touch/Tasks/check-existing-permanent-chat-room.1.0.0.json +21 -0
- package/touch/Tasks/check-randevu-time.1.0.0.json +17 -0
- package/touch/Tasks/create-permanent-chat-room.1.0.0.json +28 -0
- package/touch/Tasks/determine-transfer-type.1.0.0.json +16 -0
- package/touch/Tasks/enrich-rezervations-for-transfer.1.0.0.json +23 -0
- package/touch/Tasks/execute-permanent-chatroom-update.1.0.0.json +21 -0
- package/touch/Tasks/execute-rez-chatroom-transfer.1.0.0.json +21 -0
- package/touch/Tasks/execute-rezervation-transfer.1.0.0.json +19 -0
- package/touch/Tasks/fetch-absence-entries-for-transfer.1.0.0.json +23 -0
- package/touch/Tasks/fetch-advisors-for-transfer.1.0.0.json +23 -0
- package/touch/Tasks/fetch-permanent-chatrooms-for-transfer.1.0.0.json +23 -0
- package/touch/Tasks/fetch-rez-chatrooms-for-transfer.1.0.0.json +23 -0
- package/touch/Tasks/fetch-rezervations-for-transfer.1.0.0.json +22 -0
- package/touch/Tasks/get-absence-entry-task.1.0.0.json +23 -0
- package/touch/Tasks/get-available-slots-http.1.0.0.json +27 -0
- package/touch/Tasks/get-available-slots.1.0.0.json +24 -0
- package/touch/Tasks/get-chat-room-data-for-rezervation.1.0.0.json +23 -0
- package/touch/Tasks/get-chat-token.1.0.0.json +27 -0
- package/touch/Tasks/get-matrix-room-messages.1.0.0.json +25 -0
- package/touch/Tasks/get-matrix-sync.1.0.0.json +25 -0
- package/touch/Tasks/get-rezervation-data-task.1.0.0.json +22 -0
- package/touch/Tasks/get-rezervation-state-task.1.0.0.json +22 -0
- package/touch/Tasks/get-rezervations-task.1.0.0.json +21 -0
- package/touch/Tasks/get-user-info-for-rezervation.1.0.0.json +24 -0
- package/touch/Tasks/get-video-call-url.1.0.0.json +17 -0
- package/touch/Tasks/invite-user-to-rezervation-room.1.0.0.json +27 -0
- package/touch/Tasks/join-chat-room-for-rezervation.1.0.0.json +28 -0
- package/touch/Tasks/join-matrix-room.1.0.0.json +27 -0
- package/touch/Tasks/join-user-to-room.1.0.0.json +27 -0
- package/touch/Tasks/merge-invited-user.1.0.0.json +17 -0
- package/touch/Tasks/merge-rezervation-update.1.0.0.json +16 -0
- package/touch/Tasks/merge-target-advisor-for-transfer.1.0.0.json +17 -0
- package/touch/Tasks/merge-update-body-for-randevu-update.1.0.0.json +16 -0
- package/touch/Tasks/merge-video-call-urls.1.0.0.json +17 -0
- package/touch/Tasks/query-chat-room-instances.1.0.0.json +23 -0
- package/touch/Tasks/remove-member-from-room.1.0.0.json +28 -0
- package/touch/Tasks/send-matrix-room-message.1.0.0.json +26 -0
- package/touch/Tasks/send-push-notification.1.0.0.json +26 -0
- package/touch/Tasks/send-sms-notification.1.0.0.json +26 -0
- package/touch/Tasks/set-chat-room-status-active.1.0.0.json +16 -0
- package/touch/Tasks/set-chat-room-status-deactive.1.0.0.json +16 -0
- package/touch/Tasks/set-previous-advisor.1.0.0.json +16 -0
- package/touch/Tasks/set-user-from-headers-for-rezervation.1.0.0.json +17 -0
- package/touch/Tasks/start-absence-entry-for-rezervation.1.0.0.json +21 -0
- package/touch/Tasks/start-chat-room-for-rezervation.1.0.0.json +20 -0
- package/touch/Tasks/start-notification-sender.1.0.0.json +20 -0
- package/touch/Tasks/start-permanent-chat-room.1.0.0.json +21 -0
- package/touch/Tasks/start-transfer-from-absence-entry.1.0.0.json +19 -0
- package/touch/Tasks/start-video-call.1.0.0.json +22 -0
- package/touch/Tasks/trigger-chat-room-deactivate.1.0.0.json +21 -0
- package/touch/Tasks/trigger-chat-room-transfer.1.0.0.json +21 -0
- package/touch/Tasks/trigger-chat-room-update.1.0.0.json +20 -0
- package/touch/Tasks/trigger-rezervation-add-invited-participant.1.0.0.json +20 -0
- package/touch/Tasks/trigger-rezervation-apply-update.1.0.0.json +20 -0
- package/touch/Tasks/trigger-rezervation-to-in-meet.1.0.0.json +20 -0
- package/touch/Tasks/trigger-rezervation-video-call-update.1.0.0.json +21 -0
- package/touch/Tasks/validate-date-for-rezervation.1.0.0.json +18 -0
- package/touch/Tasks/validate-slot-for-rezervation.1.0.0.json +24 -0
- package/touch/Tasks/validate-transfer-availability.1.0.0.json +23 -0
- package/touch/Views/.gitkeep +0 -0
- package/touch/Workflows/.gitkeep +0 -0
- package/touch/Workflows/absence-entry.http +458 -0
- package/touch/Workflows/absence-entry.json +179 -0
- package/touch/Workflows/add-participant-to-rezervation.http +47 -0
- package/touch/Workflows/add-participant-to-rezervation.json +340 -0
- package/touch/Workflows/chat-room.http +207 -0
- package/touch/Workflows/chat-room.json +452 -0
- package/touch/Workflows/investment-advisor.json +367 -0
- package/touch/Workflows/notification-sender.http +299 -0
- package/touch/Workflows/notification-sender.json +262 -0
- package/touch/Workflows/portfolio-manager.json +367 -0
- package/touch/Workflows/randevu-update.http +87 -0
- package/touch/Workflows/rezervation-start.json +467 -0
- package/touch/Workflows/rezervation-transfer.json +512 -0
- package/touch/Workflows/rezervation-update.http +87 -0
- package/touch/Workflows/rezervation-update.json +485 -0
- package/touch/Workflows/rezervation.http +214 -0
- package/touch/Workflows/rezervation.json +726 -0
- package/touch/Workflows/src/AllChatRoomsSuccessRule.csx +65 -0
- package/touch/Workflows/src/AlwaysTrueRule.csx +13 -0
- package/touch/Workflows/src/AnyChatRoomFailedRule.csx +64 -0
- package/touch/Workflows/src/AutoProcessRule.csx +38 -0
- package/touch/Workflows/src/BuildRezChatRoomPlanMapping.csx +160 -0
- package/touch/Workflows/src/CanStartRezervationTimerMapping.csx +48 -0
- package/touch/Workflows/src/CanStartTransferMapping.csx +14 -0
- package/touch/Workflows/src/CancelAbsenceEntryForRezervationMapping.csx +48 -0
- package/touch/Workflows/src/CancelAbsenceForRandevuUpdateMapping.csx +62 -0
- package/touch/Workflows/src/ChatRoomCreatedFailedRule.csx +54 -0
- package/touch/Workflows/src/ChatRoomCreatedSuccessRule.csx +54 -0
- package/touch/Workflows/src/ChatRoomRemoveMapping.csx +104 -0
- package/touch/Workflows/src/ChatRoomTransferInviteMapping.csx +109 -0
- package/touch/Workflows/src/ChatRoomTransferRemoveMapping.csx +71 -0
- package/touch/Workflows/src/ChatRoomUpdateMapping.csx +107 -0
- package/touch/Workflows/src/CheckAlreadyCompletedChatRoomMapping.csx +100 -0
- package/touch/Workflows/src/CheckDuplicatePortfolioManagerMapping.csx +119 -0
- package/touch/Workflows/src/CheckDuplicateRezervationMapping.csx +150 -0
- package/touch/Workflows/src/CheckExistingPermanentChatRoomMapping.csx +169 -0
- package/touch/Workflows/src/CheckRandevuTimeMapping.csx +67 -0
- package/touch/Workflows/src/CheckRezervationStateActiveOrInMeetRule.csx +14 -0
- package/touch/Workflows/src/CreateAbsenceEntryForRezervationMapping.csx +111 -0
- package/touch/Workflows/src/CreateAbsenceForRandevuUpdateMapping.csx +108 -0
- package/touch/Workflows/src/CreateChatRoomForRezervationMapping.csx +122 -0
- package/touch/Workflows/src/CreatePermanentChatRoomMapping.csx +140 -0
- package/touch/Workflows/src/CustomerControlToEndRule.csx +14 -0
- package/touch/Workflows/src/DetermineTransferTypeMapping.csx +92 -0
- package/touch/Workflows/src/EnrichRezervationsForTransferMapping.csx +495 -0
- package/touch/Workflows/src/ExecutePermanentChatRoomUpdateMapping.csx +124 -0
- package/touch/Workflows/src/ExecuteRezChatRoomTransferMapping.csx +95 -0
- package/touch/Workflows/src/ExecuteTransferMapping.csx +152 -0
- package/touch/Workflows/src/FetchAbsenceEntriesForTransferMapping.csx +116 -0
- package/touch/Workflows/src/FetchAdvisorsForTransferMapping.csx +145 -0
- package/touch/Workflows/src/FetchPermanentChatRoomsMapping.csx +128 -0
- package/touch/Workflows/src/FetchRezervationsForTransferMapping.csx +124 -0
- package/touch/Workflows/src/GetChatRoomDataForRezervationMapping.csx +100 -0
- package/touch/Workflows/src/GetChatTokenMapping.csx +85 -0
- package/touch/Workflows/src/GetRezervationDataForAddParticipantMapping.csx +105 -0
- package/touch/Workflows/src/GetRezervationDataForRandevuUpdateMapping.csx +110 -0
- package/touch/Workflows/src/GetRezervationDataMapping.csx +111 -0
- package/touch/Workflows/src/GetRezervationStateForRandevuUpdateMapping.csx +80 -0
- package/touch/Workflows/src/GetRezervationStateMapping.csx +92 -0
- package/touch/Workflows/src/GetUserInfoForRezervationMapping.csx +63 -0
- package/touch/Workflows/src/GetVideoCallUrlMapping.csx +62 -0
- package/touch/Workflows/src/HasChangedAdvisorRule.csx +28 -0
- package/touch/Workflows/src/HasChatIntegrationRule.csx +41 -0
- package/touch/Workflows/src/HasExistingPermanentRoomRule.csx +28 -0
- package/touch/Workflows/src/InviteAdvisorForRandevuUpdateMapping.csx +86 -0
- package/touch/Workflows/src/InviteNewAdvisorToRezervationRoomMapping.csx +78 -0
- package/touch/Workflows/src/InviteNewParticipantToRandevuRoomMapping.csx +88 -0
- package/touch/Workflows/src/InvitedUserMergeMapping.csx +77 -0
- package/touch/Workflows/src/InvitedUserNotAllowedRule.csx +71 -0
- package/touch/Workflows/src/InvitedUserNotInMeetRule.csx +19 -0
- package/touch/Workflows/src/IsNotfSentRule.csx +36 -0
- package/touch/Workflows/src/JoinChatRoomForAddParticipantMapping.csx +118 -0
- package/touch/Workflows/src/JoinChatRoomForRandevuStartMapping.csx +119 -0
- package/touch/Workflows/src/JoinChatRoomForRezervationMapping.csx +118 -0
- package/touch/Workflows/src/JoinMatrixRoomMapping.csx +100 -0
- package/touch/Workflows/src/JoinUserToRoomMapping.csx +118 -0
- package/touch/Workflows/src/LoginForAddParticipantChatMapping.csx +102 -0
- package/touch/Workflows/src/LoginForRandevuStartChatMapping.csx +96 -0
- package/touch/Workflows/src/MergeRezervationUpdateMapping.csx +82 -0
- package/touch/Workflows/src/MergeTargetAdvisorForTransferMapping.csx +79 -0
- package/touch/Workflows/src/MergeUpdateBodyForRandevuUpdateMapping.csx +91 -0
- package/touch/Workflows/src/NoExistingPermanentRoomRule.csx +23 -0
- package/touch/Workflows/src/NotificationCompleteAlwaysRule.csx +14 -0
- package/touch/Workflows/src/NotificationCompleteFromPendingRule.csx +41 -0
- package/touch/Workflows/src/NotificationCompleteFromSmsRule.csx +36 -0
- package/touch/Workflows/src/NotificationPushFromPendingRule.csx +42 -0
- package/touch/Workflows/src/NotificationPushFromSmsRule.csx +36 -0
- package/touch/Workflows/src/NotificationSmsPendingRule.csx +32 -0
- package/touch/Workflows/src/PermanentDoneRule.csx +44 -0
- package/touch/Workflows/src/PermanentProcessNextRule.csx +44 -0
- package/touch/Workflows/src/RezChatRoomProcessNextRule.csx +44 -0
- package/touch/Workflows/src/RezChatRoomsDoneRule.csx +44 -0
- package/touch/Workflows/src/SendPushNotificationMapping.csx +146 -0
- package/touch/Workflows/src/SendSmsNotificationMapping.csx +138 -0
- package/touch/Workflows/src/SetChatRoomStatusActiveMapping.csx +22 -0
- package/touch/Workflows/src/SetChatRoomStatusDeactiveMapping.csx +22 -0
- package/touch/Workflows/src/SetPreviousAdvisorMapping.csx +28 -0
- package/touch/Workflows/src/SetUserFromHeadersForRezervationMapping.csx +24 -0
- package/touch/Workflows/src/SlotAvailableRule.csx +33 -0
- package/touch/Workflows/src/SlotUnavailableRule.csx +33 -0
- package/touch/Workflows/src/StartChatRoomForRezervationMapping.csx +100 -0
- package/touch/Workflows/src/StartGetChatTokenForRezervationMapping.csx +71 -0
- package/touch/Workflows/src/StartNotificationForAdvisorMapping.csx +117 -0
- package/touch/Workflows/src/StartNotificationForRezervationFromUserInfoMapping.csx +128 -0
- package/touch/Workflows/src/StartNotificationForUserMapping.csx +117 -0
- package/touch/Workflows/src/StartPermanentChatRoomMapping.csx +92 -0
- package/touch/Workflows/src/StartTransferFromAbsenceEntryMapping.csx +94 -0
- package/touch/Workflows/src/StartVideoCallCustomerSubFlowMapping.csx +37 -0
- package/touch/Workflows/src/StartVideoCallForInvitedParticipantMapping.csx +54 -0
- package/touch/Workflows/src/StartVideoCallForRandevuStartMapping.csx +70 -0
- package/touch/Workflows/src/StartVideoCallStaffSubFlowMapping.csx +37 -0
- package/touch/Workflows/src/StateActiveForUpdateRule.csx +14 -0
- package/touch/Workflows/src/StateActiveRule.csx +14 -0
- package/touch/Workflows/src/StateInMeetRule.csx +14 -0
- package/touch/Workflows/src/StateNotActiveForUpdateRule.csx +14 -0
- package/touch/Workflows/src/StateNotActiveOrInMeetRule.csx +14 -0
- package/touch/Workflows/src/StatusCustomerEnterRule.csx +25 -0
- package/touch/Workflows/src/StatusStaffEnterRule.csx +25 -0
- package/touch/Workflows/src/SyncWorkingHoursRule.csx +46 -0
- package/touch/Workflows/src/TokenSuccessRule.csx +24 -0
- package/touch/Workflows/src/TransferAllDoneRule.csx +50 -0
- package/touch/Workflows/src/TransferHasInvalidRule.csx +34 -0
- package/touch/Workflows/src/TransferProcessNextRule.csx +50 -0
- package/touch/Workflows/src/TriggerChatRoomDeactivateMapping.csx +77 -0
- package/touch/Workflows/src/TriggerChatRoomTransferMapping.csx +93 -0
- package/touch/Workflows/src/TriggerChatRoomUpdateMapping.csx +99 -0
- package/touch/Workflows/src/TriggerRezervationAddInvitedParticipantMapping.csx +77 -0
- package/touch/Workflows/src/TriggerRezervationApplyUpdateMapping.csx +66 -0
- package/touch/Workflows/src/TriggerRezervationToInMeetMapping.csx +69 -0
- package/touch/Workflows/src/TriggerRezervationVideoCallUpdateMapping.csx +67 -0
- package/touch/Workflows/src/ValidateDateForRezervationMapping.csx +60 -0
- package/touch/Workflows/src/ValidateSlotForRandevuUpdateMapping.csx +211 -0
- package/touch/Workflows/src/ValidateSlotForRezervationMapping.csx +246 -0
- package/touch/Workflows/src/ValidateTransferMapping.csx +243 -0
- package/touch/Workflows/src/VideoCallUrlUpdateMergeMapping.csx +141 -0
- package/touch/Workflows/start-chat.json +217 -0
- package/touch/Workflows/start-video-call.http +93 -0
- package/touch/Workflows/start-video-call.json +206 -0
- package/vnext.config.json +58 -0
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
{
|
|
2
|
+
"key": "rezervation-transfer",
|
|
3
|
+
"flow": "sys-flows",
|
|
4
|
+
"domain": "touch",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"flowVersion": "1.0.0",
|
|
7
|
+
"tags": [
|
|
8
|
+
"new"
|
|
9
|
+
],
|
|
10
|
+
"attributes": {
|
|
11
|
+
"type": "S",
|
|
12
|
+
"labels": [
|
|
13
|
+
{
|
|
14
|
+
"label": "Reservation Transfer",
|
|
15
|
+
"language": "en-US"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"label": "Randevu Transferi",
|
|
19
|
+
"language": "tr-TR"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"functions": [],
|
|
23
|
+
"features": [],
|
|
24
|
+
"extensions": [],
|
|
25
|
+
"sharedTransitions": [
|
|
26
|
+
{
|
|
27
|
+
"key": "cancel",
|
|
28
|
+
"target": "cancelled",
|
|
29
|
+
"triggerType": 0,
|
|
30
|
+
"versionStrategy": "Minor",
|
|
31
|
+
"availableIn": [
|
|
32
|
+
"awaiting-assignment",
|
|
33
|
+
"awaiting-permanent-assignment"
|
|
34
|
+
],
|
|
35
|
+
"labels": [
|
|
36
|
+
{
|
|
37
|
+
"label": "Cancel",
|
|
38
|
+
"language": "en-US"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"label": "İptal",
|
|
42
|
+
"language": "tr-TR"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"startTransition": {
|
|
48
|
+
"key": "start",
|
|
49
|
+
"target": "awaiting-assignment",
|
|
50
|
+
"versionStrategy": "Major",
|
|
51
|
+
"triggerType": 0,
|
|
52
|
+
"labels": [
|
|
53
|
+
{
|
|
54
|
+
"label": "Start",
|
|
55
|
+
"language": "en-US"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"label": "Başla",
|
|
59
|
+
"language": "tr-TR"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"onExecutionTasks": [
|
|
63
|
+
{
|
|
64
|
+
"order": 1,
|
|
65
|
+
"task": {
|
|
66
|
+
"domain": "touch",
|
|
67
|
+
"flow": "sys-tasks",
|
|
68
|
+
"key": "determine-transfer-type",
|
|
69
|
+
"version": "1.0.0"
|
|
70
|
+
},
|
|
71
|
+
"mapping": {
|
|
72
|
+
"location": "./src/DetermineTransferTypeMapping.csx",
|
|
73
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZGV0ZXJtaW5lLXRyYW5zZmVyLXR5cGUgdGFzayAoU2NyaXB0VGFzayAtIFR5cGUgNykuCi8vLyBSZWFkcyBzdGFydERhdGUgYW5kIGVuZERhdGUgZnJvbSBpbnN0YW5jZSBkYXRhLgovLy8gSWYgZW5kRGF0ZSBpcyBwcmVzZW50OiB0cmFuc2ZlclR5cGUgPSAiYW5udWFsLWxlYXZlIgovLy8gSWYgZW5kRGF0ZSBpcyBhYnNlbnQ6IHRyYW5zZmVyVHlwZSA9ICJ0ZXJtaW5hdGlvbiIsIGVuZERhdGUgZGVmYXVsdHMgdG8gIjIwOTktMTItMzEiCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBEZXRlcm1pbmVUcmFuc2ZlclR5cGVNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgc3RhcnREYXRlID0gR2V0U3RyaW5nKGRhdGEsICJzdGFydERhdGUiKTsKICAgICAgICB2YXIgZW5kRGF0ZSA9IEdldFN0cmluZyhkYXRhLCAiZW5kRGF0ZSIpOwoKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnREYXRlKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJzdGFydERhdGUgaXMgcmVxdWlyZWQuIiwgInN0YXJ0RGF0ZSIpOwoKICAgICAgICBzdHJpbmcgdHJhbnNmZXJUeXBlOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShlbmREYXRlKSkKICAgICAgICB7CiAgICAgICAgICAgIHRyYW5zZmVyVHlwZSA9ICJ0ZXJtaW5hdGlvbiI7CiAgICAgICAgICAgIGVuZERhdGUgPSAiMjA5OS0xMi0zMSI7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHRyYW5zZmVyVHlwZSA9ICJhbm51YWwtbGVhdmUiOwogICAgICAgIH0KCiAgICAgICAgdmFyIHNvdXJjZUFkdmlzb3JJZCA9IEdldFN0cmluZyhkYXRhLCAic291cmNlQWR2aXNvcklkIik7CiAgICAgICAgdmFyIGFkdmlzb3JUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29yVHlwZSIpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgIHsKICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0cmFuc2ZlclR5cGUsCiAgICAgICAgICAgICAgICBzdGFydERhdGUsCiAgICAgICAgICAgICAgICBlbmREYXRlLAogICAgICAgICAgICAgICAgc291cmNlQWR2aXNvcklkLAogICAgICAgICAgICAgICAgYWR2aXNvclR5cGUKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CgogICAgICAgIHZhciBzdGFydERhdGUgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZSIpOwogICAgICAgIHZhciBlbmREYXRlID0gR2V0U3RyaW5nKGRhdGEsICJlbmREYXRlIik7CgogICAgICAgIHN0cmluZyB0cmFuc2ZlclR5cGUgPSBzdHJpbmcuSXNOdWxsT3JFbXB0eShlbmREYXRlKSA/ICJ0ZXJtaW5hdGlvbiIgOiAiYW5udWFsLWxlYXZlIjsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZSkpCiAgICAgICAgICAgIGVuZERhdGUgPSAiMjA5OS0xMi0zMSI7CgogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICByZXN1bHRbInRyYW5zZmVyVHlwZSJdID0gdHJhbnNmZXJUeXBlOwogICAgICAgIHJlc3VsdFsic3RhcnREYXRlIl0gPSBzdGFydERhdGU7CiAgICAgICAgcmVzdWx0WyJlbmREYXRlIl0gPSBlbmREYXRlOwoKICAgICAgICB2YXIgc291cmNlQWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICB2YXIgYWR2aXNvclR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3JUeXBlIik7CiAgICAgICAgaWYgKHNvdXJjZUFkdmlzb3JJZCAhPSBudWxsKSByZXN1bHRbInNvdXJjZUFkdmlzb3JJZCJdID0gc291cmNlQWR2aXNvcklkOwogICAgICAgIGlmIChhZHZpc29yVHlwZSAhPSBudWxsKSByZXN1bHRbImFkdmlzb3JUeXBlIl0gPSBhZHZpc29yVHlwZTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gcmVzdWx0IH0pOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"order": 2,
|
|
78
|
+
"task": {
|
|
79
|
+
"domain": "touch",
|
|
80
|
+
"flow": "sys-tasks",
|
|
81
|
+
"key": "fetch-rezervations-for-transfer",
|
|
82
|
+
"version": "1.0.0"
|
|
83
|
+
},
|
|
84
|
+
"mapping": {
|
|
85
|
+
"location": "./src/FetchRezervationsForTransferMapping.csx",
|
|
86
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZmV0Y2gtcmV6ZXJ2YXRpb25zLWZvci10cmFuc2ZlciB0YXNrIChEYXByU2VydmljZVRhc2sgLSBUeXBlIDMpLgovLy8gUmVhZHMgYWR2aXNvcklkLCBzdGFydERhdGUsIGVuZERhdGUgZnJvbSBpbnN0YW5jZSBkYXRhIGFuZCBjYWxscyBnZXQtcmV6ZXJ2YXRpb25zIGZ1bmN0aW9uLgovLy8gT3V0cHV0SGFuZGxlciBzdG9yZXMgdGhlIHJlc3VsdGluZyByZXNlcnZhdGlvbiBpdGVtcyBpbiBpbnN0YW5jZSBkYXRhLgovLy8KLy8vIFJlZmVyZW5jZTogaHR0cHM6Ly9naXRodWIuY29tL2J1cmdhbi10ZWNoL3ZuZXh0LXJ1bnRpbWUvYmxvYi9tYWluL2RvYy9lbi9mbG93L3Rhc2tzL2RhcHItc2VydmljZS5tZAovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgRmV0Y2hSZXplcnZhdGlvbnNGb3JUcmFuc2Zlck1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHNlcnZpY2VUYXNrID0gdGFzayBhcyBEYXByU2VydmljZVRhc2s7CiAgICAgICAgaWYgKHNlcnZpY2VUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEYXByU2VydmljZVRhc2siKTsKCiAgICAgICAgdmFyIGFwcElkID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfQVBQX0lEIik7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShhcHBJZCkpCiAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldEFwcElkKGFwcElkKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJJbnN0YW5jZSBkYXRhIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBzb3VyY2VBZHZpc29ySWQgPSBHZXRTdHJpbmcoZGF0YSwgInNvdXJjZUFkdmlzb3JJZCIpOwogICAgICAgIHZhciBzdGFydERhdGUgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZSIpOwogICAgICAgIHZhciBlbmREYXRlID0gR2V0U3RyaW5nKGRhdGEsICJlbmREYXRlIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShzb3VyY2VBZHZpc29ySWQpKQogICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oInNvdXJjZUFkdmlzb3JJZCBpcyByZXF1aXJlZC4iLCAic291cmNlQWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudEV4Y2VwdGlvbigic3RhcnREYXRlIGlzIHJlcXVpcmVkLiIsICJzdGFydERhdGUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZSkpCiAgICAgICAgICAgIGVuZERhdGUgPSAiMjA5OS0xMi0zMSI7CgogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJhZHZpc29ySWQ9IiArIFVyaS5Fc2NhcGVEYXRhU3RyaW5nKHNvdXJjZUFkdmlzb3JJZCksCiAgICAgICAgICAgICJzdGFydERhdGU9IiArIFVyaS5Fc2NhcGVEYXRhU3RyaW5nKHN0YXJ0RGF0ZSksCiAgICAgICAgICAgICJlbmREYXRlPSIgKyBVcmkuRXNjYXBlRGF0YVN0cmluZyhlbmREYXRlKQogICAgICAgIH07CgogICAgICAgIHNlcnZpY2VUYXNrLlNldFF1ZXJ5U3RyaW5nKHN0cmluZy5Kb2luKCImIiwgcXVlcnlQYXJhbXMpKTsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICB2YXIgYm9keSA9IGNvbnRleHQuQm9keTsKICAgICAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCAmJiBib2R5LmlzU3VjY2VzcyA9PSBmYWxzZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGVycm9yTWVzc2FnZSA9IGJvZHkuZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJGYWlsZWQgdG8gZmV0Y2ggcmVzZXJ2YXRpb25zIjsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudEV4Y2VwdGlvbihlcnJvck1lc3NhZ2UsICIiKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGRhdGFOb2RlID0gYm9keT8uZGF0YSA/PyBib2R5Py5EYXRhOwogICAgICAgICAgICB2YXIgaXRlbXMgPSBkYXRhTm9kZT8uZ2V0UmV6ZXJ2YXRpb25zPy5pdGVtczsKCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhZHZpc29yVHlwZSIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyVHlwZSIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInN0YXJ0RGF0ZSIpOwogICAgICAgICAgICB2YXIgZW5kRGF0ZSA9IEdldFN0cmluZyhkYXRhLCAiZW5kRGF0ZSIpOwogICAgICAgICAgICByZXN1bHRbImVuZERhdGUiXSA9IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGUpID8gIjIwOTktMTItMzEiIDogZW5kRGF0ZTsKICAgICAgICAgICAgcmVzdWx0WyJyZXplcnZhdGlvbnMiXSA9IGl0ZW1zOwoKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGF0YSA9IHJlc3VsdAogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSA9ICJmZXRjaC1lcnJvciIsCiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSAiRmFpbGVkIHRvIGZldGNoIHJlc2VydmF0aW9ucyBmb3IgdHJhbnNmZXIiLAogICAgICAgICAgICAgICAgICAgIGVycm9yRGVzY3JpcHRpb24gPSBleC5NZXNzYWdlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIHZvaWQgQ29weUlmUHJlc2VudChEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiB0YXJnZXQsIGR5bmFtaWMgc291cmNlLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybjsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShzb3VyY2UsIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUoc291cmNlLCBuYW1lKTsKICAgICAgICAgICAgICAgIGlmICh2ICE9IG51bGwpIHRhcmdldFtuYW1lXSA9IHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"order": 3,
|
|
91
|
+
"task": {
|
|
92
|
+
"domain": "touch",
|
|
93
|
+
"flow": "sys-tasks",
|
|
94
|
+
"key": "fetch-advisors-for-transfer",
|
|
95
|
+
"version": "1.0.0"
|
|
96
|
+
},
|
|
97
|
+
"mapping": {
|
|
98
|
+
"location": "./src/FetchAdvisorsForTransferMapping.csx",
|
|
99
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZmV0Y2gtYWR2aXNvcnMtZm9yLXRyYW5zZmVyIHRhc2sgKERhcHJTZXJ2aWNlVGFzayAtIFR5cGUgMykuCi8vLyBSZWFkcyBhZHZpc29yVHlwZSBmcm9tIGluc3RhbmNlIGRhdGEgYW5kIHF1ZXJpZXMgYWxsIGFjdGl2ZSBhZHZpc29yIGluc3RhbmNlcy4KLy8vIE91dHB1dEhhbmRsZXIgYnVpbGRzIGFsbEFkdmlzb3JLZXlzIGxpc3QgaW4ge2RvbWFpbn0ue2Fkdmlzb3JUeXBlfS57a2V5fSBmb3JtYXQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBGZXRjaEFkdmlzb3JzRm9yVHJhbnNmZXJNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgYWR2aXNvclR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3JUeXBlIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGFkdmlzb3JUeXBlKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJhZHZpc29yVHlwZSBpcyByZXF1aXJlZC4iLCAiYWR2aXNvclR5cGUiKTsKCiAgICAgICAgc2VydmljZVRhc2suU2V0TWV0aG9kTmFtZSgkImFwaS92MS90b3VjaC93b3JrZmxvd3Mve2Fkdmlzb3JUeXBlfS9pbnN0YW5jZXMiKTsKCiAgICAgICAgdmFyIGNvbmRpdGlvbnMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICAie1wib3JcIjpbIiArCiAgICAgICAgICAgICAgICAie1wiY3VycmVudFN0YXRlXCI6e1wiZXFcIjpcIm9ubGluZVwifX0sIiArCiAgICAgICAgICAgICAgICAie1wiY3VycmVudFN0YXRlXCI6e1wiZXFcIjpcIm9mZmxpbmVcIn19LCIgKwogICAgICAgICAgICAgICAgIntcImN1cnJlbnRTdGF0ZVwiOntcImVxXCI6XCJidXN5XCJ9fSwiICsKICAgICAgICAgICAgICAgICJ7XCJjdXJyZW50U3RhdGVcIjp7XCJlcVwiOlwiYXdheVwifX0iICsKICAgICAgICAgICAgIl19IiwKICAgICAgICAgICAgIntcInN0YXR1c1wiOntcImVxXCI6XCJBXCJ9fSIKICAgICAgICB9OwoKICAgICAgICB2YXIgZmlsdGVySnNvbiA9ICJ7XCJhbmRcIjpbIiArIHN0cmluZy5Kb2luKCIsIiwgY29uZGl0aW9ucykgKyAiXX0iOwogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJwYWdlU2l6ZT0xMDAiLAogICAgICAgICAgICAiZmlsdGVyPSIgKyBmaWx0ZXJKc29uCiAgICAgICAgfTsKCiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBib2R5ID0gY29udGV4dC5Cb2R5OwogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CgogICAgICAgICAgICBpZiAoYm9keSAhPSBudWxsICYmIGJvZHkuaXNTdWNjZXNzID09IGZhbHNlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgZXJyb3JNZXNzYWdlID0gYm9keS5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkZhaWxlZCB0byBmZXRjaCBhZHZpc29ycyI7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKGVycm9yTWVzc2FnZSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBhZHZpc29yVHlwZSA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvclR5cGUiKTsKICAgICAgICAgICAgdmFyIHJlc3BvbnNlRGF0YSA9IGJvZHk/LmRhdGE7CiAgICAgICAgICAgIHZhciBpdGVtcyA9IHJlc3BvbnNlRGF0YT8uaXRlbXM7CgogICAgICAgICAgICB2YXIgYWR2aXNvcktleXMgPSBuZXcgTGlzdDxzdHJpbmc+KCk7CgogICAgICAgICAgICBpZiAoaXRlbXMgIT0gbnVsbCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gaXRlbXMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0gPT0gbnVsbCkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgdmFyIGRvbWFpbiA9IEdldFN0cmluZyhpdGVtLCAiZG9tYWluIikgPz8gInRvdWNoIjsKICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0gR2V0U3RyaW5nKGl0ZW0sICJrZXkiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGtleSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZnVsbEtleSA9IGtleS5Db250YWlucygiLiIpID8ga2V5IDogJCJ7ZG9tYWlufS57YWR2aXNvclR5cGV9LntrZXl9IjsKICAgICAgICAgICAgICAgICAgICAgICAgYWR2aXNvcktleXMuQWRkKGZ1bGxLZXkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PigpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInNvdXJjZUFkdmlzb3JJZCIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImFkdmlzb3JUeXBlIik7CiAgICAgICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAidHJhbnNmZXJUeXBlIik7CiAgICAgICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic3RhcnREYXRlIik7CiAgICAgICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAiZW5kRGF0ZSIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInJlemVydmF0aW9ucyIpOwogICAgICAgICAgICByZXN1bHRbImFsbEFkdmlzb3JLZXlzIl0gPSBhZHZpc29yS2V5czsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSByZXN1bHQKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSAiRmFpbGVkIHRvIGZldGNoIGFkdmlzb3JzIGZvciB0cmFuc2ZlciIsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JEZXNjcmlwdGlvbiA9IGV4Lk1lc3NhZ2UKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgdm9pZCBDb3B5SWZQcmVzZW50KERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+IHRhcmdldCwgZHluYW1pYyBzb3VyY2UsIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KHNvdXJjZSwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShzb3VyY2UsIG5hbWUpOwogICAgICAgICAgICAgICAgaWYgKHYgIT0gbnVsbCkgdGFyZ2V0W25hbWVdID0gdjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgIH0KfQo="
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"order": 4,
|
|
104
|
+
"task": {
|
|
105
|
+
"domain": "touch",
|
|
106
|
+
"flow": "sys-tasks",
|
|
107
|
+
"key": "fetch-absence-entries-for-transfer",
|
|
108
|
+
"version": "1.0.0"
|
|
109
|
+
},
|
|
110
|
+
"mapping": {
|
|
111
|
+
"location": "./src/FetchAbsenceEntriesForTransferMapping.csx",
|
|
112
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZmV0Y2gtYWJzZW5jZS1lbnRyaWVzLWZvci10cmFuc2ZlciB0YXNrIChEYXByU2VydmljZVRhc2sgLSBUeXBlIDMpLgovLy8gUXVlcmllcyBhbGwgYWJzZW5jZS1lbnRyeSBpbnN0YW5jZXMgKHB1YmxpYyBob2xpZGF5cywgd29ya2luZyBob3VycyBjaGFuZ2VzLCBwZXJzb25hbCBsZWF2ZXMpCi8vLyBpbiBjb21wbGV0ZSBzdGF0ZS4gT3V0cHV0SGFuZGxlciBzdG9yZXMgdGhlbSBhcyBhYnNlbmNlRW50cmllcyBpbiBpbnN0YW5jZSBkYXRhLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgRmV0Y2hBYnNlbmNlRW50cmllc0ZvclRyYW5zZmVyTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc2VydmljZVRhc2sgPSB0YXNrIGFzIERhcHJTZXJ2aWNlVGFzazsKICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIERhcHJTZXJ2aWNlVGFzayIpOwoKICAgICAgICB2YXIgYXBwSWQgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9BUFBfSUQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgc2VydmljZVRhc2suU2V0QXBwSWQoYXBwSWQpOwoKICAgICAgICB2YXIgZmlsdGVySnNvbiA9CiAgICAgICAgICAgICJ7XCJhbmRcIjpbIiArCiAgICAgICAgICAgICJ7XCJjdXJyZW50U3RhdGVcIjp7XCJlcVwiOlwiY29tcGxldGVcIn19LCIgKwogICAgICAgICAgICAie1wib3JcIjpbIiArCiAgICAgICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcImFic2VuY2VUeXBlXCI6e1wiZXFcIjpcInB1YmxpYy1ob2xpZGF5XCJ9fX0sIiArCiAgICAgICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcImFic2VuY2VUeXBlXCI6e1wiZXFcIjpcIndvcmtpbmctaG91cnMtY2hhbmdlXCJ9fX0sIiArCiAgICAgICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcImFic2VuY2VUeXBlXCI6e1wiZXFcIjpcInBlcnNvbmFsLWxlYXZlXCJ9fX0iICsKICAgICAgICAgICAgIl19IiArCiAgICAgICAgICAgICJdfSI7CgogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJwYWdlU2l6ZT0yMDAiLAogICAgICAgICAgICAiZmlsdGVyPSIgKyBmaWx0ZXJKc29uCiAgICAgICAgfTsKCiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBib2R5ID0gY29udGV4dC5Cb2R5OwogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CgogICAgICAgICAgICBpZiAoYm9keSAhPSBudWxsICYmIGJvZHkuaXNTdWNjZXNzID09IGZhbHNlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgZXJyb3JNZXNzYWdlID0gYm9keS5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkZhaWxlZCB0byBmZXRjaCBhYnNlbmNlIGVudHJpZXMiOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihlcnJvck1lc3NhZ2UpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgcmVzcG9uc2VEYXRhID0gYm9keT8uZGF0YTsKICAgICAgICAgICAgdmFyIGl0ZW1zID0gcmVzcG9uc2VEYXRhPy5pdGVtczsKCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhZHZpc29yVHlwZSIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyVHlwZSIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInN0YXJ0RGF0ZSIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImVuZERhdGUiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJyZXplcnZhdGlvbnMiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhbGxBZHZpc29yS2V5cyIpOwogICAgICAgICAgICByZXN1bHRbImFic2VuY2VFbnRyaWVzIl0gPSBpdGVtczsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSByZXN1bHQKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSAiRmFpbGVkIHRvIGZldGNoIGFic2VuY2UgZW50cmllcyBmb3IgdHJhbnNmZXIiLAogICAgICAgICAgICAgICAgICAgIGVycm9yRGVzY3JpcHRpb24gPSBleC5NZXNzYWdlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIHZvaWQgQ29weUlmUHJlc2VudChEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiB0YXJnZXQsIGR5bmFtaWMgc291cmNlLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybjsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShzb3VyY2UsIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUoc291cmNlLCBuYW1lKTsKICAgICAgICAgICAgICAgIGlmICh2ICE9IG51bGwpIHRhcmdldFtuYW1lXSA9IHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICB9Cn0K"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"order": 5,
|
|
117
|
+
"task": {
|
|
118
|
+
"domain": "touch",
|
|
119
|
+
"flow": "sys-tasks",
|
|
120
|
+
"key": "enrich-rezervations-for-transfer",
|
|
121
|
+
"version": "1.0.0"
|
|
122
|
+
},
|
|
123
|
+
"mapping": {
|
|
124
|
+
"location": "./src/EnrichRezervationsForTransferMapping.csx",
|
|
125
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIGVucmljaC1yZXplcnZhdGlvbnMtZm9yLXRyYW5zZmVyIHRhc2sgKERhcHJTZXJ2aWNlVGFzayAtIFR5cGUgMykuCi8vLyBRdWVyaWVzIEFMTCBhY3RpdmUgcmVzZXJ2YXRpb25zIGluIHRoZSBkYXRlIHJhbmdlIGFjcm9zcyBhbGwgYWR2aXNvcnMuCi8vLyBPdXRwdXRIYW5kbGVyIGVucmljaGVzIGVhY2ggc291cmNlIGFkdmlzb3IncyByZXNlcnZhdGlvbiB3aXRoIGEgbGlzdCBvZiBhZHZpc29ycwovLy8gdGhhdCBhcmUgYXZhaWxhYmxlIGJhc2VkIG9uOiByZXNlcnZhdGlvbiBjb25mbGljdHMsIHdvcmtpbmcgaG91cnMsIHB1YmxpYyBob2xpZGF5cywKLy8vIGFuZCBwZXJzb25hbCBsZWF2ZXMgKHVzaW5nIGFic2VuY2VFbnRyaWVzIGZyb20gcHJldmlvdXMgdGFzaykuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBFbnJpY2hSZXplcnZhdGlvbnNGb3JUcmFuc2Zlck1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHNlcnZpY2VUYXNrID0gdGFzayBhcyBEYXByU2VydmljZVRhc2s7CiAgICAgICAgaWYgKHNlcnZpY2VUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEYXByU2VydmljZVRhc2siKTsKCiAgICAgICAgdmFyIGFwcElkID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfQVBQX0lEIik7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShhcHBJZCkpCiAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldEFwcElkKGFwcElkKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJJbnN0YW5jZSBkYXRhIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBzdGFydERhdGUgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZSIpOwogICAgICAgIHZhciBlbmREYXRlID0gR2V0U3RyaW5nKGRhdGEsICJlbmREYXRlIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShzdGFydERhdGUpKQogICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oInN0YXJ0RGF0ZSBpcyByZXF1aXJlZC4iLCAic3RhcnREYXRlIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGUpKQogICAgICAgICAgICBlbmREYXRlID0gIjIwOTktMTItMzEiOwoKICAgICAgICB2YXIgY29uZGl0aW9ucyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJ7XCJvclwiOlsiICsKICAgICAgICAgICAgICAgICJ7XCJjdXJyZW50U3RhdGVcIjp7XCJlcVwiOlwiYWN0aXZlXCJ9fSwiICsKICAgICAgICAgICAgICAgICJ7XCJjdXJyZW50U3RhdGVcIjp7XCJlcVwiOlwiaW4tbWVldFwifX0iICsKICAgICAgICAgICAgIl19IiwKICAgICAgICAgICAgIntcInN0YXR1c1wiOntcImVxXCI6XCJBXCJ9fSIsCiAgICAgICAgICAgICJ7XCJhdHRyaWJ1dGVzXCI6e1wic3RhcnREYXRlVGltZVwiOntcImd0ZVwiOlwiIiArIHN0YXJ0RGF0ZSArICJcIn19fSIsCiAgICAgICAgICAgICJ7XCJhdHRyaWJ1dGVzXCI6e1wiZW5kRGF0ZVRpbWVcIjp7XCJsdGVcIjpcIiIgKyBlbmREYXRlICsgIlwifX19IgogICAgICAgIH07CgogICAgICAgIHZhciBmaWx0ZXJKc29uID0gIntcImFuZFwiOlsiICsgc3RyaW5nLkpvaW4oIiwiLCBjb25kaXRpb25zKSArICJdfSI7CiAgICAgICAgdmFyIHF1ZXJ5UGFyYW1zID0gbmV3IExpc3Q8c3RyaW5nPgogICAgICAgIHsKICAgICAgICAgICAgInBhZ2VTaXplPTEwMCIsCiAgICAgICAgICAgICJmaWx0ZXI9IiArIGZpbHRlckpzb24KICAgICAgICB9OwoKICAgICAgICBzZXJ2aWNlVGFzay5TZXRRdWVyeVN0cmluZyhzdHJpbmcuSm9pbigiJiIsIHF1ZXJ5UGFyYW1zKSk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGJvZHkgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKCiAgICAgICAgICAgIGlmIChib2R5ICE9IG51bGwgJiYgYm9keS5pc1N1Y2Nlc3MgPT0gZmFsc2UpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBlcnJvck1lc3NhZ2UgPSBib2R5LmVycm9yTWVzc2FnZT8uVG9TdHJpbmcoKSA/PyAiRmFpbGVkIHRvIGZldGNoIGFsbCByZXNlcnZhdGlvbnMiOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihlcnJvck1lc3NhZ2UpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgc291cmNlQWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICAgICAgdmFyIHNvdXJjZVJlemVydmF0aW9ucyA9IGRhdGE/LnJlemVydmF0aW9uczsKCiAgICAgICAgICAgIHZhciByZXNwb25zZURhdGEgPSBib2R5Py5kYXRhOwogICAgICAgICAgICB2YXIgYWxsSXRlbXMgPSByZXNwb25zZURhdGE/Lml0ZW1zOwoKICAgICAgICAgICAgdmFyIHB1YmxpY0hvbGlkYXlzID0gbmV3IExpc3Q8ZHluYW1pYz4oKTsKICAgICAgICAgICAgdmFyIGFkdmlzb3JXb3JrSG91cnNNYXAgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIExpc3Q8ZHluYW1pYz4+KCk7CiAgICAgICAgICAgIHZhciBjb21wYW55V29ya0hvdXJzID0gbmV3IExpc3Q8ZHluYW1pYz4oKTsKICAgICAgICAgICAgdmFyIHBlcnNvbmFsTGVhdmVzTWFwID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBMaXN0PGR5bmFtaWM+PigpOwoKICAgICAgICAgICAgdmFyIGFic2VuY2VFbnRyaWVzID0gZGF0YT8uYWJzZW5jZUVudHJpZXM7CiAgICAgICAgICAgIGlmIChhYnNlbmNlRW50cmllcyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgZW50cnkgaW4gYWJzZW5jZUVudHJpZXMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5ID09IG51bGwpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIHZhciBhdHRycyA9IGVudHJ5Py5hdHRyaWJ1dGVzOwogICAgICAgICAgICAgICAgICAgIGlmIChhdHRycyA9PSBudWxsKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgdmFyIGFic2VuY2VUeXBlID0gR2V0U3RyaW5nKGF0dHJzLCAiYWJzZW5jZVR5cGUiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhhdHRycywgImFkdmlzb3IiKTsKCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChhYnNlbmNlVHlwZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInB1YmxpYy1ob2xpZGF5IjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpY0hvbGlkYXlzLkFkZChlbnRyeSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAid29ya2luZy1ob3Vycy1jaGFuZ2UiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShhZHZpc29yKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFkdmlzb3JXb3JrSG91cnNNYXAuQ29udGFpbnNLZXkoYWR2aXNvcikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkdmlzb3JXb3JrSG91cnNNYXBbYWR2aXNvcl0gPSBuZXcgTGlzdDxkeW5hbWljPigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkdmlzb3JXb3JrSG91cnNNYXBbYWR2aXNvcl0uQWRkKGVudHJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYW55V29ya0hvdXJzLkFkZChlbnRyeSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAicGVyc29uYWwtbGVhdmUiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShhZHZpc29yKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXBlcnNvbmFsTGVhdmVzTWFwLkNvbnRhaW5zS2V5KGFkdmlzb3IpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJzb25hbExlYXZlc01hcFthZHZpc29yXSA9IG5ldyBMaXN0PGR5bmFtaWM+KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyc29uYWxMZWF2ZXNNYXBbYWR2aXNvcl0uQWRkKGVudHJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGVucmljaGVkID0gbmV3IExpc3Q8b2JqZWN0PigpOwoKICAgICAgICAgICAgaWYgKHNvdXJjZVJlemVydmF0aW9ucyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgcmV6IGluIHNvdXJjZVJlemVydmF0aW9ucykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpZiAocmV6ID09IG51bGwpIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICB2YXIgcmV6U3RhcnRTdHIgPSBHZXROZXN0ZWRTdHJpbmcocmV6LCAiYXR0cmlidXRlcyIsICJzdGFydERhdGVUaW1lIikKICAgICAgICAgICAgICAgICAgICAgICAgPz8gR2V0U3RyaW5nKHJleiwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgcmV6RW5kU3RyID0gR2V0TmVzdGVkU3RyaW5nKHJleiwgImF0dHJpYnV0ZXMiLCAiZW5kRGF0ZVRpbWUiKQogICAgICAgICAgICAgICAgICAgICAgICA/PyBHZXRTdHJpbmcocmV6LCAiZW5kRGF0ZVRpbWUiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgcmV6S2V5ID0gSGFzUHJvcGVydHkocmV6LCAia2V5IikgPyByZXoua2V5Py5Ub1N0cmluZygpIDogIiI7CiAgICAgICAgICAgICAgICAgICAgdmFyIHJlelVzZXIgPSBHZXROZXN0ZWRTdHJpbmcocmV6LCAiYXR0cmlidXRlcyIsICJ1c2VyIikKICAgICAgICAgICAgICAgICAgICAgICAgPz8gR2V0U3RyaW5nKHJleiwgInVzZXIiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgcmV6QWR2aXNvciA9IEdldE5lc3RlZFN0cmluZyhyZXosICJhdHRyaWJ1dGVzIiwgImFkdmlzb3IiKQogICAgICAgICAgICAgICAgICAgICAgICA/PyBHZXRTdHJpbmcocmV6LCAiYWR2aXNvciIpOwoKICAgICAgICAgICAgICAgICAgICB2YXIgYnVzeUFkdmlzb3JzID0gbmV3IEhhc2hTZXQ8c3RyaW5nPigpOwogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoc291cmNlQWR2aXNvcklkKSkKICAgICAgICAgICAgICAgICAgICAgICAgYnVzeUFkdmlzb3JzLkFkZChzb3VyY2VBZHZpc29ySWQpOwoKICAgICAgICAgICAgICAgICAgICBEYXRlVGltZSByZXpTdGFydCA9IERhdGVUaW1lLk1pblZhbHVlOwogICAgICAgICAgICAgICAgICAgIERhdGVUaW1lIHJlekVuZCA9IERhdGVUaW1lLk1pblZhbHVlOwogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkocmV6U3RhcnRTdHIpICYmICFzdHJpbmcuSXNOdWxsT3JFbXB0eShyZXpFbmRTdHIpICYmCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGVUaW1lLlRyeVBhcnNlKHJlelN0YXJ0U3RyLCBvdXQgcmV6U3RhcnQpICYmIERhdGVUaW1lLlRyeVBhcnNlKHJlekVuZFN0ciwgb3V0IHJlekVuZCkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgYWxsSXRlbXMgIT0gbnVsbCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGFsbEl0ZW1zKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSA9PSBudWxsKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpdGVtQWR2aXNvciA9IEdldE5lc3RlZFN0cmluZyhpdGVtLCAiYXR0cmlidXRlcyIsICJhZHZpc29yIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/PyBHZXRTdHJpbmcoaXRlbSwgImFkdmlzb3IiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpdGVtU3RhcnRTdHIgPSBHZXROZXN0ZWRTdHJpbmcoaXRlbSwgImF0dHJpYnV0ZXMiLCAic3RhcnREYXRlVGltZSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz8gR2V0U3RyaW5nKGl0ZW0sICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbUVuZFN0ciA9IEdldE5lc3RlZFN0cmluZyhpdGVtLCAiYXR0cmlidXRlcyIsICJlbmREYXRlVGltZSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz8gR2V0U3RyaW5nKGl0ZW0sICJlbmREYXRlVGltZSIpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShpdGVtQWR2aXNvcikgfHwgc3RyaW5nLklzTnVsbE9yRW1wdHkoaXRlbVN0YXJ0U3RyKSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eShpdGVtRW5kU3RyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlVGltZSBpdGVtU3RhcnQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGVUaW1lIGl0ZW1FbmQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChEYXRlVGltZS5UcnlQYXJzZShpdGVtU3RhcnRTdHIsIG91dCBpdGVtU3RhcnQpICYmIERhdGVUaW1lLlRyeVBhcnNlKGl0ZW1FbmRTdHIsIG91dCBpdGVtRW5kKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVN0YXJ0IDwgcmV6RW5kICYmIGl0ZW1FbmQgPiByZXpTdGFydCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3lBZHZpc29ycy5BZGQoaXRlbUFkdmlzb3IpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgdmFyIGFsbEFkdmlzb3JzID0gbmV3IEhhc2hTZXQ8c3RyaW5nPigpOwogICAgICAgICAgICAgICAgICAgIHZhciBhZHZpc29yS2V5cyA9IGRhdGE/LmFsbEFkdmlzb3JLZXlzOwogICAgICAgICAgICAgICAgICAgIGlmIChhZHZpc29yS2V5cyAhPSBudWxsKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAodmFyIGFrIGluIGFkdmlzb3JLZXlzKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWsgPT0gbnVsbCkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0gYWs/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGtleSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsQWR2aXNvcnMuQWRkKGtleSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHZhciBhdmFpbGFibGUgPSBuZXcgTGlzdDxzdHJpbmc+KCk7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAodmFyIGFkdiBpbiBhbGxBZHZpc29ycykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChidXN5QWR2aXNvcnMuQ29udGFpbnMoYWR2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlelN0YXJ0ICE9IERhdGVUaW1lLk1pblZhbHVlICYmIHJlekVuZCAhPSBEYXRlVGltZS5NaW5WYWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFJc1Nsb3RBdmFpbGFibGVGb3JBZHZpc29yKGFkdiwgcmV6U3RhcnQsIHJlekVuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWNIb2xpZGF5cywgYWR2aXNvcldvcmtIb3Vyc01hcCwgY29tcGFueVdvcmtIb3VycywgcGVyc29uYWxMZWF2ZXNNYXApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGUuQWRkKGFkdik7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBlbnJpY2hlZC5BZGQobmV3CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSByZXpLZXksCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZVRpbWUgPSByZXpTdGFydFN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgZW5kRGF0ZVRpbWUgPSByZXpFbmRTdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgPSByZXpVc2VyLAogICAgICAgICAgICAgICAgICAgICAgICBhZHZpc29yID0gcmV6QWR2aXNvciwKICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlQWR2aXNvcnMgPSBhdmFpbGFibGUKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PigpOwogICAgICAgICAgICByZXN1bHRbInNvdXJjZUFkdmlzb3JJZCJdID0gc291cmNlQWR2aXNvcklkOwogICAgICAgICAgICByZXN1bHRbImFkdmlzb3JUeXBlIl0gPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3JUeXBlIik7CiAgICAgICAgICAgIHJlc3VsdFsic3RhcnREYXRlIl0gPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZSIpOwogICAgICAgICAgICByZXN1bHRbImVuZERhdGUiXSA9IEdldFN0cmluZyhkYXRhLCAiZW5kRGF0ZSIpOwogICAgICAgICAgICByZXN1bHRbInRyYW5zZmVyVHlwZSJdID0gR2V0U3RyaW5nKGRhdGEsICJ0cmFuc2ZlclR5cGUiKTsKICAgICAgICAgICAgcmVzdWx0WyJlbnJpY2hlZFJlemVydmF0aW9ucyJdID0gZW5yaWNoZWQ7CiAgICAgICAgICAgIHJlc3VsdFsicmV6ZXJ2YXRpb25zIl0gPSBuZXcgTGlzdDxvYmplY3Q+KCk7CiAgICAgICAgICAgIHJlc3VsdFsiYWJzZW5jZUVudHJpZXMiXSA9IG5ldyBMaXN0PG9iamVjdD4oKTsKICAgICAgICAgICAgcmVzdWx0WyJhbGxBZHZpc29yS2V5cyJdID0gbmV3IExpc3Q8c3RyaW5nPigpOwoKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGF0YSA9IHJlc3VsdAogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBlcnJvciA9ICJGYWlsZWQgdG8gZW5yaWNoIHJlc2VydmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JEZXNjcmlwdGlvbiA9IGV4Lk1lc3NhZ2UKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfQoKICAgICNyZWdpb24gU2xvdCBBdmFpbGFiaWxpdHkKCiAgICBwcml2YXRlIGJvb2wgSXNTbG90QXZhaWxhYmxlRm9yQWR2aXNvcihzdHJpbmcgYWR2aXNvcktleSwgRGF0ZVRpbWUgcmV6U3RhcnQsIERhdGVUaW1lIHJlekVuZCwKICAgICAgICBMaXN0PGR5bmFtaWM+IHB1YmxpY0hvbGlkYXlzLAogICAgICAgIERpY3Rpb25hcnk8c3RyaW5nLCBMaXN0PGR5bmFtaWM+PiBhZHZpc29yV29ya0hvdXJzTWFwLAogICAgICAgIExpc3Q8ZHluYW1pYz4gY29tcGFueVdvcmtIb3VycywKICAgICAgICBEaWN0aW9uYXJ5PHN0cmluZywgTGlzdDxkeW5hbWljPj4gcGVyc29uYWxMZWF2ZXNNYXApCiAgICB7CiAgICAgICAgdmFyIHJlekRhdGUgPSByZXpTdGFydC5EYXRlOwogICAgICAgIHZhciBkYXlPZldlZWsgPSByZXpEYXRlLkRheU9mV2Vlay5Ub1N0cmluZygpLlRvTG93ZXIoKTsKICAgICAgICB2YXIgc2xvdFN0YXJ0ID0gcmV6U3RhcnQuVGltZU9mRGF5OwogICAgICAgIHZhciBzbG90RW5kID0gcmV6RW5kLlRpbWVPZkRheTsKCiAgICAgICAgdmFyIGhvbGlkYXlSYW5nZXMgPSBHZXRIb2xpZGF5UmFuZ2VzKHB1YmxpY0hvbGlkYXlzLCByZXpEYXRlKTsKICAgICAgICBpZiAoaG9saWRheVJhbmdlcyAhPSBudWxsICYmIGhvbGlkYXlSYW5nZXMuQ291bnQgPT0gMQogICAgICAgICAgICAmJiBob2xpZGF5UmFuZ2VzWzBdLkl0ZW0xID09IFRpbWVTcGFuLlplcm8KICAgICAgICAgICAgJiYgaG9saWRheVJhbmdlc1swXS5JdGVtMiA+PSBuZXcgVGltZVNwYW4oMjMsIDU5LCAwKSkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgICAgICBMaXN0PGR5bmFtaWM+IGFkdldvcmtIb3VycyA9IG51bGw7CiAgICAgICAgaWYgKGFkdmlzb3JXb3JrSG91cnNNYXAuQ29udGFpbnNLZXkoYWR2aXNvcktleSkpCiAgICAgICAgICAgIGFkdldvcmtIb3VycyA9IGFkdmlzb3JXb3JrSG91cnNNYXBbYWR2aXNvcktleV07CgogICAgICAgIHZhciB3b3JrSG91cnMgPSBHZXRXb3JraW5nSG91cnNGb3JEYXkoYWR2V29ya0hvdXJzLCBkYXlPZldlZWspOwogICAgICAgIGlmICh3b3JrSG91cnMgPT0gbnVsbCB8fCB3b3JrSG91cnMuQ291bnQgPT0gMCkKICAgICAgICAgICAgd29ya0hvdXJzID0gR2V0V29ya2luZ0hvdXJzRm9yRGF5KGNvbXBhbnlXb3JrSG91cnMsIGRheU9mV2Vlayk7CgogICAgICAgIGlmICh3b3JrSG91cnMgPT0gbnVsbCB8fCB3b3JrSG91cnMuQ291bnQgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgICAgICBib29sIHNsb3RJbldvcmtIb3VycyA9IGZhbHNlOwogICAgICAgIGZvcmVhY2ggKHZhciB3aCBpbiB3b3JrSG91cnMpCiAgICAgICAgewogICAgICAgICAgICBkeW5hbWljIHdoRHluID0gd2g7CiAgICAgICAgICAgIHZhciBzdGFydFN0ciA9IHdoRHluPy5zdGFydD8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgdmFyIGVuZFN0ciA9IHdoRHluPy5lbmQ/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShzdGFydFN0cikgfHwgc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kU3RyKSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgVGltZVNwYW4gd2hTdGFydCA9IFRpbWVTcGFuLk1pblZhbHVlOwogICAgICAgICAgICBUaW1lU3BhbiB3aEVuZCA9IFRpbWVTcGFuLk1pblZhbHVlOwogICAgICAgICAgICBpZiAoIVRpbWVTcGFuLlRyeVBhcnNlKHN0YXJ0U3RyLCBvdXQgd2hTdGFydCkgfHwgIVRpbWVTcGFuLlRyeVBhcnNlKGVuZFN0ciwgb3V0IHdoRW5kKSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgaWYgKHNsb3RTdGFydCA+PSB3aFN0YXJ0ICYmIHNsb3RFbmQgPD0gd2hFbmQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNsb3RJbldvcmtIb3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCFzbG90SW5Xb3JrSG91cnMpCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgICAgdmFyIHVuYXZhaWxhYmxlUmFuZ2VzID0gbmV3IExpc3Q8VHVwbGU8VGltZVNwYW4sIFRpbWVTcGFuPj4oKTsKCiAgICAgICAgTGlzdDxkeW5hbWljPiBhZHZMZWF2ZXMgPSBudWxsOwogICAgICAgIGlmIChwZXJzb25hbExlYXZlc01hcC5Db250YWluc0tleShhZHZpc29yS2V5KSkKICAgICAgICAgICAgYWR2TGVhdmVzID0gcGVyc29uYWxMZWF2ZXNNYXBbYWR2aXNvcktleV07CiAgICAgICAgaWYgKGFkdkxlYXZlcyAhPSBudWxsKQogICAgICAgICAgICB1bmF2YWlsYWJsZVJhbmdlcy5BZGRSYW5nZShHZXRVbmF2YWlsYWJsZVJhbmdlcyhhZHZMZWF2ZXMsIHJlekRhdGUpKTsKCiAgICAgICAgaWYgKGhvbGlkYXlSYW5nZXMgIT0gbnVsbCkKICAgICAgICAgICAgdW5hdmFpbGFibGVSYW5nZXMuQWRkUmFuZ2UoaG9saWRheVJhbmdlcyk7CgogICAgICAgIGZvcmVhY2ggKHZhciB1ciBpbiB1bmF2YWlsYWJsZVJhbmdlcykKICAgICAgICB7CiAgICAgICAgICAgIGlmIChzbG90U3RhcnQgPCB1ci5JdGVtMiAmJiBzbG90RW5kID4gdXIuSXRlbTEpCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwcml2YXRlIExpc3Q8VHVwbGU8VGltZVNwYW4sIFRpbWVTcGFuPj4gR2V0SG9saWRheVJhbmdlcyhMaXN0PGR5bmFtaWM+IGhvbGlkYXlzLCBEYXRlVGltZSBkYXRlKQogICAgewogICAgICAgIHZhciByYW5nZXMgPSBuZXcgTGlzdDxUdXBsZTxUaW1lU3BhbiwgVGltZVNwYW4+PigpOwogICAgICAgIGJvb2wgaGFzSG9saWRheSA9IGZhbHNlOwoKICAgICAgICBmb3JlYWNoICh2YXIgaG9saWRheSBpbiBob2xpZGF5cykKICAgICAgICB7CiAgICAgICAgICAgIHZhciBob2xpZGF5RGF0YSA9IGhvbGlkYXk/LmF0dHJpYnV0ZXM7CiAgICAgICAgICAgIGlmIChob2xpZGF5RGF0YSA9PSBudWxsKSBjb250aW51ZTsKCiAgICAgICAgICAgIHN0cmluZyBzdGFydERhdGVUaW1lU3RyID0gR2V0U3RyaW5nKGhvbGlkYXlEYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgICAgICBzdHJpbmcgZW5kRGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoaG9saWRheURhdGEsICJlbmREYXRlVGltZSIpOwoKICAgICAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWVTdHIpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGVUaW1lU3RyKSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgRGF0ZVRpbWUgc3RhcnREYXRlVGltZSA9IERhdGVUaW1lLk1pblZhbHVlOwogICAgICAgICAgICBEYXRlVGltZSBlbmREYXRlVGltZSA9IERhdGVUaW1lLk1pblZhbHVlOwogICAgICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydERhdGVUaW1lKSB8fCAhRGF0ZVRpbWUuVHJ5UGFyc2UoZW5kRGF0ZVRpbWVTdHIsIG91dCBlbmREYXRlVGltZSkpCiAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgIGlmIChkYXRlLkRhdGUgPCBzdGFydERhdGVUaW1lLkRhdGUgfHwgZGF0ZS5EYXRlID4gZW5kRGF0ZVRpbWUuRGF0ZSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgaGFzSG9saWRheSA9IHRydWU7CgogICAgICAgICAgICBpZiAoc3RhcnREYXRlVGltZS5EYXRlICE9IGVuZERhdGVUaW1lLkRhdGUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChkYXRlLkRhdGUgPT0gc3RhcnREYXRlVGltZS5EYXRlKQogICAgICAgICAgICAgICAgICAgIHJhbmdlcy5BZGQoVHVwbGUuQ3JlYXRlKHN0YXJ0RGF0ZVRpbWUuVGltZU9mRGF5LCBuZXcgVGltZVNwYW4oMjMsIDU5LCA1OSkpKTsKICAgICAgICAgICAgICAgIGVsc2UgaWYgKGRhdGUuRGF0ZSA9PSBlbmREYXRlVGltZS5EYXRlKQogICAgICAgICAgICAgICAgICAgIHJhbmdlcy5BZGQoVHVwbGUuQ3JlYXRlKFRpbWVTcGFuLlplcm8sIGVuZERhdGVUaW1lLlRpbWVPZkRheSkpOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHJhbmdlcy5BZGQoVHVwbGUuQ3JlYXRlKFRpbWVTcGFuLlplcm8sIG5ldyBUaW1lU3BhbigyMywgNTksIDU5KSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmFuZ2VzLkFkZChUdXBsZS5DcmVhdGUoc3RhcnREYXRlVGltZS5UaW1lT2ZEYXksIGVuZERhdGVUaW1lLlRpbWVPZkRheSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gaGFzSG9saWRheSA/IHJhbmdlcyA6IG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBMaXN0PG9iamVjdD4gR2V0V29ya2luZ0hvdXJzRm9yRGF5KExpc3Q8ZHluYW1pYz4gd29ya2luZ0hvdXJzQ2hhbmdlcywgc3RyaW5nIGRheU9mV2VlaykKICAgIHsKICAgICAgICBpZiAod29ya2luZ0hvdXJzQ2hhbmdlcyA9PSBudWxsKSByZXR1cm4gbnVsbDsKCiAgICAgICAgZm9yZWFjaCAodmFyIGNoYW5nZSBpbiB3b3JraW5nSG91cnNDaGFuZ2VzKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGNoYW5nZURhdGEgPSBjaGFuZ2U/LmF0dHJpYnV0ZXM7CiAgICAgICAgICAgIGlmIChjaGFuZ2VEYXRhID09IG51bGwpIGNvbnRpbnVlOwoKICAgICAgICAgICAgdmFyIGN1c3RvbVdIID0gY2hhbmdlRGF0YT8uY3VzdG9tV29ya2luZ0hvdXJzOwogICAgICAgICAgICBpZiAoY3VzdG9tV0ggPT0gbnVsbCkgY29udGludWU7CgogICAgICAgICAgICB2YXIgZGF5SG91cnMgPSBHZXREYXlIb3Vyc0Zyb21DdXN0b20oY3VzdG9tV0gsIGRheU9mV2Vlayk7CiAgICAgICAgICAgIGlmIChkYXlIb3VycyAhPSBudWxsKSByZXR1cm4gZGF5SG91cnM7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIExpc3Q8b2JqZWN0PiBHZXREYXlIb3Vyc0Zyb21DdXN0b20oZHluYW1pYyBjdXN0b21XSCwgc3RyaW5nIGRheU9mV2VlaykKICAgIHsKICAgICAgICBkeW5hbWljIGRheUhvdXJzID0gbnVsbDsKICAgICAgICBzd2l0Y2ggKGRheU9mV2VlaykKICAgICAgICB7CiAgICAgICAgICAgIGNhc2UgIm1vbmRheSI6IGRheUhvdXJzID0gY3VzdG9tV0g/Lm1vbmRheTsgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgInR1ZXNkYXkiOiBkYXlIb3VycyA9IGN1c3RvbVdIPy50dWVzZGF5OyBicmVhazsKICAgICAgICAgICAgY2FzZSAid2VkbmVzZGF5IjogZGF5SG91cnMgPSBjdXN0b21XSD8ud2VkbmVzZGF5OyBicmVhazsKICAgICAgICAgICAgY2FzZSAidGh1cnNkYXkiOiBkYXlIb3VycyA9IGN1c3RvbVdIPy50aHVyc2RheTsgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgImZyaWRheSI6IGRheUhvdXJzID0gY3VzdG9tV0g/LmZyaWRheTsgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgInNhdHVyZGF5IjogZGF5SG91cnMgPSBjdXN0b21XSD8uc2F0dXJkYXk7IGJyZWFrOwogICAgICAgICAgICBjYXNlICJzdW5kYXkiOiBkYXlIb3VycyA9IGN1c3RvbVdIPy5zdW5kYXk7IGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgaWYgKGRheUhvdXJzID09IG51bGwpIHJldHVybiBudWxsOwoKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IExpc3Q8b2JqZWN0PigpOwogICAgICAgIGZvcmVhY2ggKHZhciByYW5nZSBpbiBkYXlIb3VycykKICAgICAgICB7CiAgICAgICAgICAgIHZhciBzdGFydCA9IHJhbmdlPy5zdGFydD8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgdmFyIGVuZCA9IHJhbmdlPy5lbmQ/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnQpICYmICFzdHJpbmcuSXNOdWxsT3JFbXB0eShlbmQpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXN1bHQuQWRkKG5ldyB7IHN0YXJ0LCBlbmQgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3VsdC5Db3VudCA+IDAgPyByZXN1bHQgOiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgTGlzdDxUdXBsZTxUaW1lU3BhbiwgVGltZVNwYW4+PiBHZXRVbmF2YWlsYWJsZVJhbmdlcyhMaXN0PGR5bmFtaWM+IHBlcnNvbmFsTGVhdmVzLCBEYXRlVGltZSBkYXRlKQogICAgewogICAgICAgIHZhciByYW5nZXMgPSBuZXcgTGlzdDxUdXBsZTxUaW1lU3BhbiwgVGltZVNwYW4+PigpOwoKICAgICAgICBmb3JlYWNoICh2YXIgbGVhdmUgaW4gcGVyc29uYWxMZWF2ZXMpCiAgICAgICAgewogICAgICAgICAgICB2YXIgbGVhdmVEYXRhID0gbGVhdmU/LmF0dHJpYnV0ZXM7CiAgICAgICAgICAgIGlmIChsZWF2ZURhdGEgPT0gbnVsbCkgY29udGludWU7CgogICAgICAgICAgICBzdHJpbmcgc3RhcnREYXRlVGltZVN0ciA9IEdldFN0cmluZyhsZWF2ZURhdGEsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgICAgIHN0cmluZyBlbmREYXRlVGltZVN0ciA9IEdldFN0cmluZyhsZWF2ZURhdGEsICJlbmREYXRlVGltZSIpOwoKICAgICAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWVTdHIpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGVUaW1lU3RyKSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgRGF0ZVRpbWUgc3RhcnREYXRlVGltZSA9IERhdGVUaW1lLk1pblZhbHVlOwogICAgICAgICAgICBEYXRlVGltZSBlbmREYXRlVGltZSA9IERhdGVUaW1lLk1pblZhbHVlOwogICAgICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydERhdGVUaW1lKSB8fCAhRGF0ZVRpbWUuVHJ5UGFyc2UoZW5kRGF0ZVRpbWVTdHIsIG91dCBlbmREYXRlVGltZSkpCiAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgIGlmIChkYXRlLkRhdGUgPCBzdGFydERhdGVUaW1lLkRhdGUgfHwgZGF0ZS5EYXRlID4gZW5kRGF0ZVRpbWUuRGF0ZSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgaWYgKHN0YXJ0RGF0ZVRpbWUuRGF0ZSAhPSBlbmREYXRlVGltZS5EYXRlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoZGF0ZS5EYXRlID09IHN0YXJ0RGF0ZVRpbWUuRGF0ZSkKICAgICAgICAgICAgICAgICAgICByYW5nZXMuQWRkKFR1cGxlLkNyZWF0ZShzdGFydERhdGVUaW1lLlRpbWVPZkRheSwgbmV3IFRpbWVTcGFuKDIzLCA1OSwgNTkpKSk7CiAgICAgICAgICAgICAgICBlbHNlIGlmIChkYXRlLkRhdGUgPT0gZW5kRGF0ZVRpbWUuRGF0ZSkKICAgICAgICAgICAgICAgICAgICByYW5nZXMuQWRkKFR1cGxlLkNyZWF0ZShUaW1lU3Bhbi5aZXJvLCBlbmREYXRlVGltZS5UaW1lT2ZEYXkpKTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICByYW5nZXMuQWRkKFR1cGxlLkNyZWF0ZShUaW1lU3Bhbi5aZXJvLCBuZXcgVGltZVNwYW4oMjMsIDU5LCA1OSkpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJhbmdlcy5BZGQoVHVwbGUuQ3JlYXRlKHN0YXJ0RGF0ZVRpbWUuVGltZU9mRGF5LCBlbmREYXRlVGltZS5UaW1lT2ZEYXkpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHJhbmdlczsKICAgIH0KCiAgICAjZW5kcmVnaW9uCgogICAgI3JlZ2lvbiBIZWxwZXJzCgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0TmVzdGVkU3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgcGFyZW50LCBzdHJpbmcgY2hpbGQpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIHBhcmVudCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBuZXN0ZWQgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgcGFyZW50KTsKICAgICAgICAgICAgICAgIGlmIChuZXN0ZWQgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShuZXN0ZWQsIGNoaWxkKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUobmVzdGVkLCBjaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgI2VuZHJlZ2lvbgp9Cg=="
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"states": [
|
|
131
|
+
{
|
|
132
|
+
"key": "awaiting-assignment",
|
|
133
|
+
"stateType": 1,
|
|
134
|
+
"versionStrategy": "Minor",
|
|
135
|
+
"labels": [
|
|
136
|
+
{
|
|
137
|
+
"label": "Awaiting Assignment",
|
|
138
|
+
"language": "en-US"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"label": "Atama Bekleniyor",
|
|
142
|
+
"language": "tr-TR"
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"transitions": [
|
|
146
|
+
{
|
|
147
|
+
"key": "confirm-transfer",
|
|
148
|
+
"target": "validating",
|
|
149
|
+
"triggerType": 0,
|
|
150
|
+
"versionStrategy": "Minor",
|
|
151
|
+
"labels": [
|
|
152
|
+
{
|
|
153
|
+
"label": "Confirm Transfer",
|
|
154
|
+
"language": "en-US"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"label": "Transferi Onayla",
|
|
158
|
+
"language": "tr-TR"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"onExecutionTasks": [
|
|
162
|
+
{
|
|
163
|
+
"order": 1,
|
|
164
|
+
"task": {
|
|
165
|
+
"domain": "touch",
|
|
166
|
+
"flow": "sys-tasks",
|
|
167
|
+
"key": "validate-transfer-availability",
|
|
168
|
+
"version": "1.0.0"
|
|
169
|
+
},
|
|
170
|
+
"mapping": {
|
|
171
|
+
"location": "./src/ValidateTransferMapping.csx",
|
|
172
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIHZhbGlkYXRlLXRyYW5zZmVyLWF2YWlsYWJpbGl0eSB0YXNrIChEYXByU2VydmljZVRhc2sgLSBUeXBlIDMpLgovLy8gUXVlcmllcyBhbGwgYWN0aXZlIHJlc2VydmF0aW9ucyBpbiB0aGUgZGF0ZSByYW5nZSBmb3IgdGFyZ2V0IGFkdmlzb3JzLgovLy8gT3V0cHV0SGFuZGxlciBjaGVja3MgZWFjaCB0cmFuc2ZlclBsYW4gaXRlbSB0byBzZWUgaWYgdGhlIHRhcmdldCBhZHZpc29yCi8vLyBzdGlsbCBoYXMgYSBmcmVlIHNsb3QgYXQgdGhlIHJlc2VydmF0aW9uJ3MgdGltZXNsb3QuCi8vLyBTZXRzIHZhbGlkYXRpb25SZXN1bHQuYWxsVmFsaWQgPSB0cnVlL2ZhbHNlIGFjY29yZGluZ2x5LgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVmFsaWRhdGVUcmFuc2Zlck1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHNlcnZpY2VUYXNrID0gdGFzayBhcyBEYXByU2VydmljZVRhc2s7CiAgICAgICAgaWYgKHNlcnZpY2VUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEYXByU2VydmljZVRhc2siKTsKCiAgICAgICAgdmFyIGFwcElkID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfQVBQX0lEIik7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShhcHBJZCkpCiAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldEFwcElkKGFwcElkKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJJbnN0YW5jZSBkYXRhIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciB0cmFuc2ZlclBsYW4gPSBkYXRhLnRyYW5zZmVyUGxhbjsKICAgICAgICBpZiAodHJhbnNmZXJQbGFuID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudEV4Y2VwdGlvbigidHJhbnNmZXJQbGFuIGlzIHJlcXVpcmVkLiIsICJ0cmFuc2ZlclBsYW4iKTsKCiAgICAgICAgdmFyIHN0YXJ0RGF0ZSA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlIik7CiAgICAgICAgdmFyIGVuZERhdGUgPSBHZXRTdHJpbmcoZGF0YSwgImVuZERhdGUiKTsKCiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBBcmd1bWVudEV4Y2VwdGlvbigic3RhcnREYXRlIGlzIHJlcXVpcmVkLiIsICJzdGFydERhdGUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZSkpCiAgICAgICAgICAgIGVuZERhdGUgPSAiMjA5OS0xMi0zMSI7CgogICAgICAgIHZhciBjb25kaXRpb25zID0gbmV3IExpc3Q8c3RyaW5nPgogICAgICAgIHsKICAgICAgICAgICAgIntcIm9yXCI6WyIgKwogICAgICAgICAgICAgICAgIntcImN1cnJlbnRTdGF0ZVwiOntcImVxXCI6XCJhY3RpdmVcIn19LCIgKwogICAgICAgICAgICAgICAgIntcImN1cnJlbnRTdGF0ZVwiOntcImVxXCI6XCJpbi1tZWV0XCJ9fSIgKwogICAgICAgICAgICAiXX0iLAogICAgICAgICAgICAie1wic3RhdHVzXCI6e1wiZXFcIjpcIkFcIn19IiwKICAgICAgICAgICAgIntcImF0dHJpYnV0ZXNcIjp7XCJzdGFydERhdGVUaW1lXCI6e1wiZ3RlXCI6XCIiICsgc3RhcnREYXRlICsgIlwifX19IiwKICAgICAgICAgICAgIntcImF0dHJpYnV0ZXNcIjp7XCJlbmREYXRlVGltZVwiOntcImx0ZVwiOlwiIiArIGVuZERhdGUgKyAiXCJ9fX0iCiAgICAgICAgfTsKCiAgICAgICAgdmFyIGZpbHRlckpzb24gPSAie1wiYW5kXCI6WyIgKyBzdHJpbmcuSm9pbigiLCIsIGNvbmRpdGlvbnMpICsgIl19IjsKICAgICAgICB2YXIgcXVlcnlQYXJhbXMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICAicGFnZVNpemU9MTAwIiwKICAgICAgICAgICAgImZpbHRlcj0iICsgZmlsdGVySnNvbgogICAgICAgIH07CgogICAgICAgIHNlcnZpY2VUYXNrLlNldFF1ZXJ5U3RyaW5nKHN0cmluZy5Kb2luKCImIiwgcXVlcnlQYXJhbXMpKTsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICB2YXIgYm9keSA9IGNvbnRleHQuQm9keTsKICAgICAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCAmJiBib2R5LmlzU3VjY2VzcyA9PSBmYWxzZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGVycm9yTWVzc2FnZSA9IGJvZHkuZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJWYWxpZGF0aW9uIHNlcnZpY2UgZXJyb3IiOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihlcnJvck1lc3NhZ2UpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgcmVzcG9uc2VEYXRhID0gYm9keT8uZGF0YTsKICAgICAgICAgICAgdmFyIGFsbEl0ZW1zID0gcmVzcG9uc2VEYXRhPy5pdGVtczsKCiAgICAgICAgICAgIHZhciB0cmFuc2ZlclBsYW4gPSBkYXRhPy50cmFuc2ZlclBsYW47CiAgICAgICAgICAgIHZhciBlbnJpY2hlZFJlemVydmF0aW9ucyA9IGRhdGE/LmVucmljaGVkUmV6ZXJ2YXRpb25zOwoKICAgICAgICAgICAgYm9vbCBhbGxWYWxpZCA9IHRydWU7CiAgICAgICAgICAgIHZhciBkZXRhaWxzID0gbmV3IExpc3Q8b2JqZWN0PigpOwoKICAgICAgICAgICAgaWYgKHRyYW5zZmVyUGxhbiAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgcGxhbkl0ZW0gaW4gdHJhbnNmZXJQbGFuKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmIChwbGFuSXRlbSA9PSBudWxsKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgZHluYW1pYyBwaSA9IHBsYW5JdGVtOwogICAgICAgICAgICAgICAgICAgIHZhciByZXplcnZhdGlvbktleSA9IHBpLnJlemVydmF0aW9uS2V5Py5Ub1N0cmluZygpOwogICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXRBZHZpc29yID0gcGkudGFyZ2V0QWR2aXNvcj8uVG9TdHJpbmcoKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHJlemVydmF0aW9uS2V5KSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eSh0YXJnZXRBZHZpc29yKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMuQWRkKG5ldyB7IHJlemVydmF0aW9uS2V5LCB0YXJnZXRBZHZpc29yLCB2YWxpZCA9IGZhbHNlLCByZWFzb24gPSAibWlzc2luZy1kYXRhIiB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgYWxsVmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBzdHJpbmcgcmV6U3RhcnRTdHIgPSBudWxsLCByZXpFbmRTdHIgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmIChlbnJpY2hlZFJlemVydmF0aW9ucyAhPSBudWxsKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAodmFyIGVyIGluIGVucmljaGVkUmV6ZXJ2YXRpb25zKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXIgPT0gbnVsbCkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXJLZXkgPSBIYXNQcm9wZXJ0eShlciwgImtleSIpID8gZXIua2V5Py5Ub1N0cmluZygpIDogIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJLZXkgPT0gcmV6ZXJ2YXRpb25LZXkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV6U3RhcnRTdHIgPSBIYXNQcm9wZXJ0eShlciwgInN0YXJ0RGF0ZVRpbWUiKSA/IGVyLnN0YXJ0RGF0ZVRpbWU/LlRvU3RyaW5nKCkgOiBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlekVuZFN0ciA9IEhhc1Byb3BlcnR5KGVyLCAiZW5kRGF0ZVRpbWUiKSA/IGVyLmVuZERhdGVUaW1lPy5Ub1N0cmluZygpIDogbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHJlelN0YXJ0U3RyKSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eShyZXpFbmRTdHIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscy5BZGQobmV3IHsgcmV6ZXJ2YXRpb25LZXksIHRhcmdldEFkdmlzb3IsIHZhbGlkID0gdHJ1ZSwgcmVhc29uID0gIm5vLXRpbWUtZGF0YS10by12YWxpZGF0ZSIgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUgcmV6U3RhcnQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICBEYXRlVGltZSByZXpFbmQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHJlelN0YXJ0U3RyLCBvdXQgcmV6U3RhcnQpIHx8ICFEYXRlVGltZS5UcnlQYXJzZShyZXpFbmRTdHIsIG91dCByZXpFbmQpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscy5BZGQobmV3IHsgcmV6ZXJ2YXRpb25LZXksIHRhcmdldEFkdmlzb3IsIHZhbGlkID0gdHJ1ZSwgcmVhc29uID0gInVucGFyc2VhYmxlLXRpbWUiIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzQ29uZmxpY3QgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZiAoYWxsSXRlbXMgIT0gbnVsbCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGFsbEl0ZW1zKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSA9PSBudWxsKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpdGVtQWR2aXNvciA9IEdldE5lc3RlZFN0cmluZyhpdGVtLCAiYXR0cmlidXRlcyIsICJhZHZpc29yIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/PyBHZXRTdHJpbmcoaXRlbSwgImFkdmlzb3IiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtQWR2aXNvciAhPSB0YXJnZXRBZHZpc29yKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbVN0YXJ0U3RyID0gR2V0TmVzdGVkU3RyaW5nKGl0ZW0sICJhdHRyaWJ1dGVzIiwgInN0YXJ0RGF0ZVRpbWUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8/IEdldFN0cmluZyhpdGVtLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW1FbmRTdHIgPSBHZXROZXN0ZWRTdHJpbmcoaXRlbSwgImF0dHJpYnV0ZXMiLCAiZW5kRGF0ZVRpbWUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8/IEdldFN0cmluZyhpdGVtLCAiZW5kRGF0ZVRpbWUiKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoaXRlbVN0YXJ0U3RyKSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eShpdGVtRW5kU3RyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlVGltZSBpdGVtU3RhcnQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGVUaW1lIGl0ZW1FbmQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChEYXRlVGltZS5UcnlQYXJzZShpdGVtU3RhcnRTdHIsIG91dCBpdGVtU3RhcnQpICYmIERhdGVUaW1lLlRyeVBhcnNlKGl0ZW1FbmRTdHIsIG91dCBpdGVtRW5kKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbUtleSA9IEhhc1Byb3BlcnR5KGl0ZW0sICJrZXkiKSA/IGl0ZW0ua2V5Py5Ub1N0cmluZygpIDogIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1LZXkgPT0gcmV6ZXJ2YXRpb25LZXkpIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVN0YXJ0IDwgcmV6RW5kICYmIGl0ZW1FbmQgPiByZXpTdGFydCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbmZsaWN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoaGFzQ29uZmxpY3QpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBhbGxWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzLkFkZChuZXcgeyByZXplcnZhdGlvbktleSwgdGFyZ2V0QWR2aXNvciwgdmFsaWQgPSBmYWxzZSwgcmVhc29uID0gInNsb3QtY29uZmxpY3QiIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzLkFkZChuZXcgeyByZXplcnZhdGlvbktleSwgdGFyZ2V0QWR2aXNvciwgdmFsaWQgPSB0cnVlIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFsbFZhbGlkLAogICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZWRJbmRleCA9IDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWxsVmFsaWQgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBleC5NZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0TmVzdGVkU3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgcGFyZW50LCBzdHJpbmcgY2hpbGQpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIHBhcmVudCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBuZXN0ZWQgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgcGFyZW50KTsKICAgICAgICAgICAgICAgIGlmIChuZXN0ZWQgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShuZXN0ZWQsIGNoaWxkKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUobmVzdGVkLCBjaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0KCg=="
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"key": "validating",
|
|
181
|
+
"stateType": 2,
|
|
182
|
+
"versionStrategy": "Minor",
|
|
183
|
+
"labels": [
|
|
184
|
+
{
|
|
185
|
+
"label": "Validating Transfer",
|
|
186
|
+
"language": "en-US"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"label": "Transfer Doğrulanıyor",
|
|
190
|
+
"language": "tr-TR"
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"transitions": [
|
|
194
|
+
{
|
|
195
|
+
"key": "process-next",
|
|
196
|
+
"target": "validating",
|
|
197
|
+
"triggerType": 1,
|
|
198
|
+
"versionStrategy": "Minor",
|
|
199
|
+
"labels": [
|
|
200
|
+
{
|
|
201
|
+
"label": "Process Next Transfer",
|
|
202
|
+
"language": "en-US"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"label": "Sonraki Transferi İşle",
|
|
206
|
+
"language": "tr-TR"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"rule": {
|
|
210
|
+
"location": "./src/TransferProcessNextRule.csx",
|
|
211
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBtYXBwaW5nIGZvciBwcm9jZXNzLW5leHQgYXV0byB0cmFuc2l0aW9uIGluIHZhbGlkYXRpbmcgc3RhdGUuCi8vLyBSdWxlOiB2YWxpZGF0aW9uUmVzdWx0LmFsbFZhbGlkID09IHRydWUgQU5EIHByb2Nlc3NlZEluZGV4IGxlc3MgdGhhbiB0cmFuc2ZlclBsYW4uQ291bnQKLy8vIFdoZW4gdHJ1ZSwgdGhlIHNlbGYtbG9vcCBmaXJlcyB0byBwcm9jZXNzIHRoZSBuZXh0IHRyYW5zZmVyIGl0ZW0uCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBUcmFuc2ZlclByb2Nlc3NOZXh0UnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGNvbnRleHQ/Lkluc3RhbmNlPy5EYXRhID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZS5EYXRhOwoKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAidmFsaWRhdGlvblJlc3VsdCIpIHx8IGRhdGEudmFsaWRhdGlvblJlc3VsdCA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YS52YWxpZGF0aW9uUmVzdWx0LCAiYWxsVmFsaWQiKSB8fCBkYXRhLnZhbGlkYXRpb25SZXN1bHQuYWxsVmFsaWQgIT0gdHJ1ZSkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwoKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAidHJhbnNmZXJQbGFuIikgfHwgZGF0YS50cmFuc2ZlclBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwoKICAgICAgICAgICAgdmFyIHRyYW5zZmVyUGxhbiA9IGRhdGEudHJhbnNmZXJQbGFuIGFzIFN5c3RlbS5Db2xsZWN0aW9ucy5JRW51bWVyYWJsZTsKICAgICAgICAgICAgaWYgKHRyYW5zZmVyUGxhbiA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgICAgICBpbnQgdG90YWxDb3VudCA9IDA7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIHRyYW5zZmVyUGxhbikgdG90YWxDb3VudCsrOwoKICAgICAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KGRhdGEsICJwcm9jZXNzZWRJbmRleCIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQuVHJ5UGFyc2UoZGF0YS5wcm9jZXNzZWRJbmRleD8uVG9TdHJpbmcoKSA/PyAiMCIsIG91dCBwcm9jZXNzZWRJbmRleCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocHJvY2Vzc2VkSW5kZXggPCB0b3RhbENvdW50KTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbikKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwogICAgICAgIH0KICAgIH0KfQo="
|
|
212
|
+
},
|
|
213
|
+
"onExecutionTasks": [
|
|
214
|
+
{
|
|
215
|
+
"order": 1,
|
|
216
|
+
"task": {
|
|
217
|
+
"domain": "touch",
|
|
218
|
+
"flow": "sys-tasks",
|
|
219
|
+
"key": "execute-rezervation-transfer",
|
|
220
|
+
"version": "1.0.0"
|
|
221
|
+
},
|
|
222
|
+
"mapping": {
|
|
223
|
+
"location": "./src/ExecuteTransferMapping.csx",
|
|
224
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIGV4ZWN1dGUtcmV6ZXJ2YXRpb24tdHJhbnNmZXIgdGFzayAoU3RhcnRUYXNrIC0gVHlwZSAxMSkuCi8vLyBQcm9jZXNzZXMgT05FIHRyYW5zZmVyIGl0ZW0gYXQgYSB0aW1lIHVzaW5nIHByb2Nlc3NlZEluZGV4IGNvdW50ZXIuCi8vLyBFYWNoIGludm9jYXRpb24gc3RhcnRzIGEgcmV6ZXJ2YXRpb24tdXBkYXRlIHN1YmZsb3cgaW5zdGFuY2UgZm9yIGEgc2luZ2xlIHJlemVydmF0aW9uLgovLy8gVGhlIHNlbGYtbG9vcCBwYXR0ZXJuIGluIHZhbGlkYXRpbmcgc3RhdGUgY2FsbHMgdGhpcyByZXBlYXRlZGx5IHVudGlsIGFsbCBpdGVtcyBhcmUgcHJvY2Vzc2VkLgovLy8KLy8vIElNUE9SVEFOVDogcHJvY2Vzc2VkSW5kZXggaW5jcmVtZW50IGhhcHBlbnMgaW4gT3V0cHV0SGFuZGxlci4KLy8vIElucHV0SGFuZGxlciBNVVNUIHJldHVybiBub24tbnVsbCBEYXRhIGZvciBTdGFydFRhc2sgdG8gZXhlY3V0ZS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEV4ZWN1dGVUcmFuc2Zlck1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHN0YXJ0VGFzayA9IHRhc2sgYXMgU3RhcnRUYXNrOwogICAgICAgIGlmIChzdGFydFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIFN0YXJ0VGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkluc3RhbmNlIGRhdGEgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHRyYW5zZmVyUGxhbiA9IGRhdGEudHJhbnNmZXJQbGFuOwogICAgICAgIGlmICh0cmFuc2ZlclBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJ0cmFuc2ZlclBsYW4gaXMgcmVxdWlyZWQuIiwgInRyYW5zZmVyUGxhbiIpOwoKICAgICAgICB2YXIgdHJhbnNmZXJJdGVtcyA9IHRyYW5zZmVyUGxhbiBhcyBJRW51bWVyYWJsZTxvYmplY3Q+OwogICAgICAgIGlmICh0cmFuc2Zlckl0ZW1zID09IG51bGwgfHwgIXRyYW5zZmVySXRlbXMuQW55KCkpCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlIHsgRGF0YSA9IG5ldyB7IHRyYW5zZmVyU2tpcHBlZCA9IHRydWUgfSB9KTsKCiAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICBpZiAoSGFzUHJvcGVydHkoZGF0YSwgInByb2Nlc3NlZEluZGV4IikpCiAgICAgICAgewogICAgICAgICAgICBpbnQuVHJ5UGFyc2UoZGF0YS5wcm9jZXNzZWRJbmRleD8uVG9TdHJpbmcoKSA/PyAiMCIsIG91dCBwcm9jZXNzZWRJbmRleCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXRlbXNMaXN0ID0gdHJhbnNmZXJJdGVtcy5Ub0xpc3QoKTsKICAgICAgICBpZiAocHJvY2Vzc2VkSW5kZXggPj0gaXRlbXNMaXN0LkNvdW50KQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBuZXcgeyB0cmFuc2ZlclNraXBwZWQgPSB0cnVlIH0gfSk7CgogICAgICAgIGR5bmFtaWMgY3VycmVudEl0ZW0gPSBpdGVtc0xpc3RbcHJvY2Vzc2VkSW5kZXhdOwogICAgICAgIHZhciByZXplcnZhdGlvbktleSA9IGN1cnJlbnRJdGVtLnJlemVydmF0aW9uS2V5Py5Ub1N0cmluZygpOwogICAgICAgIHZhciB0YXJnZXRBZHZpc29yID0gY3VycmVudEl0ZW0udGFyZ2V0QWR2aXNvcj8uVG9TdHJpbmcoKTsKCiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHJlemVydmF0aW9uS2V5KSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eSh0YXJnZXRBZHZpc29yKSkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgdHJhbnNmZXJTa2lwcGVkID0gdHJ1ZSB9IH0pOwoKICAgICAgICB2YXIgcGFyZW50S2V5ID0gY29udGV4dC5JbnN0YW5jZT8uS2V5ID8/IERhdGVUaW1lLlV0Y05vdy5UaWNrcy5Ub1N0cmluZygpOwogICAgICAgIHZhciBpbnN0YW5jZUtleSA9IENyZWF0ZVNob3J0S2V5KHBhcmVudEtleSwgcmV6ZXJ2YXRpb25LZXkpOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJ0b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZXplcnZhdGlvbi11cGRhdGUiKTsKICAgICAgICBzdGFydFRhc2suU2V0S2V5KGluc3RhbmNlS2V5KTsKICAgICAgICBzdGFydFRhc2suU2V0Qm9keShuZXcKICAgICAgICB7CiAgICAgICAgICAgIHJhbmRldnVLZXkgPSByZXplcnZhdGlvbktleSwKICAgICAgICAgICAgdGFyZ2V0QWR2aXNvciA9IHRhcmdldEFkdmlzb3IsCiAgICAgICAgICAgIGF1dG9Qcm9jZXNzID0gdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgIHsKICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwcm9jZXNzZWRJbmRleCA9IHByb2Nlc3NlZEluZGV4ICsgMSwKICAgICAgICAgICAgICAgIGN1cnJlbnRUcmFuc2ZlcktleSA9IHJlemVydmF0aW9uS2V5LAogICAgICAgICAgICAgICAgY3VycmVudFRhcmdldEFkdmlzb3IgPSB0YXJnZXRBZHZpc29yCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHN1Y2Nlc3MgPSBjb250ZXh0LkJvZHk/LmlzU3VjY2VzcyA9PSB0cnVlOwogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKCiAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICBpZiAoZGF0YSAhPSBudWxsICYmIEhhc1Byb3BlcnR5KGRhdGEsICJwcm9jZXNzZWRJbmRleCIpKQogICAgICAgIHsKICAgICAgICAgICAgaW50LlRyeVBhcnNlKGRhdGEucHJvY2Vzc2VkSW5kZXg/LlRvU3RyaW5nKCkgPz8gIjAiLCBvdXQgcHJvY2Vzc2VkSW5kZXgpOwogICAgICAgIH0KCiAgICAgICAgdmFyIHRyYW5zZmVyUGxhbiA9IGRhdGE/LnRyYW5zZmVyUGxhbjsKICAgICAgICBzdHJpbmcgY3VycmVudFRyYW5zZmVyS2V5ID0gbnVsbDsKICAgICAgICBzdHJpbmcgY3VycmVudFRhcmdldEFkdmlzb3IgPSBudWxsOwoKICAgICAgICBpZiAodHJhbnNmZXJQbGFuICE9IG51bGwpCiAgICAgICAgewogICAgICAgICAgICB2YXIgaXRlbXMgPSB0cmFuc2ZlclBsYW4gYXMgSUVudW1lcmFibGU8b2JqZWN0PjsKICAgICAgICAgICAgaWYgKGl0ZW1zICE9IG51bGwpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBpdGVtc0xpc3QgPSBpdGVtcy5Ub0xpc3QoKTsKICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzZWRJbmRleCA8IGl0ZW1zTGlzdC5Db3VudCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBkeW5hbWljIGN1cnJlbnRJdGVtID0gaXRlbXNMaXN0W3Byb2Nlc3NlZEluZGV4XTsKICAgICAgICAgICAgICAgICAgICBjdXJyZW50VHJhbnNmZXJLZXkgPSBjdXJyZW50SXRlbT8ucmV6ZXJ2YXRpb25LZXk/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgICAgY3VycmVudFRhcmdldEFkdmlzb3IgPSBjdXJyZW50SXRlbT8udGFyZ2V0QWR2aXNvcj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PigpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAidHJhbnNmZXJQbGFuIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJ2YWxpZGF0aW9uUmVzdWx0Iik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImFkdmlzb3JUeXBlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJzdGFydERhdGUiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImVuZERhdGUiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyVHlwZSIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAiZW5yaWNoZWRSZXplcnZhdGlvbnMiKTsKICAgICAgICByZXN1bHRbInByb2Nlc3NlZEluZGV4Il0gPSBwcm9jZXNzZWRJbmRleCArIDE7CiAgICAgICAgcmVzdWx0WyJjdXJyZW50VHJhbnNmZXJLZXkiXSA9IGN1cnJlbnRUcmFuc2ZlcktleTsKICAgICAgICByZXN1bHRbImN1cnJlbnRUYXJnZXRBZHZpc29yIl0gPSBjdXJyZW50VGFyZ2V0QWR2aXNvcjsKICAgICAgICByZXN1bHRbImxhc3RUcmFuc2ZlclN1Y2Nlc3MiXSA9IHN1Y2Nlc3M7CiAgICAgICAgcmVzdWx0WyJsYXN0VHJhbnNmZXJFcnJvciJdID0gIXN1Y2Nlc3MgPyAoY29udGV4dC5Cb2R5Py5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIlRyYW5zZmVyIGV4ZWN1dGlvbiBmYWlsZWQiKSA6IG51bGw7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgewogICAgICAgICAgICBEYXRhID0gcmVzdWx0CiAgICAgICAgfSk7CiAgICB9CgogICAgLy8vIDxzdW1tYXJ5PkNyZWF0ZXMgYSBrZXkgJmx0Oz0gMTAwIGNoYXJzIGJ5IHRydW5jYXRpbmcgcGFyZW50S2V5IGFuZCByZXplcnZhdGlvbktleS48L3N1bW1hcnk+CiAgICBwcml2YXRlIHN0YXRpYyBzdHJpbmcgQ3JlYXRlU2hvcnRLZXkoc3RyaW5nIHBhcmVudEtleSwgc3RyaW5nIHJlemVydmF0aW9uS2V5KQogICAgewogICAgICAgIHZhciBtYXhQYXJlbnQgPSA0MDsKICAgICAgICB2YXIgbWF4UmV6ID0gNTA7CiAgICAgICAgdmFyIHAgPSBwYXJlbnRLZXkuTGVuZ3RoIDw9IG1heFBhcmVudCA/IHBhcmVudEtleSA6IHBhcmVudEtleS5TdWJzdHJpbmcocGFyZW50S2V5Lkxlbmd0aCAtIG1heFBhcmVudCk7CiAgICAgICAgdmFyIHIgPSByZXplcnZhdGlvbktleS5MZW5ndGggPD0gbWF4UmV6ID8gcmV6ZXJ2YXRpb25LZXkgOiByZXplcnZhdGlvbktleS5TdWJzdHJpbmcocmV6ZXJ2YXRpb25LZXkuTGVuZ3RoIC0gbWF4UmV6KTsKICAgICAgICByZXR1cm4gJCJ0dS17cH0te3J9IjsKICAgIH0KCiAgICBwcml2YXRlIHZvaWQgQ29weUlmUHJlc2VudChEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiB0YXJnZXQsIGR5bmFtaWMgc291cmNlLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybjsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShzb3VyY2UsIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUoc291cmNlLCBuYW1lKTsKICAgICAgICAgICAgICAgIGlmICh2ICE9IG51bGwpIHRhcmdldFtuYW1lXSA9IHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICB9Cn0K"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"key": "all-done",
|
|
231
|
+
"target": "updating-rez-chatrooms",
|
|
232
|
+
"triggerType": 1,
|
|
233
|
+
"versionStrategy": "Minor",
|
|
234
|
+
"labels": [
|
|
235
|
+
{
|
|
236
|
+
"label": "All Transfers Done",
|
|
237
|
+
"language": "en-US"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"label": "Tüm Transferler Tamamlandı",
|
|
241
|
+
"language": "tr-TR"
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"rule": {
|
|
245
|
+
"location": "./src/TransferAllDoneRule.csx",
|
|
246
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBtYXBwaW5nIGZvciBhbGwtZG9uZSBhdXRvIHRyYW5zaXRpb24gaW4gdmFsaWRhdGluZyBzdGF0ZS4KLy8vIFJ1bGU6IHZhbGlkYXRpb25SZXN1bHQuYWxsVmFsaWQgPT0gdHJ1ZSBBTkQgcHJvY2Vzc2VkSW5kZXggPj0gdHJhbnNmZXJQbGFuLkNvdW50Ci8vLyBXaGVuIHRydWUsIGFsbCB0cmFuc2ZlcnMgaGF2ZSBiZWVuIGV4ZWN1dGVkIGFuZCB0aGUgd29ya2Zsb3cgbW92ZXMgdG8gY29tcGxldGVkLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVHJhbnNmZXJBbGxEb25lUnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGNvbnRleHQ/Lkluc3RhbmNlPy5EYXRhID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZS5EYXRhOwoKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAidmFsaWRhdGlvblJlc3VsdCIpIHx8IGRhdGEudmFsaWRhdGlvblJlc3VsdCA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YS52YWxpZGF0aW9uUmVzdWx0LCAiYWxsVmFsaWQiKSB8fCBkYXRhLnZhbGlkYXRpb25SZXN1bHQuYWxsVmFsaWQgIT0gdHJ1ZSkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwoKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAidHJhbnNmZXJQbGFuIikgfHwgZGF0YS50cmFuc2ZlclBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICB2YXIgdHJhbnNmZXJQbGFuID0gZGF0YS50cmFuc2ZlclBsYW4gYXMgU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhYmxlOwogICAgICAgICAgICBpZiAodHJhbnNmZXJQbGFuID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwoKICAgICAgICAgICAgaW50IHRvdGFsQ291bnQgPSAwOwogICAgICAgICAgICBmb3JlYWNoICh2YXIgaXRlbSBpbiB0cmFuc2ZlclBsYW4pIHRvdGFsQ291bnQrKzsKCiAgICAgICAgICAgIGludCBwcm9jZXNzZWRJbmRleCA9IDA7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShkYXRhLCAicHJvY2Vzc2VkSW5kZXgiKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaW50LlRyeVBhcnNlKGRhdGEucHJvY2Vzc2VkSW5kZXg/LlRvU3RyaW5nKCkgPz8gIjAiLCBvdXQgcHJvY2Vzc2VkSW5kZXgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHByb2Nlc3NlZEluZGV4ID49IHRvdGFsQ291bnQpOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoRXhjZXB0aW9uKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CiAgICAgICAgfQogICAgfQp9Cg=="
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"key": "has-invalid",
|
|
251
|
+
"target": "awaiting-assignment",
|
|
252
|
+
"triggerType": 1,
|
|
253
|
+
"versionStrategy": "Minor",
|
|
254
|
+
"labels": [
|
|
255
|
+
{
|
|
256
|
+
"label": "Has Invalid",
|
|
257
|
+
"language": "en-US"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"label": "Geçersiz Var",
|
|
261
|
+
"language": "tr-TR"
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"rule": {
|
|
265
|
+
"location": "./src/TransferHasInvalidRule.csx",
|
|
266
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIG1hcHBpbmcgZm9yIGhhcy1pbnZhbGlkIGF1dG8gdHJhbnNpdGlvbiBpbiByZXplcnZhdGlvbi10cmFuc2ZlciB2YWxpZGF0aW5nIHN0YXRlLgovLy8gUnVsZTogdmFsaWRhdGlvblJlc3VsdCA9PSBudWxsIE9SIHZhbGlkYXRpb25SZXN1bHQuYWxsVmFsaWQgIT0gdHJ1ZQovLy8gUmV0dXJucyB0aGUgdXNlciB0byBhd2FpdGluZy1hc3NpZ25tZW50IHRvIHJlLXBsYW4gdGhlIHRyYW5zZmVyLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVHJhbnNmZXJIYXNJbnZhbGlkUnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGNvbnRleHQ/Lkluc3RhbmNlPy5EYXRhID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwoKICAgICAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlLkRhdGE7CiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YSwgInZhbGlkYXRpb25SZXN1bHQiKSB8fCBkYXRhLnZhbGlkYXRpb25SZXN1bHQgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICB2YXIgdmFsaWRhdGlvblJlc3VsdCA9IGRhdGEudmFsaWRhdGlvblJlc3VsdDsKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eSh2YWxpZGF0aW9uUmVzdWx0LCAiYWxsVmFsaWQiKSkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHZhbGlkYXRpb25SZXN1bHQuYWxsVmFsaWQgIT0gdHJ1ZSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgICAgIH0KICAgIH0KfQo="
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"key": "updating-rez-chatrooms",
|
|
273
|
+
"stateType": 2,
|
|
274
|
+
"versionStrategy": "Minor",
|
|
275
|
+
"labels": [
|
|
276
|
+
{
|
|
277
|
+
"label": "Updating Reservation Chat Rooms",
|
|
278
|
+
"language": "en-US"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"label": "Randevu Sohbet Odaları Güncelleniyor",
|
|
282
|
+
"language": "tr-TR"
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"onEntries": [
|
|
286
|
+
{
|
|
287
|
+
"order": 1,
|
|
288
|
+
"task": {
|
|
289
|
+
"domain": "touch",
|
|
290
|
+
"flow": "sys-tasks",
|
|
291
|
+
"key": "fetch-rez-chatrooms-for-transfer",
|
|
292
|
+
"version": "1.0.0"
|
|
293
|
+
},
|
|
294
|
+
"mapping": {
|
|
295
|
+
"location": "./src/BuildRezChatRoomPlanMapping.csx",
|
|
296
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIGZldGNoLXJlei1jaGF0cm9vbXMtZm9yLXRyYW5zZmVyIERhcHJTZXJ2aWNlVGFzayAoVHlwZSAzKS4KLy8vIElucHV0SGFuZGxlcjogcXVlcmllcyBjaGF0LXJvb20gaW5zdGFuY2VzIHdoZXJlIGFkdmlzb3JJZCBtYXRjaGVzIHNvdXJjZUFkdmlzb3JJZCBhbmQgcm9vbVR5cGU9cmV6ZXJ2YXRpb24uCi8vLyBPdXRwdXRIYW5kbGVyOiBtYXRjaGVzIGZldGNoZWQgcm9vbXMgd2l0aCB0cmFuc2ZlclBsYW4gdG8gYnVpbGQgcmV6Q2hhdFJvb21QbGFuLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgQnVpbGRSZXpDaGF0Um9vbVBsYW5NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgc291cmNlQWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoc291cmNlQWR2aXNvcklkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJzb3VyY2VBZHZpc29ySWQgaXMgcmVxdWlyZWQuIiwgInNvdXJjZUFkdmlzb3JJZCIpOwoKICAgICAgICB2YXIgZXNjYXBlZEFkdmlzb3IgPSBzb3VyY2VBZHZpc29ySWQuUmVwbGFjZSgiXFwiLCAiXFxcXCIpLlJlcGxhY2UoIlwiIiwgIlxcXCIiKTsKICAgICAgICB2YXIgZmlsdGVyUGFydHMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcImFkdmlzb3JJZFwiOntcImVxXCI6XCIiICsgZXNjYXBlZEFkdmlzb3IgKyAiXCJ9fX0iLAogICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcInJvb21UeXBlXCI6e1wiZXFcIjpcInJlemVydmF0aW9uXCJ9fX0iLAogICAgICAgICAgICAie1wiY3VycmVudFN0YXRlXCI6e1wiZXFcIjpcImNvbXBsZXRlXCJ9fSIKICAgICAgICB9OwoKICAgICAgICB2YXIgZmlsdGVySnNvbiA9ICJ7XCJhbmRcIjpbIiArIHN0cmluZy5Kb2luKCIsIiwgZmlsdGVyUGFydHMpICsgIl19IjsKICAgICAgICB2YXIgcXVlcnlQYXJhbXMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICAicGFnZVNpemU9MTAwIiwKICAgICAgICAgICAgImZpbHRlcj0iICsgZmlsdGVySnNvbgogICAgICAgIH07CgogICAgICAgIHNlcnZpY2VUYXNrLlNldFF1ZXJ5U3RyaW5nKHN0cmluZy5Kb2luKCImIiwgcXVlcnlQYXJhbXMpKTsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGJvZHkgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgcmVzcG9uc2VEYXRhID0gYm9keT8uZGF0YTsKICAgICAgICB2YXIgaXRlbXMgPSByZXNwb25zZURhdGE/Lml0ZW1zOwoKICAgICAgICB2YXIgdHJhbnNmZXJQbGFuID0gZGF0YT8udHJhbnNmZXJQbGFuOwogICAgICAgIHZhciB0cmFuc2Zlck1hcCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPigpOwogICAgICAgIGlmICh0cmFuc2ZlclBsYW4gIT0gbnVsbCkKICAgICAgICB7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciB0cCBpbiB0cmFuc2ZlclBsYW4pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciByZXpLZXkgPSBHZXRTdHJpbmcodHAsICJyZXplcnZhdGlvbktleSIpOwogICAgICAgICAgICAgICAgdmFyIHRhcmdldEFkdmlzb3IgPSBHZXRTdHJpbmcodHAsICJ0YXJnZXRBZHZpc29yIik7CiAgICAgICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHJlektleSkgJiYgIXN0cmluZy5Jc051bGxPckVtcHR5KHRhcmdldEFkdmlzb3IpKQogICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyTWFwW3JlektleV0gPSB0YXJnZXRBZHZpc29yOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZW5yaWNoZWRSZXplcnZhdGlvbnMgPSBkYXRhPy5lbnJpY2hlZFJlemVydmF0aW9uczsKICAgICAgICB2YXIgdXNlckJ5UmV6ID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+KCk7CiAgICAgICAgaWYgKGVucmljaGVkUmV6ZXJ2YXRpb25zICE9IG51bGwpCiAgICAgICAgewogICAgICAgICAgICBmb3JlYWNoICh2YXIgZXIgaW4gZW5yaWNoZWRSZXplcnZhdGlvbnMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBrZXkgPSBHZXRTdHJpbmcoZXIsICJrZXkiKTsKICAgICAgICAgICAgICAgIHZhciB1c2VyID0gR2V0U3RyaW5nKGVyLCAidXNlciIpOwogICAgICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShrZXkpICYmICFzdHJpbmcuSXNOdWxsT3JFbXB0eSh1c2VyKSkKICAgICAgICAgICAgICAgICAgICB1c2VyQnlSZXpba2V5XSA9IHVzZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciByZXpDaGF0Um9vbVBsYW4gPSBuZXcgTGlzdDxvYmplY3Q+KCk7CgogICAgICAgIGlmIChpdGVtcyAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gaXRlbXMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBjaGF0Um9vbUtleSA9IEdldFN0cmluZyhpdGVtLCAia2V5Iik7CiAgICAgICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoY2hhdFJvb21LZXkpKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICB2YXIgYXR0cnMgPSBpdGVtPy5hdHRyaWJ1dGVzOwogICAgICAgICAgICAgICAgaWYgKGF0dHJzID09IG51bGwpIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgIHZhciB1c2VyID0gR2V0U3RyaW5nKGF0dHJzLCAidXNlciIpOwoKICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBrdnAgaW4gdHJhbnNmZXJNYXApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXJCeVJlei5Db250YWluc0tleShrdnAuS2V5KSAmJiB1c2VyQnlSZXpba3ZwLktleV0gPT0gdXNlcikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlekNoYXRSb29tUGxhbi5BZGQobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiY2hhdFJvb21LZXkiXSA9IGNoYXRSb29tS2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJ0YXJnZXRBZHZpc29yIl0gPSBrdnAuVmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInJlemVydmF0aW9uS2V5Il0gPSBrdnAuS2V5CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyUGxhbiIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAidmFsaWRhdGlvblJlc3VsdCIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic291cmNlQWR2aXNvcklkIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhZHZpc29yVHlwZSIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic3RhcnREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJlbmREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJ0cmFuc2ZlclR5cGUiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImVucmljaGVkUmV6ZXJ2YXRpb25zIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJwcm9jZXNzZWRJbmRleCIpOwogICAgICAgIHJlc3VsdFsicmV6Q2hhdFJvb21QbGFuIl0gPSByZXpDaGF0Um9vbVBsYW47CiAgICAgICAgcmVzdWx0WyJyZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4Il0gPSAwOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSByZXN1bHQgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIENvcHlJZlByZXNlbnQoRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4gdGFyZ2V0LCBkeW5hbWljIHNvdXJjZSwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm47CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkoc291cmNlLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKHNvdXJjZSwgbmFtZSk7CiAgICAgICAgICAgICAgICBpZiAodiAhPSBudWxsKSB0YXJnZXRbbmFtZV0gPSB2OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgfQp9Cg=="
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"transitions": [
|
|
301
|
+
{
|
|
302
|
+
"key": "process-next-rez-chatroom",
|
|
303
|
+
"target": "updating-rez-chatrooms",
|
|
304
|
+
"triggerType": 1,
|
|
305
|
+
"versionStrategy": "Minor",
|
|
306
|
+
"labels": [
|
|
307
|
+
{
|
|
308
|
+
"label": "Process Next Rez Chat Room",
|
|
309
|
+
"language": "en-US"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"label": "Sonraki Randevu Odasını İşle",
|
|
313
|
+
"language": "tr-TR"
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"rule": {
|
|
317
|
+
"location": "./src/RezChatRoomProcessNextRule.csx",
|
|
318
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIGZvciBwcm9jZXNzLW5leHQtcmV6LWNoYXRyb29tIGF1dG8gdHJhbnNpdGlvbiBpbiB1cGRhdGluZy1yZXotY2hhdHJvb21zIHN0YXRlLgovLy8gUnVsZTogcmV6Q2hhdFJvb21Qcm9jZXNzZWRJbmRleCBsZXNzIHRoYW4gcmV6Q2hhdFJvb21QbGFuLkNvdW50Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZXpDaGF0Um9vbVByb2Nlc3NOZXh0UnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGNvbnRleHQ/Lkluc3RhbmNlPy5EYXRhID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZS5EYXRhOwoKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAicmV6Q2hhdFJvb21QbGFuIikgfHwgZGF0YS5yZXpDaGF0Um9vbVBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwoKICAgICAgICAgICAgdmFyIHBsYW4gPSBkYXRhLnJlekNoYXRSb29tUGxhbiBhcyBTeXN0ZW0uQ29sbGVjdGlvbnMuSUVudW1lcmFibGU7CiAgICAgICAgICAgIGlmIChwbGFuID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKCiAgICAgICAgICAgIGludCB0b3RhbENvdW50ID0gMDsKICAgICAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gcGxhbikgdG90YWxDb3VudCsrOwoKICAgICAgICAgICAgaWYgKHRvdGFsQ291bnQgPT0gMCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwoKICAgICAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KGRhdGEsICJyZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4IikpCiAgICAgICAgICAgICAgICBpbnQuVHJ5UGFyc2UoZGF0YS5yZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4Py5Ub1N0cmluZygpID8/ICIwIiwgb3V0IHByb2Nlc3NlZEluZGV4KTsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocHJvY2Vzc2VkSW5kZXggPCB0b3RhbENvdW50KTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbikKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwogICAgICAgIH0KICAgIH0KfQo="
|
|
319
|
+
},
|
|
320
|
+
"onExecutionTasks": [
|
|
321
|
+
{
|
|
322
|
+
"order": 1,
|
|
323
|
+
"task": {
|
|
324
|
+
"domain": "touch",
|
|
325
|
+
"flow": "sys-tasks",
|
|
326
|
+
"key": "execute-rez-chatroom-transfer",
|
|
327
|
+
"version": "1.0.0"
|
|
328
|
+
},
|
|
329
|
+
"mapping": {
|
|
330
|
+
"location": "./src/ExecuteRezChatRoomTransferMapping.csx",
|
|
331
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIGV4ZWN1dGUtcmV6LWNoYXRyb29tLXRyYW5zZmVyIERpcmVjdFRyaWdnZXJUYXNrIChUeXBlIDEyKS4KLy8vIFRyaWdnZXJzIHRoZSAndHJhbnNmZXInIHRyYW5zaXRpb24gb24gYSBjaGF0LXJvb20gaW5zdGFuY2UgZm9yIHRoZSBjdXJyZW50IGl0ZW0gaW4gcmV6Q2hhdFJvb21QbGFuLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgRXhlY3V0ZVJlekNoYXRSb29tVHJhbnNmZXJNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkluc3RhbmNlIGRhdGEgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHJlekNoYXRSb29tUGxhbiA9IGRhdGEucmV6Q2hhdFJvb21QbGFuOwogICAgICAgIGlmIChyZXpDaGF0Um9vbVBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgc2tpcHBlZCA9IHRydWUsIHJlYXNvbiA9ICJuby1yZXpDaGF0Um9vbVBsYW4iIH0gfSk7CgogICAgICAgIGludCBwcm9jZXNzZWRJbmRleCA9IDA7CiAgICAgICAgaWYgKEhhc1Byb3BlcnR5KGRhdGEsICJyZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4IikpCiAgICAgICAgICAgIGludC5UcnlQYXJzZShkYXRhLnJlekNoYXRSb29tUHJvY2Vzc2VkSW5kZXg/LlRvU3RyaW5nKCkgPz8gIjAiLCBvdXQgcHJvY2Vzc2VkSW5kZXgpOwoKICAgICAgICB2YXIgaXRlbXMgPSByZXpDaGF0Um9vbVBsYW4gYXMgSUVudW1lcmFibGU8b2JqZWN0PjsKICAgICAgICBpZiAoaXRlbXMgPT0gbnVsbCkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgc2tpcHBlZCA9IHRydWUgfSB9KTsKCiAgICAgICAgdmFyIGl0ZW1zTGlzdCA9IGl0ZW1zLlRvTGlzdCgpOwogICAgICAgIGlmIChwcm9jZXNzZWRJbmRleCA+PSBpdGVtc0xpc3QuQ291bnQpCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlIHsgRGF0YSA9IG5ldyB7IHNraXBwZWQgPSB0cnVlIH0gfSk7CgogICAgICAgIGR5bmFtaWMgY3VycmVudEl0ZW0gPSBpdGVtc0xpc3RbcHJvY2Vzc2VkSW5kZXhdOwogICAgICAgIHZhciBjaGF0Um9vbUtleSA9IGN1cnJlbnRJdGVtPy5jaGF0Um9vbUtleT8uVG9TdHJpbmcoKTsKICAgICAgICB2YXIgdGFyZ2V0QWR2aXNvciA9IGN1cnJlbnRJdGVtPy50YXJnZXRBZHZpc29yPy5Ub1N0cmluZygpOwoKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoY2hhdFJvb21LZXkpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KHRhcmdldEFkdmlzb3IpKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBuZXcgeyBza2lwcGVkID0gdHJ1ZSB9IH0pOwoKICAgICAgICB0cmlnZ2VyVGFzay5TZXREb21haW4oInRvdWNoIik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0RmxvdygiY2hhdC1yb29tIik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0S2V5KGNoYXRSb29tS2V5KTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRUcmFuc2l0aW9uTmFtZSgidHJhbnNmZXIiKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRCb2R5KG5ldyB7IG5ld0Fkdmlzb3JJZCA9IHRhcmdldEFkdmlzb3IgfSk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHN1Y2Nlc3MgPSBjb250ZXh0LkJvZHk/LmlzU3VjY2VzcyA9PSB0cnVlOwoKICAgICAgICBpbnQgcHJvY2Vzc2VkSW5kZXggPSAwOwogICAgICAgIGlmIChkYXRhICE9IG51bGwgJiYgSGFzUHJvcGVydHkoZGF0YSwgInJlekNoYXRSb29tUHJvY2Vzc2VkSW5kZXgiKSkKICAgICAgICAgICAgaW50LlRyeVBhcnNlKGRhdGEucmV6Q2hhdFJvb21Qcm9jZXNzZWRJbmRleD8uVG9TdHJpbmcoKSA/PyAiMCIsIG91dCBwcm9jZXNzZWRJbmRleCk7CgogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyUGxhbiIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAidmFsaWRhdGlvblJlc3VsdCIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic291cmNlQWR2aXNvcklkIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhZHZpc29yVHlwZSIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic3RhcnREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJlbmREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJ0cmFuc2ZlclR5cGUiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImVucmljaGVkUmV6ZXJ2YXRpb25zIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJwcm9jZXNzZWRJbmRleCIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAicmV6Q2hhdFJvb21QbGFuIik7CiAgICAgICAgcmVzdWx0WyJyZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4Il0gPSBwcm9jZXNzZWRJbmRleCArIDE7CiAgICAgICAgcmVzdWx0WyJsYXN0UmV6Q2hhdFJvb21UcmFuc2ZlclN1Y2Nlc3MiXSA9IHN1Y2Nlc3M7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlIHsgRGF0YSA9IHJlc3VsdCB9KTsKICAgIH0KCiAgICBwcml2YXRlIHZvaWQgQ29weUlmUHJlc2VudChEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiB0YXJnZXQsIGR5bmFtaWMgc291cmNlLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybjsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShzb3VyY2UsIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUoc291cmNlLCBuYW1lKTsKICAgICAgICAgICAgICAgIGlmICh2ICE9IG51bGwpIHRhcmdldFtuYW1lXSA9IHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICB9Cn0K"
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
]
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"key": "rez-chatrooms-done",
|
|
338
|
+
"target": "awaiting-permanent-assignment",
|
|
339
|
+
"triggerType": 1,
|
|
340
|
+
"versionStrategy": "Minor",
|
|
341
|
+
"labels": [
|
|
342
|
+
{
|
|
343
|
+
"label": "Rez Chat Rooms Done",
|
|
344
|
+
"language": "en-US"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"label": "Randevu Odaları Tamamlandı",
|
|
348
|
+
"language": "tr-TR"
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"rule": {
|
|
352
|
+
"location": "./src/RezChatRoomsDoneRule.csx",
|
|
353
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIGZvciByZXotY2hhdHJvb21zLWRvbmUgYXV0byB0cmFuc2l0aW9uIGluIHVwZGF0aW5nLXJlei1jaGF0cm9vbXMgc3RhdGUuCi8vLyBSdWxlOiByZXpDaGF0Um9vbVBsYW4gaXMgbnVsbC9lbXB0eSBPUiByZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4ID49IHJlekNoYXRSb29tUGxhbi5Db3VudAovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgUmV6Q2hhdFJvb21zRG9uZVJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChjb250ZXh0Py5JbnN0YW5jZT8uRGF0YSA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCh0cnVlKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZS5EYXRhOwoKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAicmV6Q2hhdFJvb21QbGFuIikgfHwgZGF0YS5yZXpDaGF0Um9vbVBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICB2YXIgcGxhbiA9IGRhdGEucmV6Q2hhdFJvb21QbGFuIGFzIFN5c3RlbS5Db2xsZWN0aW9ucy5JRW51bWVyYWJsZTsKICAgICAgICAgICAgaWYgKHBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICBpbnQgdG90YWxDb3VudCA9IDA7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIHBsYW4pIHRvdGFsQ291bnQrKzsKCiAgICAgICAgICAgIGlmICh0b3RhbENvdW50ID09IDApCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwoKICAgICAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KGRhdGEsICJyZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4IikpCiAgICAgICAgICAgICAgICBpbnQuVHJ5UGFyc2UoZGF0YS5yZXpDaGF0Um9vbVByb2Nlc3NlZEluZGV4Py5Ub1N0cmluZygpID8/ICIwIiwgb3V0IHByb2Nlc3NlZEluZGV4KTsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocHJvY2Vzc2VkSW5kZXggPj0gdG90YWxDb3VudCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgICAgIH0KICAgIH0KfQo="
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"key": "awaiting-permanent-assignment",
|
|
360
|
+
"stateType": 2,
|
|
361
|
+
"versionStrategy": "Minor",
|
|
362
|
+
"labels": [
|
|
363
|
+
{
|
|
364
|
+
"label": "Awaiting Permanent Room Assignment",
|
|
365
|
+
"language": "en-US"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"label": "Kalıcı Oda Ataması Bekleniyor",
|
|
369
|
+
"language": "tr-TR"
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"onEntries": [
|
|
373
|
+
{
|
|
374
|
+
"order": 1,
|
|
375
|
+
"task": {
|
|
376
|
+
"domain": "touch",
|
|
377
|
+
"flow": "sys-tasks",
|
|
378
|
+
"key": "fetch-permanent-chatrooms-for-transfer",
|
|
379
|
+
"version": "1.0.0"
|
|
380
|
+
},
|
|
381
|
+
"mapping": {
|
|
382
|
+
"location": "./src/FetchPermanentChatRoomsMapping.csx",
|
|
383
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZmV0Y2gtcGVybWFuZW50LWNoYXRyb29tcy1mb3ItdHJhbnNmZXIgRGFwclNlcnZpY2VUYXNrIChUeXBlIDMpLgovLy8gSW5wdXRIYW5kbGVyOiBxdWVyaWVzIGNoYXQtcm9vbSBpbnN0YW5jZXMgd2hlcmUgYWR2aXNvcklkIG1hdGNoZXMgc291cmNlQWR2aXNvcklkIGFuZCByb29tVHlwZSAhPSByZXplcnZhdGlvbi4KLy8vIE91dHB1dEhhbmRsZXI6IHN0b3JlcyB0aGUgcGVybWFuZW50IHJvb21zIGxpc3QgZm9yIHVzZXIgc2VsZWN0aW9uLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgRmV0Y2hQZXJtYW5lbnRDaGF0Um9vbXNNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgc291cmNlQWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJzb3VyY2VBZHZpc29ySWQiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoc291cmNlQWR2aXNvcklkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJzb3VyY2VBZHZpc29ySWQgaXMgcmVxdWlyZWQuIiwgInNvdXJjZUFkdmlzb3JJZCIpOwoKICAgICAgICB2YXIgZXNjYXBlZEFkdmlzb3IgPSBzb3VyY2VBZHZpc29ySWQuUmVwbGFjZSgiXFwiLCAiXFxcXCIpLlJlcGxhY2UoIlwiIiwgIlxcXCIiKTsKICAgICAgICB2YXIgZmlsdGVyUGFydHMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcImFkdmlzb3JJZFwiOntcImVxXCI6XCIiICsgZXNjYXBlZEFkdmlzb3IgKyAiXCJ9fX0iLAogICAgICAgICAgICAie1wiYXR0cmlidXRlc1wiOntcInJvb21UeXBlXCI6e1wibmVcIjpcInJlemVydmF0aW9uXCJ9fX0iLAogICAgICAgICAgICAie1wib3JcIjpbe1wiY3VycmVudFN0YXRlXCI6e1wiZXFcIjpcImFjdGl2YXRlZFwifX0se1wiY3VycmVudFN0YXRlXCI6e1wiZXFcIjpcImRlYWN0aXZhdGVkXCJ9fV19IgogICAgICAgIH07CgogICAgICAgIHZhciBmaWx0ZXJKc29uID0gIntcImFuZFwiOlsiICsgc3RyaW5nLkpvaW4oIiwiLCBmaWx0ZXJQYXJ0cykgKyAiXX0iOwogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJwYWdlU2l6ZT0xMDAiLAogICAgICAgICAgICAiZmlsdGVyPSIgKyBmaWx0ZXJKc29uCiAgICAgICAgfTsKCiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgYm9keSA9IGNvbnRleHQuQm9keTsKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CgogICAgICAgIHZhciByZXNwb25zZURhdGEgPSBib2R5Py5kYXRhOwogICAgICAgIHZhciBpdGVtcyA9IHJlc3BvbnNlRGF0YT8uaXRlbXM7CgogICAgICAgIHZhciBwZXJtYW5lbnRDaGF0Um9vbXMgPSBuZXcgTGlzdDxvYmplY3Q+KCk7CgogICAgICAgIGlmIChpdGVtcyAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gaXRlbXMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBrZXkgPSBHZXRTdHJpbmcoaXRlbSwgImtleSIpOwogICAgICAgICAgICAgICAgdmFyIGF0dHJzID0gaXRlbT8uYXR0cmlidXRlczsKICAgICAgICAgICAgICAgIHZhciB1c2VyID0gYXR0cnMgIT0gbnVsbCA/IEdldFN0cmluZyhhdHRycywgInVzZXIiKSA6IG51bGw7CiAgICAgICAgICAgICAgICB2YXIgcm9vbVR5cGUgPSBhdHRycyAhPSBudWxsID8gR2V0U3RyaW5nKGF0dHJzLCAicm9vbVR5cGUiKSA6IG51bGw7CgogICAgICAgICAgICAgICAgc3RyaW5nIHJvb21JZCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZiAoYXR0cnMgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShhdHRycywgImNoYXRJbnRlZ3JhdGlvbiIpICYmIGF0dHJzLmNoYXRJbnRlZ3JhdGlvbiAhPSBudWxsKQogICAgICAgICAgICAgICAgICAgIHJvb21JZCA9IEdldFN0cmluZyhhdHRycy5jaGF0SW50ZWdyYXRpb24sICJyb29tSWQiKTsKCiAgICAgICAgICAgICAgICBwZXJtYW5lbnRDaGF0Um9vbXMuQWRkKG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PgogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFsiY2hhdFJvb21LZXkiXSA9IGtleSwKICAgICAgICAgICAgICAgICAgICBbInVzZXIiXSA9IHVzZXIsCiAgICAgICAgICAgICAgICAgICAgWyJyb29tVHlwZSJdID0gcm9vbVR5cGUsCiAgICAgICAgICAgICAgICAgICAgWyJyb29tSWQiXSA9IHJvb21JZAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyUGxhbiIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAidmFsaWRhdGlvblJlc3VsdCIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic291cmNlQWR2aXNvcklkIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhZHZpc29yVHlwZSIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic3RhcnREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJlbmREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJ0cmFuc2ZlclR5cGUiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImVucmljaGVkUmV6ZXJ2YXRpb25zIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJyZXpDaGF0Um9vbVBsYW4iKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInJlekNoYXRSb29tUHJvY2Vzc2VkSW5kZXgiKTsKICAgICAgICByZXN1bHRbInBlcm1hbmVudENoYXRSb29tcyJdID0gcGVybWFuZW50Q2hhdFJvb21zOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSByZXN1bHQgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIENvcHlJZlByZXNlbnQoRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4gdGFyZ2V0LCBkeW5hbWljIHNvdXJjZSwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm47CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkoc291cmNlLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKHNvdXJjZSwgbmFtZSk7CiAgICAgICAgICAgICAgICBpZiAodiAhPSBudWxsKSB0YXJnZXRbbmFtZV0gPSB2OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgfQp9Cg=="
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"transitions": [
|
|
388
|
+
{
|
|
389
|
+
"key": "confirm-permanent-rooms",
|
|
390
|
+
"target": "updating-permanent-chatrooms",
|
|
391
|
+
"triggerType": 0,
|
|
392
|
+
"versionStrategy": "Minor",
|
|
393
|
+
"labels": [
|
|
394
|
+
{
|
|
395
|
+
"label": "Confirm Permanent Rooms",
|
|
396
|
+
"language": "en-US"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"label": "Kalıcı Odaları Onayla",
|
|
400
|
+
"language": "tr-TR"
|
|
401
|
+
}
|
|
402
|
+
]
|
|
403
|
+
}
|
|
404
|
+
]
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"key": "updating-permanent-chatrooms",
|
|
408
|
+
"stateType": 2,
|
|
409
|
+
"versionStrategy": "Minor",
|
|
410
|
+
"labels": [
|
|
411
|
+
{
|
|
412
|
+
"label": "Updating Permanent Chat Rooms",
|
|
413
|
+
"language": "en-US"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"label": "Kalıcı Sohbet Odaları Güncelleniyor",
|
|
417
|
+
"language": "tr-TR"
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
"transitions": [
|
|
421
|
+
{
|
|
422
|
+
"key": "process-next-permanent",
|
|
423
|
+
"target": "updating-permanent-chatrooms",
|
|
424
|
+
"triggerType": 1,
|
|
425
|
+
"versionStrategy": "Minor",
|
|
426
|
+
"labels": [
|
|
427
|
+
{
|
|
428
|
+
"label": "Process Next Permanent Room",
|
|
429
|
+
"language": "en-US"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"label": "Sonraki Kalıcı Odayı İşle",
|
|
433
|
+
"language": "tr-TR"
|
|
434
|
+
}
|
|
435
|
+
],
|
|
436
|
+
"rule": {
|
|
437
|
+
"location": "./src/PermanentProcessNextRule.csx",
|
|
438
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIGZvciBwcm9jZXNzLW5leHQtcGVybWFuZW50IGF1dG8gdHJhbnNpdGlvbiBpbiB1cGRhdGluZy1wZXJtYW5lbnQtY2hhdHJvb21zIHN0YXRlLgovLy8gUnVsZTogcGVybWFuZW50UHJvY2Vzc2VkSW5kZXggbGVzcyB0aGFuIHBlcm1hbmVudFJvb21QbGFuLkNvdW50Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBQZXJtYW5lbnRQcm9jZXNzTmV4dFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChjb250ZXh0Py5JbnN0YW5jZT8uRGF0YSA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2UuRGF0YTsKCiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YSwgInBlcm1hbmVudFJvb21QbGFuIikgfHwgZGF0YS5wZXJtYW5lbnRSb29tUGxhbiA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgICAgICB2YXIgcGxhbiA9IGRhdGEucGVybWFuZW50Um9vbVBsYW4gYXMgU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhYmxlOwogICAgICAgICAgICBpZiAocGxhbiA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgICAgICBpbnQgdG90YWxDb3VudCA9IDA7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIHBsYW4pIHRvdGFsQ291bnQrKzsKCiAgICAgICAgICAgIGlmICh0b3RhbENvdW50ID09IDApCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKCiAgICAgICAgICAgIGludCBwcm9jZXNzZWRJbmRleCA9IDA7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShkYXRhLCAicGVybWFuZW50UHJvY2Vzc2VkSW5kZXgiKSkKICAgICAgICAgICAgICAgIGludC5UcnlQYXJzZShkYXRhLnBlcm1hbmVudFByb2Nlc3NlZEluZGV4Py5Ub1N0cmluZygpID8/ICIwIiwgb3V0IHByb2Nlc3NlZEluZGV4KTsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocHJvY2Vzc2VkSW5kZXggPCB0b3RhbENvdW50KTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbikKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwogICAgICAgIH0KICAgIH0KfQo="
|
|
439
|
+
},
|
|
440
|
+
"onExecutionTasks": [
|
|
441
|
+
{
|
|
442
|
+
"order": 1,
|
|
443
|
+
"task": {
|
|
444
|
+
"domain": "touch",
|
|
445
|
+
"flow": "sys-tasks",
|
|
446
|
+
"key": "execute-permanent-chatroom-update",
|
|
447
|
+
"version": "1.0.0"
|
|
448
|
+
},
|
|
449
|
+
"mapping": {
|
|
450
|
+
"location": "./src/ExecutePermanentChatRoomUpdateMapping.csx",
|
|
451
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIGV4ZWN1dGUtcGVybWFuZW50LWNoYXRyb29tLXVwZGF0ZSBEaXJlY3RUcmlnZ2VyVGFzayAoVHlwZSAxMikuCi8vLyBQcm9jZXNzZXMgb25lIHBlcm1hbmVudCBjaGF0IHJvb20gYXQgYSB0aW1lIGZyb20gcGVybWFuZW50Um9vbVBsYW4uCi8vLyBUZXJtaW5hdGlvbiAodHJhbnNmZXJUeXBlID09ICJ0ZXJtaW5hdGlvbiIpIOKGkiB0cmlnZ2VycyAndHJhbnNmZXInIHRyYW5zaXRpb24gKG9sZCBhZHZpc29yIG91dCwgbmV3IGluKS4KLy8vIEFubnVhbCBMZWF2ZSAodHJhbnNmZXJUeXBlID09ICJhbm51YWwtbGVhdmUiKSDihpIgdHJpZ2dlcnMgJ3VwZGF0ZScgdHJhbnNpdGlvbiAoYWRkIG5ldyBhZHZpc29yLCBrZWVwIG9sZCkuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBFeGVjdXRlUGVybWFuZW50Q2hhdFJvb21VcGRhdGVNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkluc3RhbmNlIGRhdGEgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHBlcm1hbmVudFJvb21QbGFuID0gZGF0YS5wZXJtYW5lbnRSb29tUGxhbjsKICAgICAgICBpZiAocGVybWFuZW50Um9vbVBsYW4gPT0gbnVsbCkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgc2tpcHBlZCA9IHRydWUsIHJlYXNvbiA9ICJuby1wZXJtYW5lbnRSb29tUGxhbiIgfSB9KTsKCiAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICBpZiAoSGFzUHJvcGVydHkoZGF0YSwgInBlcm1hbmVudFByb2Nlc3NlZEluZGV4IikpCiAgICAgICAgICAgIGludC5UcnlQYXJzZShkYXRhLnBlcm1hbmVudFByb2Nlc3NlZEluZGV4Py5Ub1N0cmluZygpID8/ICIwIiwgb3V0IHByb2Nlc3NlZEluZGV4KTsKCiAgICAgICAgdmFyIGl0ZW1zID0gcGVybWFuZW50Um9vbVBsYW4gYXMgSUVudW1lcmFibGU8b2JqZWN0PjsKICAgICAgICBpZiAoaXRlbXMgPT0gbnVsbCkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgc2tpcHBlZCA9IHRydWUgfSB9KTsKCiAgICAgICAgdmFyIGl0ZW1zTGlzdCA9IGl0ZW1zLlRvTGlzdCgpOwogICAgICAgIGlmIChwcm9jZXNzZWRJbmRleCA+PSBpdGVtc0xpc3QuQ291bnQpCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlIHsgRGF0YSA9IG5ldyB7IHNraXBwZWQgPSB0cnVlIH0gfSk7CgogICAgICAgIGR5bmFtaWMgY3VycmVudEl0ZW0gPSBpdGVtc0xpc3RbcHJvY2Vzc2VkSW5kZXhdOwogICAgICAgIHZhciBjaGF0Um9vbUtleSA9IGN1cnJlbnRJdGVtPy5jaGF0Um9vbUtleT8uVG9TdHJpbmcoKTsKICAgICAgICB2YXIgdGFyZ2V0QWR2aXNvciA9IGN1cnJlbnRJdGVtPy50YXJnZXRBZHZpc29yPy5Ub1N0cmluZygpOwoKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoY2hhdFJvb21LZXkpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KHRhcmdldEFkdmlzb3IpKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBuZXcgeyBza2lwcGVkID0gdHJ1ZSB9IH0pOwoKICAgICAgICB2YXIgdHJhbnNmZXJUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJ0cmFuc2ZlclR5cGUiKTsKCiAgICAgICAgdHJpZ2dlclRhc2suU2V0RG9tYWluKCJ0b3VjaCIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEZsb3coImNoYXQtcm9vbSIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEtleShjaGF0Um9vbUtleSk7CgogICAgICAgIGlmICh0cmFuc2ZlclR5cGUgPT0gInRlcm1pbmF0aW9uIikKICAgICAgICB7CiAgICAgICAgICAgIHRyaWdnZXJUYXNrLlNldFRyYW5zaXRpb25OYW1lKCJ0cmFuc2ZlciIpOwogICAgICAgICAgICB0cmlnZ2VyVGFzay5TZXRCb2R5KG5ldyB7IG5ld0Fkdmlzb3JJZCA9IHRhcmdldEFkdmlzb3IgfSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHRyaWdnZXJUYXNrLlNldFRyYW5zaXRpb25OYW1lKCJ1cGRhdGUiKTsKICAgICAgICAgICAgdHJpZ2dlclRhc2suU2V0Qm9keShuZXcgeyBuZXdNZW1iZXJJZCA9IHRhcmdldEFkdmlzb3IgfSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciBzdWNjZXNzID0gY29udGV4dC5Cb2R5Py5pc1N1Y2Nlc3MgPT0gdHJ1ZTsKCiAgICAgICAgaW50IHByb2Nlc3NlZEluZGV4ID0gMDsKICAgICAgICBpZiAoZGF0YSAhPSBudWxsICYmIEhhc1Byb3BlcnR5KGRhdGEsICJwZXJtYW5lbnRQcm9jZXNzZWRJbmRleCIpKQogICAgICAgICAgICBpbnQuVHJ5UGFyc2UoZGF0YS5wZXJtYW5lbnRQcm9jZXNzZWRJbmRleD8uVG9TdHJpbmcoKSA/PyAiMCIsIG91dCBwcm9jZXNzZWRJbmRleCk7CgogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInRyYW5zZmVyUGxhbiIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAidmFsaWRhdGlvblJlc3VsdCIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic291cmNlQWR2aXNvcklkIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJhZHZpc29yVHlwZSIpOwogICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBkYXRhLCAic3RhcnREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJlbmREYXRlIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJ0cmFuc2ZlclR5cGUiKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgImVucmljaGVkUmV6ZXJ2YXRpb25zIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJyZXpDaGF0Um9vbVBsYW4iKTsKICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgZGF0YSwgInBlcm1hbmVudFJvb21QbGFuIik7CiAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGRhdGEsICJwZXJtYW5lbnRDaGF0Um9vbXMiKTsKICAgICAgICByZXN1bHRbInBlcm1hbmVudFByb2Nlc3NlZEluZGV4Il0gPSBwcm9jZXNzZWRJbmRleCArIDE7CiAgICAgICAgcmVzdWx0WyJsYXN0UGVybWFuZW50Q2hhdFJvb21TdWNjZXNzIl0gPSBzdWNjZXNzOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSByZXN1bHQgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIENvcHlJZlByZXNlbnQoRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4gdGFyZ2V0LCBkeW5hbWljIHNvdXJjZSwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm47CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkoc291cmNlLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKHNvdXJjZSwgbmFtZSk7CiAgICAgICAgICAgICAgICBpZiAodiAhPSBudWxsKSB0YXJnZXRbbmFtZV0gPSB2OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgfQp9Cg=="
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
]
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"key": "permanent-done",
|
|
458
|
+
"target": "completed",
|
|
459
|
+
"triggerType": 1,
|
|
460
|
+
"versionStrategy": "Minor",
|
|
461
|
+
"labels": [
|
|
462
|
+
{
|
|
463
|
+
"label": "Permanent Rooms Done",
|
|
464
|
+
"language": "en-US"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"label": "Kalıcı Odalar Tamamlandı",
|
|
468
|
+
"language": "tr-TR"
|
|
469
|
+
}
|
|
470
|
+
],
|
|
471
|
+
"rule": {
|
|
472
|
+
"location": "./src/PermanentDoneRule.csx",
|
|
473
|
+
"code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIGZvciBwZXJtYW5lbnQtZG9uZSBhdXRvIHRyYW5zaXRpb24gaW4gdXBkYXRpbmctcGVybWFuZW50LWNoYXRyb29tcyBzdGF0ZS4KLy8vIFJ1bGU6IHBlcm1hbmVudFJvb21QbGFuIGlzIG51bGwvZW1wdHkgT1IgcGVybWFuZW50UHJvY2Vzc2VkSW5kZXggPj0gcGVybWFuZW50Um9vbVBsYW4uQ291bnQKLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFBlcm1hbmVudERvbmVSdWxlIDogU2NyaXB0QmFzZSwgSUNvbmRpdGlvbk1hcHBpbmcKewogICAgcHVibGljIFRhc2s8Ym9vbD4gSGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoY29udGV4dD8uSW5zdGFuY2U/LkRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2UuRGF0YTsKCiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YSwgInBlcm1hbmVudFJvb21QbGFuIikgfHwgZGF0YS5wZXJtYW5lbnRSb29tUGxhbiA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCh0cnVlKTsKCiAgICAgICAgICAgIHZhciBwbGFuID0gZGF0YS5wZXJtYW5lbnRSb29tUGxhbiBhcyBTeXN0ZW0uQ29sbGVjdGlvbnMuSUVudW1lcmFibGU7CiAgICAgICAgICAgIGlmIChwbGFuID09IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwoKICAgICAgICAgICAgaW50IHRvdGFsQ291bnQgPSAwOwogICAgICAgICAgICBmb3JlYWNoICh2YXIgaXRlbSBpbiBwbGFuKSB0b3RhbENvdW50Kys7CgogICAgICAgICAgICBpZiAodG90YWxDb3VudCA9PSAwKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCh0cnVlKTsKCiAgICAgICAgICAgIGludCBwcm9jZXNzZWRJbmRleCA9IDA7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShkYXRhLCAicGVybWFuZW50UHJvY2Vzc2VkSW5kZXgiKSkKICAgICAgICAgICAgICAgIGludC5UcnlQYXJzZShkYXRhLnBlcm1hbmVudFByb2Nlc3NlZEluZGV4Py5Ub1N0cmluZygpID8/ICIwIiwgb3V0IHByb2Nlc3NlZEluZGV4KTsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocHJvY2Vzc2VkSW5kZXggPj0gdG90YWxDb3VudCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgICAgIH0KICAgIH0KfQo="
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
]
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"key": "completed",
|
|
480
|
+
"stateType": 3,
|
|
481
|
+
"versionStrategy": "Minor",
|
|
482
|
+
"labels": [
|
|
483
|
+
{
|
|
484
|
+
"label": "Transfer Completed",
|
|
485
|
+
"language": "en-US"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"label": "Transfer Tamamlandı",
|
|
489
|
+
"language": "tr-TR"
|
|
490
|
+
}
|
|
491
|
+
]
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"key": "cancelled",
|
|
495
|
+
"stateType": 3,
|
|
496
|
+
"versionStrategy": "Minor",
|
|
497
|
+
"labels": [
|
|
498
|
+
{
|
|
499
|
+
"label": "Transfer Cancelled",
|
|
500
|
+
"language": "en-US"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"label": "Transfer İptal Edildi",
|
|
504
|
+
"language": "tr-TR"
|
|
505
|
+
}
|
|
506
|
+
]
|
|
507
|
+
}
|
|
508
|
+
],
|
|
509
|
+
"subFlowType": "S",
|
|
510
|
+
"timeout": null
|
|
511
|
+
}
|
|
512
|
+
}
|