@burgan-tech/morph-touch-runtime 0.0.7 → 0.0.9

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.
Files changed (68) hide show
  1. package/burgan-tech-morph-touch-runtime-0.0.9.tgz +0 -0
  2. package/morph-touch/Functions/get-absence-entry.1.0.0.json +1 -1
  3. package/morph-touch/Functions/get-advisor-stats.1.0.0.json +1 -1
  4. package/morph-touch/Functions/get-available-slots.1.0.0.json +1 -1
  5. package/morph-touch/Functions/get-chat-rooms.http +4 -4
  6. package/morph-touch/Functions/get-rezervations.1.0.0.json +1 -1
  7. package/morph-touch/Functions/src/GetAbsenceEntryMapping.csx +18 -4
  8. package/morph-touch/Functions/src/GetAdvisorStatsMapping.csx +22 -8
  9. package/morph-touch/Functions/src/GetAvailableSlotsMapping.csx +22 -14
  10. package/morph-touch/Functions/src/GetRezervationsMapping.csx +19 -2
  11. package/morph-touch/Functions/src/SendCancelNotificationMapping.csx +27 -2
  12. package/morph-touch/Tasks/check-existing-permanent-chat-room.1.0.0.json +1 -1
  13. package/morph-touch/Tasks/login-for-chat.1.0.0.json +27 -0
  14. package/morph-touch/Tasks/register-for-chat.1.0.0.json +27 -0
  15. package/morph-touch/Tasks/start-register-matrix-user.1.0.0.json +22 -0
  16. package/morph-touch/Workflows/chat-room.json +196 -14
  17. package/morph-touch/Workflows/notification-sender.json +2 -2
  18. package/morph-touch/Workflows/register-matrix-user.json +128 -0
  19. package/morph-touch/Workflows/rezervation-start.json +28 -2
  20. package/morph-touch/Workflows/rezervation-transfer.json +34 -8
  21. package/morph-touch/Workflows/rezervation-update.json +5 -5
  22. package/morph-touch/Workflows/rezervation.json +135 -45
  23. package/morph-touch/Workflows/src/AlwaysTrueRule.csx +0 -3
  24. package/morph-touch/Workflows/src/CanStartRezervationTimerMapping.csx +18 -3
  25. package/morph-touch/Workflows/src/ChatRoomRemoveMapping.csx +10 -1
  26. package/morph-touch/Workflows/src/ChatRoomTransferInviteMapping.csx +10 -1
  27. package/morph-touch/Workflows/src/ChatRoomTransferRemoveMapping.csx +9 -1
  28. package/morph-touch/Workflows/src/ChatRoomUpdateMapping.csx +10 -1
  29. package/morph-touch/Workflows/src/CheckDuplicateRezervationMapping.csx +17 -3
  30. package/morph-touch/Workflows/src/CheckExistingPermanentChatRoomMapping.csx +4 -7
  31. package/morph-touch/Workflows/src/CheckRandevuTimeMapping.csx +16 -2
  32. package/morph-touch/Workflows/src/CreateChatRoomForRezervationMapping.csx +12 -2
  33. package/morph-touch/Workflows/src/CreatePermanentChatRoomMapping.csx +11 -1
  34. package/morph-touch/Workflows/src/EnrichRezervationsForTransferMapping.csx +18 -4
  35. package/morph-touch/Workflows/src/FetchRoomMessagesForSummaryMapping.csx +10 -2
  36. package/morph-touch/Workflows/src/InviteAdvisorForRandevuUpdateMapping.csx +10 -1
  37. package/morph-touch/Workflows/src/InviteNewAdvisorToRezervationRoomMapping.csx +11 -2
  38. package/morph-touch/Workflows/src/InviteNewParticipantToRandevuRoomMapping.csx +10 -1
  39. package/morph-touch/Workflows/src/JoinChatRoomForAddParticipantMapping.csx +5 -1
  40. package/morph-touch/Workflows/src/JoinChatRoomForRandevuStartMapping.csx +5 -1
  41. package/morph-touch/Workflows/src/JoinChatRoomForRezervationMapping.csx +4 -0
  42. package/morph-touch/Workflows/src/JoinMatrixRoomMapping.csx +11 -1
  43. package/morph-touch/Workflows/src/JoinUserToRoomMapping.csx +6 -0
  44. package/morph-touch/Workflows/src/LoginForAddParticipantChatMapping.csx +35 -6
  45. package/morph-touch/Workflows/src/LoginForChatRoomMapping.csx +121 -0
  46. package/morph-touch/Workflows/src/LoginForJoinUserToRoomMapping.csx +142 -0
  47. package/morph-touch/Workflows/src/LoginForRandevuStartChatMapping.csx +35 -10
  48. package/morph-touch/Workflows/src/LoginForTransferChatMapping.csx +153 -0
  49. package/morph-touch/Workflows/src/RegisterForAddParticipantChatMapping.csx +74 -0
  50. package/morph-touch/Workflows/src/RegisterForChatRoomMapping.csx +52 -0
  51. package/morph-touch/Workflows/src/RegisterForJoinUserToRoomMapping.csx +63 -0
  52. package/morph-touch/Workflows/src/RegisterForRandevuStartChatMapping.csx +56 -0
  53. package/morph-touch/Workflows/src/RegisterForTransferChatMapping.csx +90 -0
  54. package/morph-touch/Workflows/src/RegisterMatrixUserMapping.csx +73 -0
  55. package/morph-touch/Workflows/src/SendPushNotificationMapping.csx +25 -4
  56. package/morph-touch/Workflows/src/SendSmsNotificationMapping.csx +25 -4
  57. package/morph-touch/Workflows/src/SendSummaryToNewRoomMapping.csx +10 -2
  58. package/morph-touch/Workflows/src/SetRoomHistoryVisibilityMapping.csx +12 -4
  59. package/morph-touch/Workflows/src/ValidateDateForRezervationMapping.csx +16 -2
  60. package/morph-touch/Workflows/src/ValidateSlotForRandevuUpdateMapping.csx +22 -15
  61. package/morph-touch/Workflows/src/ValidateSlotForRezervationMapping.csx +23 -16
  62. package/morph-touch/Workflows/src/ValidateTransferMapping.csx +16 -2
  63. package/morph-touch/Workflows/start-chat.json +1 -1
  64. package/morph-touch/doc/morph-touch-domain.en.md +1 -1
  65. package/morph-touch/doc/morph-touch-domain.md +1 -1
  66. package/package.json +1 -1
  67. package/vnext.config.json +1 -1
  68. package/burgan-tech-morph-touch-runtime-0.0.7.tgz +0 -0
@@ -141,7 +141,7 @@
141
141
  },
142
142
  "mapping": {
143
143
  "location": "./src/SendSmsNotificationMapping.csx",
144
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzZW5kLXNtcy1ub3RpZmljYXRpb24gSHR0cFRhc2sgKFR5cGUgNikuCi8vLyBCdWlsZHMgU01TIHJlcXVlc3QgYm9keSBmcm9tIG5vdGlmaWNhdGlvbi1zZW5kZXIgaW5zdGFuY2UgZGF0YSBhbmQgc2VuZHMgdmlhIE1lc3NhZ2luZ0dhdGV3YXkuCi8vLyBDb250ZW50IGlzIGRldGVybWluZWQgYnkgdXNlclR5cGU6Ci8vLyAgIC0gYWR2aXNvcjogIlNheWluIHthZHZpc29yTmFtZX0sIHtkYXRlfSB0YXJpaGxpIHJhbmRldnVudXogb2x1c3R1cnVsbXVzdHVyLiIKLy8vICAgLSB1c2VyOiAiUmFuZGV2dW51eiBiYXNhcml5bGEgb2x1c3R1cnVsbXVzdHVyLiBUYXJpaDoge2RhdGV9IgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU2VuZFNtc05vdGlmaWNhdGlvbk1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1lc3NhZ2luZ0Jhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShiYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1lc3NhZ2luZ0Jhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CiAgICAgICAgdmFyIGZ1bGxVcmwgPSBiYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvTWVzc2FnaW5nL3Ntcy9tZXNzYWdlL3N0cmluZyI7CiAgICAgICAgaHR0cFRhc2suU2V0VXJsKGZ1bGxVcmwpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkluc3RhbmNlIGRhdGEgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHVzZXJUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyVHlwZSIpID8/ICJ1c2VyIjsKCiAgICAgICAgdmFyIHJlY2lwaWVudCA9IGRhdGEucmVjaXBpZW50OwogICAgICAgIGlmIChyZWNpcGllbnQgPT0gbnVsbCB8fCAhSGFzUHJvcGVydHkocmVjaXBpZW50LCAicGhvbmUiKSB8fCByZWNpcGllbnQucGhvbmUgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oInJlY2lwaWVudC5waG9uZSBpcyByZXF1aXJlZCBmb3IgU01TIik7CgogICAgICAgIHZhciBwaG9uZSA9IHJlY2lwaWVudC5waG9uZTsKICAgICAgICB2YXIgY291bnRyeUNvZGUgPSBHZXRTdHJpbmcocGhvbmUsICJjb3VudHJ5Q29kZSIpID8/ICI5MCI7CiAgICAgICAgdmFyIHByZWZpeCA9IEdldFN0cmluZyhwaG9uZSwgInByZWZpeCIpID8/ICIiOwogICAgICAgIHZhciBudW1iZXIgPSBHZXRTdHJpbmcocGhvbmUsICJudW1iZXIiKSA/PyAiIjsKCiAgICAgICAgdmFyIGN0eCA9IGRhdGEuY29udGV4dDsKICAgICAgICB2YXIgYWR2aXNvck5hbWUgPSBjdHggIT0gbnVsbCA/IEdldFN0cmluZyhjdHgsICJhZHZpc29yTmFtZSIpIDogbnVsbDsKICAgICAgICB2YXIgc3RhcnREYXRlVGltZSA9IGN0eCAhPSBudWxsID8gR2V0U3RyaW5nKGN0eCwgInN0YXJ0RGF0ZVRpbWUiKSA6IG51bGw7CiAgICAgICAgdmFyIHJlc2VydmF0aW9uS2V5ID0gY3R4ICE9IG51bGwgPyBHZXRTdHJpbmcoY3R4LCAicmVzZXJ2YXRpb25LZXkiKSA6IG51bGw7CgogICAgICAgIHN0cmluZyBmb3JtYXR0ZWREYXRlID0gc3RhcnREYXRlVGltZSA/PyAiIjsKICAgICAgICBEYXRlVGltZSBkdCA9IGRlZmF1bHQ7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShzdGFydERhdGVUaW1lKSAmJiBEYXRlVGltZS5UcnlQYXJzZShzdGFydERhdGVUaW1lLCBvdXQgZHQpKQogICAgICAgICAgICBmb3JtYXR0ZWREYXRlID0gZHQuVG9TdHJpbmcoImRkLk1NLnl5eXkgSEg6bW0iKTsKCiAgICAgICAgc3RyaW5nIGNvbnRlbnQ7CiAgICAgICAgaWYgKHVzZXJUeXBlID09ICJhZHZpc29yIikKICAgICAgICAgICAgY29udGVudCA9ICJTYXlpbiAiICsgKGFkdmlzb3JOYW1lID8/ICJEYW5pc21hbiIpICsgIiwgIiArIGZvcm1hdHRlZERhdGUgKyAiIHRhcmlobGkgcmFuZGV2dW51eiBvbHVzdHVydWxtdXN0dXIuIjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGNvbnRlbnQgPSAiUmFuZGV2dW51eiBiYXNhcml5bGEgb2x1c3R1cnVsbXVzdHVyLiBUYXJpaDogIiArIGZvcm1hdHRlZERhdGU7CgogICAgICAgIHZhciBib2R5ID0gbmV3CiAgICAgICAgewogICAgICAgICAgICBzZW5kZXIgPSAiQXV0b0RldGVjdCIsCiAgICAgICAgICAgIHNtc1R5cGUgPSAiRmFzdCIsCiAgICAgICAgICAgIHBob25lID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlLAogICAgICAgICAgICAgICAgcHJlZml4LAogICAgICAgICAgICAgICAgbnVtYmVyCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbnRlbnQsCiAgICAgICAgICAgIGN1c3RvbWVyTm8gPSAwLAogICAgICAgICAgICBjaXRpemVuc2hpcE5vID0gIiIsCiAgICAgICAgICAgIHRhZ3MgPSAoc3RyaW5nW10pbnVsbCwKICAgICAgICAgICAgaW5zdGFudFJlbWluZGVyID0gZmFsc2UsCiAgICAgICAgICAgIHByb2Nlc3MgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbmFtZSA9ICJtb3JwaC10b3VjaCIsCiAgICAgICAgICAgICAgICBpdGVtSWQgPSByZXNlcnZhdGlvbktleSA/PyAiIiwKICAgICAgICAgICAgICAgIGFjdGlvbiA9ICJub3RpZmljYXRpb24tc2VuZGVyIiwKICAgICAgICAgICAgICAgIGlkZW50aXR5ID0gInN5c3RlbSIKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkoYm9keSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBhc3luYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzcG9uc2UgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICBpZiAocmVzcG9uc2U/LmlzU3VjY2VzcyA9PSB0cnVlIHx8IHJlc3BvbnNlPy5zdGF0dXNDb2RlPy5Ub1N0cmluZygpID09ICIyMDAiKQogICAgICAgIHsKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uUmVzdWx0cyA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHNtc1Jlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2VudCA9IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gKHN0cmluZyludWxsCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBzdHJpbmcgZXJyb3JNZXNzYWdlID0gcmVzcG9uc2U/LmVycm9yTWVzc2FnZT8uVG9TdHJpbmcoKSA/PyByZXNwb25zZT8uVG9TdHJpbmcoKSA/PyAiU01TIHNlbmQgZmFpbGVkIjsKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uUmVzdWx0cyA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHNtc1Jlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2VudCA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGVycm9yTWVzc2FnZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
144
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzZW5kLXNtcy1ub3RpZmljYXRpb24gSHR0cFRhc2sgKFR5cGUgNikuCi8vLyBCdWlsZHMgU01TIHJlcXVlc3QgYm9keSBmcm9tIG5vdGlmaWNhdGlvbi1zZW5kZXIgaW5zdGFuY2UgZGF0YSBhbmQgc2VuZHMgdmlhIE1lc3NhZ2luZ0dhdGV3YXkuCi8vLyBDb250ZW50IGlzIGRldGVybWluZWQgYnkgdXNlclR5cGU6Ci8vLyAgIC0gYWR2aXNvcjogIlNheWluIHthZHZpc29yTmFtZX0sIHtkYXRlfSB0YXJpaGxpIHJhbmRldnVudXogb2x1c3R1cnVsbXVzdHVyLiIKLy8vICAgLSB1c2VyOiAiUmFuZGV2dW51eiBiYXNhcml5bGEgb2x1c3R1cnVsbXVzdHVyLiBUYXJpaDoge2RhdGV9IgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU2VuZFNtc05vdGlmaWNhdGlvbk1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1lc3NhZ2luZ0Jhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShiYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1lc3NhZ2luZ0Jhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CiAgICAgICAgdmFyIGZ1bGxVcmwgPSBiYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvTWVzc2FnaW5nL3Ntcy9tZXNzYWdlL3N0cmluZyI7CiAgICAgICAgaHR0cFRhc2suU2V0VXJsKGZ1bGxVcmwpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkluc3RhbmNlIGRhdGEgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHVzZXJUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyVHlwZSIpID8/ICJ1c2VyIjsKCiAgICAgICAgdmFyIHJlY2lwaWVudCA9IGRhdGEucmVjaXBpZW50OwogICAgICAgIGlmIChyZWNpcGllbnQgPT0gbnVsbCB8fCAhSGFzUHJvcGVydHkocmVjaXBpZW50LCAicGhvbmUiKSB8fCByZWNpcGllbnQucGhvbmUgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oInJlY2lwaWVudC5waG9uZSBpcyByZXF1aXJlZCBmb3IgU01TIik7CgogICAgICAgIHZhciBwaG9uZSA9IHJlY2lwaWVudC5waG9uZTsKICAgICAgICB2YXIgY291bnRyeUNvZGUgPSBHZXRTdHJpbmcocGhvbmUsICJjb3VudHJ5Q29kZSIpID8/ICI5MCI7CiAgICAgICAgdmFyIHByZWZpeCA9IEdldFN0cmluZyhwaG9uZSwgInByZWZpeCIpID8/ICIiOwogICAgICAgIHZhciBudW1iZXIgPSBHZXRTdHJpbmcocGhvbmUsICJudW1iZXIiKSA/PyAiIjsKCiAgICAgICAgdmFyIGN0eCA9IGRhdGEuY29udGV4dDsKICAgICAgICB2YXIgYWR2aXNvck5hbWUgPSBjdHggIT0gbnVsbCA/IEdldFN0cmluZyhjdHgsICJhZHZpc29yTmFtZSIpIDogbnVsbDsKICAgICAgICB2YXIgc3RhcnREYXRlVGltZSA9IGN0eCAhPSBudWxsID8gR2V0U3RyaW5nKGN0eCwgInN0YXJ0RGF0ZVRpbWUiKSA6IG51bGw7CiAgICAgICAgdmFyIHJlc2VydmF0aW9uS2V5ID0gY3R4ICE9IG51bGwgPyBHZXRTdHJpbmcoY3R4LCAicmVzZXJ2YXRpb25LZXkiKSA6IG51bGw7CgogICAgICAgIHN0cmluZyBmb3JtYXR0ZWREYXRlID0gRm9ybWF0SW5CdXNpbmVzc1RpbWVab25lKHN0YXJ0RGF0ZVRpbWUpOwoKICAgICAgICBzdHJpbmcgY29udGVudDsKICAgICAgICBpZiAodXNlclR5cGUgPT0gImFkdmlzb3IiKQogICAgICAgICAgICBjb250ZW50ID0gIlNheWluICIgKyAoYWR2aXNvck5hbWUgPz8gIkRhbmlzbWFuIikgKyAiLCAiICsgZm9ybWF0dGVkRGF0ZSArICIgdGFyaWhsaSByYW5kZXZ1bnV6IG9sdXN0dXJ1bG11c3R1ci4iOwogICAgICAgIGVsc2UKICAgICAgICAgICAgY29udGVudCA9ICJSYW5kZXZ1bnV6IGJhc2FyaXlsYSBvbHVzdHVydWxtdXN0dXIuIFRhcmloOiAiICsgZm9ybWF0dGVkRGF0ZTsKCiAgICAgICAgdmFyIGJvZHkgPSBuZXcKICAgICAgICB7CiAgICAgICAgICAgIHNlbmRlciA9ICJBdXRvRGV0ZWN0IiwKICAgICAgICAgICAgc21zVHlwZSA9ICJGYXN0IiwKICAgICAgICAgICAgcGhvbmUgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291bnRyeUNvZGUsCiAgICAgICAgICAgICAgICBwcmVmaXgsCiAgICAgICAgICAgICAgICBudW1iZXIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgY3VzdG9tZXJObyA9IDAsCiAgICAgICAgICAgIGNpdGl6ZW5zaGlwTm8gPSAiIiwKICAgICAgICAgICAgdGFncyA9IChzdHJpbmdbXSludWxsLAogICAgICAgICAgICBpbnN0YW50UmVtaW5kZXIgPSBmYWxzZSwKICAgICAgICAgICAgcHJvY2VzcyA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBuYW1lID0gIm1vcnBoLXRvdWNoIiwKICAgICAgICAgICAgICAgIGl0ZW1JZCA9IHJlc2VydmF0aW9uS2V5ID8/ICIiLAogICAgICAgICAgICAgICAgYWN0aW9uID0gIm5vdGlmaWNhdGlvbi1zZW5kZXIiLAogICAgICAgICAgICAgICAgaWRlbnRpdHkgPSAic3lzdGVtIgogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShib2R5KTsKICAgICAgICByZXR1cm4gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICB9CgogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IGNvbnRleHQuQm9keTsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CgogICAgICAgIGlmIChyZXNwb25zZT8uaXNTdWNjZXNzID09IHRydWUgfHwgcmVzcG9uc2U/LnN0YXR1c0NvZGU/LlRvU3RyaW5nKCkgPT0gIjIwMCIpCiAgICAgICAgewogICAgICAgICAgICByZXN1bHQuRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBub3RpZmljYXRpb25SZXN1bHRzID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc21zUmVzdWx0ID0gbmV3CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSAoc3RyaW5nKW51bGwKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZyBlcnJvck1lc3NhZ2UgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/IHJlc3BvbnNlPy5Ub1N0cmluZygpID8/ICJTTVMgc2VuZCBmYWlsZWQiOwogICAgICAgICAgICByZXN1bHQuRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBub3RpZmljYXRpb25SZXN1bHRzID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc21zUmVzdWx0ID0gbmV3CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gZXJyb3JNZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBGb3JtYXRJbkJ1c2luZXNzVGltZVpvbmUoc3RyaW5nIGRhdGVTdHIpCiAgICB7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGRhdGVTdHIpKSByZXR1cm4gZGF0ZVN0ciA/PyAiIjsKICAgICAgICBpZiAoIURhdGVUaW1lT2Zmc2V0LlRyeVBhcnNlKGRhdGVTdHIsCiAgICAgICAgICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkN1bHR1cmVJbmZvLkludmFyaWFudEN1bHR1cmUsCiAgICAgICAgICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCB2YXIgZHRvKSkKICAgICAgICAgICAgcmV0dXJuIGRhdGVTdHI7CgogICAgICAgIHZhciB0eiA9IFJlc29sdmVCdXNpbmVzc1RpbWVab25lKCk7CiAgICAgICAgdmFyIGxvY2FsID0gVGltZVpvbmVJbmZvLkNvbnZlcnRUaW1lRnJvbVV0YyhkdG8uVXRjRGF0ZVRpbWUsIHR6KTsKICAgICAgICByZXR1cm4gbG9jYWwuVG9TdHJpbmcoImRkLk1NLnl5eXkgSEg6bW0iKTsKICAgIH0KCiAgICBwcml2YXRlIFRpbWVab25lSW5mbyBSZXNvbHZlQnVzaW5lc3NUaW1lWm9uZSgpCiAgICB7CiAgICAgICAgdmFyIGlkID0gR2V0Q29uZmlnVmFsdWUoIkFwcG9pbnRtZW50czpUaW1lWm9uZSIpCiAgICAgICAgICAgICAgPz8gR2V0Q29uZmlnVmFsdWUoIkFQUE9JTlRNRU5UX1RJTUVaT05FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UoaWQpKSBpZCA9ICJFdXJvcGUvSXN0YW5idWwiOwogICAgICAgIHRyeSB7IHJldHVybiBUaW1lWm9uZUluZm8uRmluZFN5c3RlbVRpbWVab25lQnlJZChpZC5UcmltKCkpOyB9IGNhdGNoIHsgfQogICAgICAgIHRyeSB7IHJldHVybiBUaW1lWm9uZUluZm8uRmluZFN5c3RlbVRpbWVab25lQnlJZCgiVHVya2V5IFN0YW5kYXJkIFRpbWUiKTsgfSBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gVGltZVpvbmVJbmZvLkNyZWF0ZUN1c3RvbVRpbWVab25lKAogICAgICAgICAgICAiVFJUIiwgVGltZVNwYW4uRnJvbUhvdXJzKDMpLCAiVFJUIChVVEMrMykiLCAiVFJUIChVVEMrMykiKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
145
145
  }
146
146
  }
147
147
  ],
@@ -213,7 +213,7 @@
213
213
  },
214
214
  "mapping": {
215
215
  "location": "./src/SendPushNotificationMapping.csx",
216
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzZW5kLXB1c2gtbm90aWZpY2F0aW9uIEh0dHBUYXNrIChUeXBlIDYpLgovLy8gQnVpbGRzIFB1c2ggbm90aWZpY2F0aW9uIHJlcXVlc3QgYm9keSBmcm9tIG5vdGlmaWNhdGlvbi1zZW5kZXIgaW5zdGFuY2UgZGF0YQovLy8gYW5kIHNlbmRzIHZpYSBNZXNzYWdpbmdHYXRld2F5IFB1c2ggQVBJLgovLy8gQ29udGVudCBpcyBkZXRlcm1pbmVkIGJ5IHVzZXJUeXBlOgovLy8gICAtIGFkdmlzb3I6IHRpdGxlPSJZZW5pIFJhbmRldnUiLCBjb250ZW50PSJTYXlpbiB7YWR2aXNvck5hbWV9LCB7ZGF0ZX0gdGFyaWhsaSByYW5kZXZ1bnV6IG9sdXN0dXJ1bG11c3R1ci4iCi8vLyAgIC0gdXNlcjogdGl0bGU9IlJhbmRldnUgT25heWxhbmRpIiwgY29udGVudD0iUmFuZGV2dW51eiBiYXNhcml5bGEgb2x1c3R1cnVsbXVzdHVyLiBUYXJpaDoge2RhdGV9IgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU2VuZFB1c2hOb3RpZmljYXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIHNlY3JldE5hbWUgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHNlY3JldE5hbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBiYXNlVXJsID0gYXdhaXQgR2V0U2VjcmV0QXN5bmMoc2VjcmV0TmFtZSwgIndvcmtmbG93LXNlY3JldCIsICJNZXNzYWdpbmdCYXNlVXJsIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UoYmFzZVVybCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNZXNzYWdpbmdCYXNlVXJsIHNlY3JldCBpcyByZXF1aXJlZCIpOwogICAgICAgIHZhciBmdWxsVXJsID0gYmFzZVVybC5UcmltRW5kKCcvJykgKyAiL01lc3NhZ2luZy9wdXNoLW5vdGlmaWNhdGlvbi9tZXNzYWdlIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgdXNlclR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXJUeXBlIikgPz8gInVzZXIiOwoKICAgICAgICB2YXIgcmVjaXBpZW50ID0gZGF0YS5yZWNpcGllbnQ7CiAgICAgICAgaWYgKHJlY2lwaWVudCA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigicmVjaXBpZW50IGlzIHJlcXVpcmVkIGZvciBQdXNoIG5vdGlmaWNhdGlvbiIpOwoKICAgICAgICB2YXIgY2l0aXplbnNoaXBObyA9IEdldFN0cmluZyhyZWNpcGllbnQsICJjaXRpemVuc2hpcE5vIikgPz8gIiI7CiAgICAgICAgaW50IGN1c3RvbWVyTm8gPSAwOwogICAgICAgIGlmIChIYXNQcm9wZXJ0eShyZWNpcGllbnQsICJjdXN0b21lck5vIikpCiAgICAgICAgewogICAgICAgICAgICB0cnkgeyBjdXN0b21lck5vID0gKGludClyZWNpcGllbnQuY3VzdG9tZXJObzsgfQogICAgICAgICAgICBjYXRjaCB7IH0KICAgICAgICB9CgogICAgICAgIHZhciBjdHggPSBkYXRhLmNvbnRleHQ7CiAgICAgICAgdmFyIGFkdmlzb3JOYW1lID0gY3R4ICE9IG51bGwgPyBHZXRTdHJpbmcoY3R4LCAiYWR2aXNvck5hbWUiKSA6IG51bGw7CiAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWUgPSBjdHggIT0gbnVsbCA/IEdldFN0cmluZyhjdHgsICJzdGFydERhdGVUaW1lIikgOiBudWxsOwogICAgICAgIHZhciByZXNlcnZhdGlvbktleSA9IGN0eCAhPSBudWxsID8gR2V0U3RyaW5nKGN0eCwgInJlc2VydmF0aW9uS2V5IikgOiBudWxsOwoKICAgICAgICBzdHJpbmcgZm9ybWF0dGVkRGF0ZSA9IHN0YXJ0RGF0ZVRpbWUgPz8gIiI7CiAgICAgICAgRGF0ZVRpbWUgZHQgPSBkZWZhdWx0OwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnREYXRlVGltZSkgJiYgRGF0ZVRpbWUuVHJ5UGFyc2Uoc3RhcnREYXRlVGltZSwgb3V0IGR0KSkKICAgICAgICAgICAgZm9ybWF0dGVkRGF0ZSA9IGR0LlRvU3RyaW5nKCJkZC5NTS55eXl5IEhIOm1tIik7CgogICAgICAgIHN0cmluZyB0aXRsZTsKICAgICAgICBzdHJpbmcgY29udGVudDsKICAgICAgICBpZiAodXNlclR5cGUgPT0gImFkdmlzb3IiKQogICAgICAgIHsKICAgICAgICAgICAgdGl0bGUgPSAiWWVuaSBSYW5kZXZ1IjsKICAgICAgICAgICAgY29udGVudCA9ICJTYXlpbiAiICsgKGFkdmlzb3JOYW1lID8/ICJEYW5pc21hbiIpICsgIiwgIiArIGZvcm1hdHRlZERhdGUgKyAiIHRhcmlobGkgcmFuZGV2dW51eiBvbHVzdHVydWxtdXN0dXIuIjsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdGl0bGUgPSAiUmFuZGV2dSBPbmF5bGFuZGkiOwogICAgICAgICAgICBjb250ZW50ID0gIlJhbmRldnVudXogYmFzYXJpeWxhIG9sdXN0dXJ1bG11c3R1ci4gVGFyaWg6ICIgKyBmb3JtYXR0ZWREYXRlOwogICAgICAgIH0KCiAgICAgICAgdmFyIGJvZHkgPSBuZXcKICAgICAgICB7CiAgICAgICAgICAgIHNlbmRlciA9ICJBdXRvRGV0ZWN0IiwKICAgICAgICAgICAgY2l0aXplbnNoaXBObywKICAgICAgICAgICAgdGl0bGUsCiAgICAgICAgICAgIGNvbnRlbnQsCiAgICAgICAgICAgIGN1c3RvbWVyTm8sCiAgICAgICAgICAgIGN1c3RvbVBhcmFtZXRlcnMgPSAoc3RyaW5nKW51bGwsCiAgICAgICAgICAgIHRhZ3MgPSBuZXcgc3RyaW5nW10geyAibW9ycGgtdG91Y2giLCAibm90aWZpY2F0aW9uIiwgInJlc2VydmF0aW9uIiB9LAogICAgICAgICAgICBzYXZlSW5ib3ggPSB0cnVlLAogICAgICAgICAgICBub3RpZmljYXRpb25UeXBlID0gInB1c2giLAogICAgICAgICAgICBwcm9jZXNzID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG5hbWUgPSAibW9ycGgtdG91Y2giLAogICAgICAgICAgICAgICAgaXRlbUlkID0gcmVzZXJ2YXRpb25LZXkgPz8gIiIsCiAgICAgICAgICAgICAgICBhY3Rpb24gPSAibm90aWZpY2F0aW9uLXNlbmRlciIsCiAgICAgICAgICAgICAgICBpZGVudGl0eSA9ICJzeXN0ZW0iCiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBodHRwVGFzay5TZXRCb2R5KGJvZHkpOwoKICAgICAgICByZXR1cm4gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICB9CgogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IGNvbnRleHQuQm9keTsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CgogICAgICAgIGlmIChyZXNwb25zZT8uaXNTdWNjZXNzID09IHRydWUgfHwgcmVzcG9uc2U/LnN0YXR1c0NvZGU/LlRvU3RyaW5nKCkgPT0gIjIwMCIpCiAgICAgICAgewogICAgICAgICAgICByZXN1bHQuRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBub3RpZmljYXRpb25SZXN1bHRzID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHVzaFJlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2VudCA9IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gKHN0cmluZyludWxsCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBzdHJpbmcgZXJyb3JNZXNzYWdlID0gcmVzcG9uc2U/LmVycm9yTWVzc2FnZT8uVG9TdHJpbmcoKSA/PyByZXNwb25zZT8uVG9TdHJpbmcoKSA/PyAiUHVzaCBub3RpZmljYXRpb24gc2VuZCBmYWlsZWQiOwogICAgICAgICAgICByZXN1bHQuRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBub3RpZmljYXRpb25SZXN1bHRzID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHVzaFJlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2VudCA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGVycm9yTWVzc2FnZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
216
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzZW5kLXB1c2gtbm90aWZpY2F0aW9uIEh0dHBUYXNrIChUeXBlIDYpLgovLy8gQnVpbGRzIFB1c2ggbm90aWZpY2F0aW9uIHJlcXVlc3QgYm9keSBmcm9tIG5vdGlmaWNhdGlvbi1zZW5kZXIgaW5zdGFuY2UgZGF0YQovLy8gYW5kIHNlbmRzIHZpYSBNZXNzYWdpbmdHYXRld2F5IFB1c2ggQVBJLgovLy8gQ29udGVudCBpcyBkZXRlcm1pbmVkIGJ5IHVzZXJUeXBlOgovLy8gICAtIGFkdmlzb3I6IHRpdGxlPSJZZW5pIFJhbmRldnUiLCBjb250ZW50PSJTYXlpbiB7YWR2aXNvck5hbWV9LCB7ZGF0ZX0gdGFyaWhsaSByYW5kZXZ1bnV6IG9sdXN0dXJ1bG11c3R1ci4iCi8vLyAgIC0gdXNlcjogdGl0bGU9IlJhbmRldnUgT25heWxhbmRpIiwgY29udGVudD0iUmFuZGV2dW51eiBiYXNhcml5bGEgb2x1c3R1cnVsbXVzdHVyLiBUYXJpaDoge2RhdGV9IgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU2VuZFB1c2hOb3RpZmljYXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIHNlY3JldE5hbWUgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHNlY3JldE5hbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBiYXNlVXJsID0gYXdhaXQgR2V0U2VjcmV0QXN5bmMoc2VjcmV0TmFtZSwgIndvcmtmbG93LXNlY3JldCIsICJNZXNzYWdpbmdCYXNlVXJsIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UoYmFzZVVybCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNZXNzYWdpbmdCYXNlVXJsIHNlY3JldCBpcyByZXF1aXJlZCIpOwogICAgICAgIHZhciBmdWxsVXJsID0gYmFzZVVybC5UcmltRW5kKCcvJykgKyAiL01lc3NhZ2luZy9wdXNoLW5vdGlmaWNhdGlvbi9tZXNzYWdlIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgdXNlclR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXJUeXBlIikgPz8gInVzZXIiOwoKICAgICAgICB2YXIgcmVjaXBpZW50ID0gZGF0YS5yZWNpcGllbnQ7CiAgICAgICAgaWYgKHJlY2lwaWVudCA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigicmVjaXBpZW50IGlzIHJlcXVpcmVkIGZvciBQdXNoIG5vdGlmaWNhdGlvbiIpOwoKICAgICAgICB2YXIgY2l0aXplbnNoaXBObyA9IEdldFN0cmluZyhyZWNpcGllbnQsICJjaXRpemVuc2hpcE5vIikgPz8gIiI7CiAgICAgICAgaW50IGN1c3RvbWVyTm8gPSAwOwogICAgICAgIGlmIChIYXNQcm9wZXJ0eShyZWNpcGllbnQsICJjdXN0b21lck5vIikpCiAgICAgICAgewogICAgICAgICAgICB0cnkgeyBjdXN0b21lck5vID0gKGludClyZWNpcGllbnQuY3VzdG9tZXJObzsgfQogICAgICAgICAgICBjYXRjaCB7IH0KICAgICAgICB9CgogICAgICAgIHZhciBjdHggPSBkYXRhLmNvbnRleHQ7CiAgICAgICAgdmFyIGFkdmlzb3JOYW1lID0gY3R4ICE9IG51bGwgPyBHZXRTdHJpbmcoY3R4LCAiYWR2aXNvck5hbWUiKSA6IG51bGw7CiAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWUgPSBjdHggIT0gbnVsbCA/IEdldFN0cmluZyhjdHgsICJzdGFydERhdGVUaW1lIikgOiBudWxsOwogICAgICAgIHZhciByZXNlcnZhdGlvbktleSA9IGN0eCAhPSBudWxsID8gR2V0U3RyaW5nKGN0eCwgInJlc2VydmF0aW9uS2V5IikgOiBudWxsOwoKICAgICAgICBzdHJpbmcgZm9ybWF0dGVkRGF0ZSA9IEZvcm1hdEluQnVzaW5lc3NUaW1lWm9uZShzdGFydERhdGVUaW1lKTsKCiAgICAgICAgc3RyaW5nIHRpdGxlOwogICAgICAgIHN0cmluZyBjb250ZW50OwogICAgICAgIGlmICh1c2VyVHlwZSA9PSAiYWR2aXNvciIpCiAgICAgICAgewogICAgICAgICAgICB0aXRsZSA9ICJZZW5pIFJhbmRldnUiOwogICAgICAgICAgICBjb250ZW50ID0gIlNheWluICIgKyAoYWR2aXNvck5hbWUgPz8gIkRhbmlzbWFuIikgKyAiLCAiICsgZm9ybWF0dGVkRGF0ZSArICIgdGFyaWhsaSByYW5kZXZ1bnV6IG9sdXN0dXJ1bG11c3R1ci4iOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICB0aXRsZSA9ICJSYW5kZXZ1IE9uYXlsYW5kaSI7CiAgICAgICAgICAgIGNvbnRlbnQgPSAiUmFuZGV2dW51eiBiYXNhcml5bGEgb2x1c3R1cnVsbXVzdHVyLiBUYXJpaDogIiArIGZvcm1hdHRlZERhdGU7CiAgICAgICAgfQoKICAgICAgICB2YXIgYm9keSA9IG5ldwogICAgICAgIHsKICAgICAgICAgICAgc2VuZGVyID0gIkF1dG9EZXRlY3QiLAogICAgICAgICAgICBjaXRpemVuc2hpcE5vLAogICAgICAgICAgICB0aXRsZSwKICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgY3VzdG9tZXJObywKICAgICAgICAgICAgY3VzdG9tUGFyYW1ldGVycyA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgdGFncyA9IG5ldyBzdHJpbmdbXSB7ICJtb3JwaC10b3VjaCIsICJub3RpZmljYXRpb24iLCAicmVzZXJ2YXRpb24iIH0sCiAgICAgICAgICAgIHNhdmVJbmJveCA9IHRydWUsCiAgICAgICAgICAgIG5vdGlmaWNhdGlvblR5cGUgPSAicHVzaCIsCiAgICAgICAgICAgIHByb2Nlc3MgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbmFtZSA9ICJtb3JwaC10b3VjaCIsCiAgICAgICAgICAgICAgICBpdGVtSWQgPSByZXNlcnZhdGlvbktleSA/PyAiIiwKICAgICAgICAgICAgICAgIGFjdGlvbiA9ICJub3RpZmljYXRpb24tc2VuZGVyIiwKICAgICAgICAgICAgICAgIGlkZW50aXR5ID0gInN5c3RlbSIKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkoYm9keSk7CgogICAgICAgIHJldHVybiBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgIH0KCiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwogICAgICAgIHZhciByZXN1bHQgPSBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKCiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgPT0gdHJ1ZSB8fCByZXNwb25zZT8uc3RhdHVzQ29kZT8uVG9TdHJpbmcoKSA9PSAiMjAwIikKICAgICAgICB7CiAgICAgICAgICAgIHJlc3VsdC5EYXRhID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvblJlc3VsdHMgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwdXNoUmVzdWx0ID0gbmV3CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSAoc3RyaW5nKW51bGwKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZyBlcnJvck1lc3NhZ2UgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/IHJlc3BvbnNlPy5Ub1N0cmluZygpID8/ICJQdXNoIG5vdGlmaWNhdGlvbiBzZW5kIGZhaWxlZCI7CiAgICAgICAgICAgIHJlc3VsdC5EYXRhID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvblJlc3VsdHMgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwdXNoUmVzdWx0ID0gbmV3CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gZXJyb3JNZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBGb3JtYXRJbkJ1c2luZXNzVGltZVpvbmUoc3RyaW5nIGRhdGVTdHIpCiAgICB7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGRhdGVTdHIpKSByZXR1cm4gZGF0ZVN0ciA/PyAiIjsKICAgICAgICBpZiAoIURhdGVUaW1lT2Zmc2V0LlRyeVBhcnNlKGRhdGVTdHIsCiAgICAgICAgICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkN1bHR1cmVJbmZvLkludmFyaWFudEN1bHR1cmUsCiAgICAgICAgICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCB2YXIgZHRvKSkKICAgICAgICAgICAgcmV0dXJuIGRhdGVTdHI7CgogICAgICAgIHZhciB0eiA9IFJlc29sdmVCdXNpbmVzc1RpbWVab25lKCk7CiAgICAgICAgdmFyIGxvY2FsID0gVGltZVpvbmVJbmZvLkNvbnZlcnRUaW1lRnJvbVV0YyhkdG8uVXRjRGF0ZVRpbWUsIHR6KTsKICAgICAgICByZXR1cm4gbG9jYWwuVG9TdHJpbmcoImRkLk1NLnl5eXkgSEg6bW0iKTsKICAgIH0KCiAgICBwcml2YXRlIFRpbWVab25lSW5mbyBSZXNvbHZlQnVzaW5lc3NUaW1lWm9uZSgpCiAgICB7CiAgICAgICAgdmFyIGlkID0gR2V0Q29uZmlnVmFsdWUoIkFwcG9pbnRtZW50czpUaW1lWm9uZSIpCiAgICAgICAgICAgICAgPz8gR2V0Q29uZmlnVmFsdWUoIkFQUE9JTlRNRU5UX1RJTUVaT05FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UoaWQpKSBpZCA9ICJFdXJvcGUvSXN0YW5idWwiOwogICAgICAgIHRyeSB7IHJldHVybiBUaW1lWm9uZUluZm8uRmluZFN5c3RlbVRpbWVab25lQnlJZChpZC5UcmltKCkpOyB9IGNhdGNoIHsgfQogICAgICAgIHRyeSB7IHJldHVybiBUaW1lWm9uZUluZm8uRmluZFN5c3RlbVRpbWVab25lQnlJZCgiVHVya2V5IFN0YW5kYXJkIFRpbWUiKTsgfSBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gVGltZVpvbmVJbmZvLkNyZWF0ZUN1c3RvbVRpbWVab25lKAogICAgICAgICAgICAiVFJUIiwgVGltZVNwYW4uRnJvbUhvdXJzKDMpLCAiVFJUIChVVEMrMykiLCAiVFJUIChVVEMrMykiKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
217
217
  }
218
218
  }
219
219
  ],
@@ -0,0 +1,128 @@
1
+ {
2
+ "key": "register-matrix-user",
3
+ "flow": "sys-flows",
4
+ "domain": "morph-touch",
5
+ "version": "1.0.0",
6
+ "flowVersion": "1.0.0",
7
+ "tags": [
8
+ "chat",
9
+ "matrix",
10
+ "synapse",
11
+ "register"
12
+ ],
13
+ "attributes": {
14
+ "type": "S",
15
+ "labels": [
16
+ {
17
+ "label": "Register Matrix User",
18
+ "language": "en-US"
19
+ },
20
+ {
21
+ "label": "Matrix Kullanıcı Kaydı",
22
+ "language": "tr-TR"
23
+ }
24
+ ],
25
+ "functions": [],
26
+ "features": [],
27
+ "extensions": [],
28
+ "sharedTransitions": [],
29
+ "startTransition": {
30
+ "key": "start",
31
+ "target": "registering",
32
+ "versionStrategy": "Major",
33
+ "triggerType": 0,
34
+ "labels": [
35
+ {
36
+ "label": "Start",
37
+ "language": "en-US"
38
+ },
39
+ {
40
+ "label": "Başla",
41
+ "language": "tr-TR"
42
+ }
43
+ ]
44
+ },
45
+ "states": [
46
+ {
47
+ "key": "registering",
48
+ "stateType": 1,
49
+ "versionStrategy": "Minor",
50
+ "labels": [
51
+ {
52
+ "label": "Registering",
53
+ "language": "en-US"
54
+ },
55
+ {
56
+ "label": "Kayıt Ediliyor",
57
+ "language": "tr-TR"
58
+ }
59
+ ],
60
+ "transitions": [
61
+ {
62
+ "key": "complete",
63
+ "target": "completed",
64
+ "triggerType": 1,
65
+ "versionStrategy": "Minor",
66
+ "labels": [
67
+ {
68
+ "label": "Complete",
69
+ "language": "en-US"
70
+ },
71
+ {
72
+ "label": "Tamamla",
73
+ "language": "tr-TR"
74
+ }
75
+ ],
76
+ "rule": {
77
+ "location": "./src/AlwaysTrueRule.csx",
78
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCnB1YmxpYyBjbGFzcyBBbHdheXNUcnVlUnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CiAgICB9Cn0K"
79
+ },
80
+ "onExecutionTasks": [
81
+ {
82
+ "order": 1,
83
+ "task": {
84
+ "domain": "morph-touch",
85
+ "flow": "sys-tasks",
86
+ "key": "register-for-chat",
87
+ "version": "1.0.0"
88
+ },
89
+ "mapping": {
90
+ "location": "./src/RegisterMatrixUserMapping.csx",
91
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gR2VuZXJpYyBtYXBwaW5nIGZvciByZWdpc3Rlci1mb3ItY2hhdCBpbnNpZGUgdGhlIHJlZ2lzdGVyLW1hdHJpeC11c2VyIGZsb3cuCi8vLyBSZWFkcyBtYXRyaXhVc2VybmFtZSBmcm9tIGluc3RhbmNlIGRhdGEgYW5kIHJlZ2lzdGVycyBvbiBTeW5hcHNlIHZpYSBQT1NUIC9fbWF0cml4L2NsaWVudC92My9yZWdpc3Rlci4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyTWF0cml4VXNlck1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIG1hdHJpeFVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJtYXRyaXhVc2VybmFtZSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeFVzZXJuYW1lKSkKICAgICAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIG1hdHJpeEJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1hdHJpeEJhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShtYXRyaXhCYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1hdHJpeEJhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBzeW5hcHNlUGFzc3dvcmQgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIlN5bmFwc2VQYXNzd29yZCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN5bmFwc2VQYXNzd29yZCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJTeW5hcHNlUGFzc3dvcmQgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9IG1hdHJpeFVzZXJuYW1lLAogICAgICAgICAgICBwYXNzd29yZCA9IHN5bmFwc2VQYXNzd29yZAogICAgICAgIH0pOwogICAgICAgIHJldHVybiBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
92
+ },
93
+ "errorBoundary": {
94
+ "onError": [
95
+ {
96
+ "action": 5,
97
+ "errorCodes": [
98
+ "*"
99
+ ],
100
+ "priority": 1
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "key": "completed",
111
+ "stateType": 3,
112
+ "versionStrategy": "Minor",
113
+ "labels": [
114
+ {
115
+ "label": "Completed",
116
+ "language": "en-US"
117
+ },
118
+ {
119
+ "label": "Tamamlandı",
120
+ "language": "tr-TR"
121
+ }
122
+ ]
123
+ }
124
+ ],
125
+ "subFlowType": "S",
126
+ "timeout": null
127
+ }
128
+ }
@@ -203,7 +203,7 @@
203
203
  },
204
204
  "mapping": {
205
205
  "location": "./src/CheckRandevuTimeMapping.csx",
206
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stcmFuZGV2dS10aW1lIFNjcmlwdCBUYXNrLgovLy8gVmFsaWRhdGVzIHN0YXJ0RGF0ZVRpbWUgaXMgd2l0aGluIDE1IG1pbnV0ZXMuIFRocm93cyBNRUVUX05PVF9TVEFSVEVEIGlmID4xNSBtaW4gdW50aWwgc3RhcnQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja1JhbmRldnVUaW1lTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHByaXZhdGUgY29uc3QgaW50IE1heE1pbnV0ZXNCZWZvcmVTdGFydCA9IDE1OyAgIAoKCgogICAgCgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgICB2YXIgcmVzcG9uc2UgPSBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgICAgICAgcmVzcG9uc2UuRGF0YT1uZXcge307CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChyZXNwb25zZQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgc3RhcnREYXRlVGltZVN0ciA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN0YXJ0RGF0ZVRpbWVTdHIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogc3RhcnREYXRlVGltZSBpcyByZXF1aXJlZCIpOwoKICAgICAgICBEYXRlVGltZSBzdGFydERhdGVUaW1lOwogICAgICAgIGlmICghRGF0ZVRpbWUuVHJ5UGFyc2Uoc3RhcnREYXRlVGltZVN0ciwgb3V0IHN0YXJ0RGF0ZVRpbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogSW52YWxpZCBzdGFydERhdGVUaW1lIGZvcm1hdCIpOwoKICAgICAgICB2YXIgbm93ID0gRGF0ZVRpbWUuVXRjTm93LkFkZEhvdXJzKDMpOwogICAgICAgIHZhciBkaWZmID0gc3RhcnREYXRlVGltZSAtIG5vdzsKICAgCiAgICAgICAgaWYgKGRpZmYuVG90YWxNaW51dGVzID4gTWF4TWludXRlc0JlZm9yZVN0YXJ0KQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogUmFuZGV2dXlhIDE1IGRha2lrYWRhbiBmYXpsYSB2YXIuIik7CiAgICAgICAgTG9nRXJyb3IoIkRpZmYgTWludXRlcyA6IitkaWZmLlRvdGFsTWludXRlcysgIiIpOwogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4KICAgICAgICB7CiAgICAgICAgICAgIHsgInRpbWVPayIsIHRydWUgfSwKICAgICAgICAgICAgeyAibWludXRlc1VudGlsU3RhcnQiLCBkaWZmLlRvdGFsTWludXRlcyB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gcmVzdWx0IH0pOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
206
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stcmFuZGV2dS10aW1lIFNjcmlwdCBUYXNrLgovLy8gVmFsaWRhdGVzIHN0YXJ0RGF0ZVRpbWUgaXMgd2l0aGluIDE1IG1pbnV0ZXMuIFRocm93cyBNRUVUX05PVF9TVEFSVEVEIGlmID4xNSBtaW4gdW50aWwgc3RhcnQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja1JhbmRldnVUaW1lTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHByaXZhdGUgY29uc3QgaW50IE1heE1pbnV0ZXNCZWZvcmVTdGFydCA9IDE1OyAgIAoKCgogICAgCgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgICB2YXIgcmVzcG9uc2UgPSBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgICAgICAgcmVzcG9uc2UuRGF0YT1uZXcge307CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChyZXNwb25zZQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgc3RhcnREYXRlVGltZVN0ciA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN0YXJ0RGF0ZVRpbWVTdHIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogc3RhcnREYXRlVGltZSBpcyByZXF1aXJlZCIpOwoKICAgICAgICBEYXRlVGltZSBzdGFydERhdGVUaW1lOwogICAgICAgIGlmICghVHJ5UGFyc2VUb1V0YyhzdGFydERhdGVUaW1lU3RyLCBvdXQgc3RhcnREYXRlVGltZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNRUVUX05PVF9TVEFSVEVEOiBJbnZhbGlkIHN0YXJ0RGF0ZVRpbWUgZm9ybWF0Iik7CgogICAgICAgIHZhciBub3cgPSBEYXRlVGltZS5VdGNOb3c7CiAgICAgICAgdmFyIGRpZmYgPSBzdGFydERhdGVUaW1lIC0gbm93OwogICAKICAgICAgICBpZiAoZGlmZi5Ub3RhbE1pbnV0ZXMgPiBNYXhNaW51dGVzQmVmb3JlU3RhcnQpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNRUVUX05PVF9TVEFSVEVEOiBSYW5kZXZ1eWEgMTUgZGFraWthZGFuIGZhemxhIHZhci4iKTsKICAgICAgICBMb2dFcnJvcigiRGlmZiBNaW51dGVzIDoiK2RpZmYuVG90YWxNaW51dGVzKyAiIik7CiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PgogICAgICAgIHsKICAgICAgICAgICAgeyAidGltZU9rIiwgdHJ1ZSB9LAogICAgICAgICAgICB7ICJtaW51dGVzVW50aWxTdGFydCIsIGRpZmYuVG90YWxNaW51dGVzIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSByZXN1bHQgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBib29sIFRyeVBhcnNlVG9VdGMoc3RyaW5nIGRhdGVTdHIsIG91dCBEYXRlVGltZSB1dGNEYXRlVGltZSkKICAgIHsKICAgICAgICB1dGNEYXRlVGltZSA9IGRlZmF1bHQ7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGRhdGVTdHIpKSByZXR1cm4gZmFsc2U7CiAgICAgICAgaWYgKERhdGVUaW1lT2Zmc2V0LlRyeVBhcnNlKGRhdGVTdHIsCiAgICAgICAgICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkN1bHR1cmVJbmZvLkludmFyaWFudEN1bHR1cmUsCiAgICAgICAgICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCB2YXIgZHRvKSkKICAgICAgICB7CiAgICAgICAgICAgIHV0Y0RhdGVUaW1lID0gZHRvLlV0Y0RhdGVUaW1lOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
207
207
  }
208
208
  }
209
209
  ],
@@ -396,6 +396,32 @@
396
396
  "onEntries": [
397
397
  {
398
398
  "order": 1,
399
+ "task": {
400
+ "domain": "morph-touch",
401
+ "flow": "sys-tasks",
402
+ "key": "start-register-matrix-user",
403
+ "version": "1.0.0"
404
+ },
405
+ "mapping": {
406
+ "location": "./src/RegisterForRandevuStartChatMapping.csx",
407
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGluIHJlemVydmF0aW9uLXN0YXJ0IGZsb3cuCi8vLyBTdGFydHMgcmVnaXN0ZXItbWF0cml4LXVzZXIgZmxvdyB3aXRoIG1hdHJpeFVzZXJuYW1lIGJhc2VkIG9uIHBhcnRpY2lwYW50VHlwZSAoYWR2aXNvci9pbnZpdGVkL2N1c3RvbWVyKS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9yUmFuZGV2dVN0YXJ0Q2hhdE1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHN0YXJ0VGFzayA9IHRhc2sgYXMgU3RhcnRUYXNrOwogICAgICAgIGlmIChzdGFydFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIFN0YXJ0VGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHBhcnRpY2lwYW50VHlwZSA9IEdldFN0cmluZyhkYXRhLCAicGFydGljaXBhbnRUeXBlIik7CiAgICAgICAgdmFyIHVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwoKICAgICAgICB2YXIgbWF0cml4VXNlcm5hbWUgPSBwYXJ0aWNpcGFudFR5cGUgPT0gImFkdmlzb3IiID8gYWR2aXNvcgogICAgICAgICAgICA6IHBhcnRpY2lwYW50VHlwZSA9PSAiaW52aXRlZCIgPyBHZXRTdHJpbmcoZGF0YSwgImludml0ZWRVc2VySWQiKQogICAgICAgICAgICA6ICJ1IiArIHVzZXI7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UobWF0cml4VXNlcm5hbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSByZWdpc3RlciB1c2VyOiBwYXJ0aWNpcGFudFR5cGUsIHVzZXIsIGFkdmlzb3IsIG9yIGludml0ZWRVc2VySWQgbWlzc2luZyIpOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJtb3JwaC10b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZWdpc3Rlci1tYXRyaXgtdXNlciIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRTeW5jKHRydWUpOwogICAgICAgIHN0YXJ0VGFzay5TZXRCb2R5KG5ldyB7IG1hdHJpeFVzZXJuYW1lIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
408
+ }
409
+ },
410
+ {
411
+ "order": 2,
412
+ "task": {
413
+ "domain": "morph-touch",
414
+ "flow": "sys-tasks",
415
+ "key": "login-for-chat",
416
+ "version": "1.0.0"
417
+ },
418
+ "mapping": {
419
+ "location": "./src/LoginForRandevuStartChatMapping.csx",
420
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgbG9naW4tZm9yLXJlemVydmF0aW9uLWNoYXQgd2hlbiB1c2VkIGluIHJlemVydmF0aW9uLXN0YXJ0IGZsb3cuCi8vLyBDYWxscyBQT1NUIC9fbWF0cml4L2NsaWVudC92My9sb2dpbiBvbiBTeW5hcHNlLgovLy8gVXNlcyBwYXJ0aWNpcGFudFR5cGUgdG8gZGV0ZXJtaW5lIGxvZ2luIHVzZXI6IGFkdmlzb3IsIGN1c3RvbWVyICh1c2VyKSwgb3IgaW52aXRlZCAoaW52aXRlZFVzZXJJZCkuCi8vLyBTdG9yZXMgYWNjZXNzX3Rva2VuIGFzIHNlc3Npb25JZCBpbiBjaGF0SW50ZWdyYXRpb24gZm9yIHN1YnNlcXVlbnQgTWF0cml4IEFQSSBjYWxscy4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIExvZ2luRm9yUmFuZGV2dVN0YXJ0Q2hhdE1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIG1hdHJpeEJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1hdHJpeEJhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShtYXRyaXhCYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1hdHJpeEJhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBzeW5hcHNlUGFzc3dvcmQgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIlN5bmFwc2VQYXNzd29yZCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN5bmFwc2VQYXNzd29yZCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJTeW5hcHNlUGFzc3dvcmQgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcGFydGljaXBhbnRUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJwYXJ0aWNpcGFudFR5cGUiKTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIHZhciBhZHZpc29yID0gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29yIik7CgogICAgICAgIHZhciBsb2dpblVzZXJuYW1lID0gcGFydGljaXBhbnRUeXBlID09ICJhZHZpc29yIiA/IGFkdmlzb3IKICAgICAgICAgICAgOiBwYXJ0aWNpcGFudFR5cGUgPT0gImludml0ZWQiID8gR2V0U3RyaW5nKGRhdGEsICJpbnZpdGVkVXNlcklkIikKICAgICAgICAgICAgOiAidSIrdXNlcjsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShsb2dpblVzZXJuYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkNhbm5vdCBkZXRlcm1pbmUgbG9naW4gdXNlcjogcGFydGljaXBhbnRUeXBlLCB1c2VyLCBhZHZpc29yLCBvciBpbnZpdGVkVXNlcklkIG1pc3NpbmciKTsKCiAgICAgICAgdmFyIGZ1bGxVcmwgPSBtYXRyaXhCYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvX21hdHJpeC9jbGllbnQvdjMvbG9naW4iOwogICAgICAgIGh0dHBUYXNrLlNldFVybChmdWxsVXJsKTsKCiAgICAgICAgaHR0cFRhc2suU2V0SGVhZGVycyhuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgIFsiQ29udGVudC1UeXBlIl0gPSAiYXBwbGljYXRpb24vanNvbiIsCiAgICAgICAgICAgIFsiQWNjZXB0Il0gPSAiYXBwbGljYXRpb24vanNvbiIKICAgICAgICB9KTsKCiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShuZXcKICAgICAgICB7CiAgICAgICAgICAgIHR5cGUgPSAibS5sb2dpbi5wYXNzd29yZCIsCiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBuZXcgeyB0eXBlID0gIm0uaWQudXNlciIsIHVzZXIgPSBsb2dpblVzZXJuYW1lIH0sCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwoKICAgICAgICBpZiAocmVzcG9uc2U/LmlzU3VjY2VzcyA9PSB0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgZHluYW1pYyBkYXRhID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICAgICAgc3RyaW5nIHNlc3Npb25JZCA9IEdldFN0cmluZyhkYXRhLCAiYWNjZXNzX3Rva2VuIik7CiAgICAgICAgICAgIHN0cmluZyB1c2VySWQgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXJfaWQiKTsKICAgICAgICAgICAgc3RyaW5nIHVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VybmFtZSIpOwoKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhdEludGVncmF0aW9uID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbklkLAogICAgICAgICAgICAgICAgICAgIHVzZXJJZCwKICAgICAgICAgICAgICAgICAgICB1c2VybmFtZSwKICAgICAgICAgICAgICAgICAgICBlcnJvciA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSAoc3RyaW5nKW51bGwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc3RyaW5nIGVycm9yTWVzc2FnZSA9IHJlc3BvbnNlPy5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkNoYXQgbG9naW4gZmFpbGVkIjsKICAgICAgICAgICAgc3RyaW5nIHN0YXR1c0NvZGUgPSByZXNwb25zZT8uc3RhdHVzQ29kZSAhPSBudWxsID8gcmVzcG9uc2Uuc3RhdHVzQ29kZS5Ub1N0cmluZygpIDogbnVsbDsKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhdEludGVncmF0aW9uID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbklkID0gKHN0cmluZyludWxsLAogICAgICAgICAgICAgICAgICAgIHVzZXJJZCA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgICAgICAgICB1c2VybmFtZSA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgICAgICAgICByb29tSWQgPSAoc3RyaW5nKW51bGwsCiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBlcnJvck1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gc3RhdHVzQ29kZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChyZXN1bHQpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
421
+ }
422
+ },
423
+ {
424
+ "order": 3,
399
425
  "task": {
400
426
  "domain": "morph-touch",
401
427
  "flow": "sys-tasks",
@@ -404,7 +430,7 @@
404
430
  },
405
431
  "mapping": {
406
432
  "location": "./src/JoinChatRoomForRandevuStartMapping.csx",
407
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3Igam9pbi1jaGF0LXJvb20tZm9yLXJlemVydmF0aW9uIHdoZW4gdXNlZCBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gVXNlcyBjaGF0SW50ZWdyYXRpb24ucm9vbUlkIGZyb20gcmV6ZXJ2YXRpb24uIFVzZXMgeC1tYXRyaXgtdXNlciBoZWFkZXIgaW5zdGVhZCBvZiBsb2dpbi9zZXNzaW9uSWQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBKb2luQ2hhdFJvb21Gb3JSYW5kZXZ1U3RhcnRNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIHNlY3JldE5hbWUgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHNlY3JldE5hbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBtYXRyaXhCYXNlVXJsID0gYXdhaXQgR2V0U2VjcmV0QXN5bmMoc2VjcmV0TmFtZSwgIndvcmtmbG93LXNlY3JldCIsICJNYXRyaXhCYXNlVXJsIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UobWF0cml4QmFzZVVybCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNYXRyaXhCYXNlVXJsIHNlY3JldCBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIGNoYXRJbnRlZ3JhdGlvbiA9IGRhdGE/LmNoYXRJbnRlZ3JhdGlvbjsKICAgICAgICB2YXIgcm9vbUlkID0gR2V0U3RyaW5nKGNoYXRJbnRlZ3JhdGlvbiwgInJvb21JZCIpOwogICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInBhcnRpY2lwYW50VHlwZSIpOwogICAgICAgIHZhciB1c2VyID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgdmFyIGFkdmlzb3JJZCA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwogICAgICAgIHZhciBpbnZpdGVkVXNlcklkID0gR2V0U3RyaW5nKGRhdGEsICJpbnZpdGVkVXNlcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJvb21JZCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJjaGF0SW50ZWdyYXRpb24ucm9vbUlkIGlzIHJlcXVpcmVkIHRvIGpvaW4gcm9vbSIpOwoKICAgICAgICB2YXIgeE1hdHJpeFVzZXIgPSBwYXJ0aWNpcGFudFR5cGUgPT0gImFkdmlzb3IiID8gYWR2aXNvcklkCiAgICAgICAgICAgIDogcGFydGljaXBhbnRUeXBlID09ICJpbnZpdGVkIiA/IGludml0ZWRVc2VySWQKICAgICAgICAgICAgOiB1c2VyOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHhNYXRyaXhVc2VyKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkNhbm5vdCBkZXRlcm1pbmUgeC1tYXRyaXgtdXNlcjogcGFydGljaXBhbnRUeXBlLCB1c2VyLCBhZHZpc29yLCBvciBpbnZpdGVkVXNlcklkIG1pc3NpbmciKTsKCiAgICAgICAgdmFyIGZ1bGxVcmwgPSBtYXRyaXhCYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvX21hdHJpeC9jbGllbnQvdjMvam9pbi8iICsgVXJpLkVzY2FwZURhdGFTdHJpbmcocm9vbUlkID8/ICIiKTsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIHZhciBoZWFkZXJzID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIngtbWF0cml4LXVzZXIiXSA9IHhNYXRyaXhVc2VyLlRyaW0oKQogICAgICAgIH07CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMoaGVhZGVycyk7CiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShuZXcgeyB9KTsKCiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcGFydGljaXBhbnRUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJwYXJ0aWNpcGFudFR5cGUiKTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIHZhciBhZHZpc29ySWQgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3IiKTsKICAgICAgICB2YXIgaW52aXRlZFVzZXJJZCA9IEdldFN0cmluZyhkYXRhLCAiaW52aXRlZFVzZXJJZCIpOwogICAgICAgIHZhciBjaGF0SW50ZWdyYXRpb24gPSBkYXRhPy5jaGF0SW50ZWdyYXRpb247CiAgICAgICAgdmFyIHVzZXJuYW1lID0gcGFydGljaXBhbnRUeXBlID09ICJhZHZpc29yIiA/IGFkdmlzb3JJZAogICAgICAgICAgICA6IHBhcnRpY2lwYW50VHlwZSA9PSAiaW52aXRlZCIgPyBpbnZpdGVkVXNlcklkCiAgICAgICAgICAgIDogdXNlcjsKCiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgPT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIGR5bmFtaWMgcmVzcERhdGEgPSByZXNwb25zZS5kYXRhOwogICAgICAgICAgICBzdHJpbmcgam9pbmVkUm9vbUlkID0gR2V0U3RyaW5nKHJlc3BEYXRhLCAicm9vbV9pZCIpID8/IEdldFN0cmluZyhyZXNwRGF0YSwgInJvb21JZCIpID8/IEdldFN0cmluZyhyZXNwRGF0YSwgIlJvb21JZCIpOwoKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhdEludGVncmF0aW9uID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUsCiAgICAgICAgICAgICAgICAgICAgcm9vbUlkID0gam9pbmVkUm9vbUlkID8/IEdldFN0cmluZyhjaGF0SW50ZWdyYXRpb24sICJyb29tSWQiKSwKICAgICAgICAgICAgICAgICAgICBlcnJvciA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSAoc3RyaW5nKW51bGwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc3RyaW5nIGVycm9yTWVzc2FnZSA9IHJlc3BvbnNlPy5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkZhaWxlZCB0byBqb2luIHJvb20iOwogICAgICAgICAgICBzdHJpbmcgc3RhdHVzQ29kZSA9IHJlc3BvbnNlPy5zdGF0dXNDb2RlICE9IG51bGwgPyByZXNwb25zZS5zdGF0dXNDb2RlLlRvU3RyaW5nKCkgOiBudWxsOwogICAgICAgICAgICByZXN1bHQuRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjaGF0SW50ZWdyYXRpb24gPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB1c2VybmFtZSwKICAgICAgICAgICAgICAgICAgICByb29tSWQgPSAoc3RyaW5nKW51bGwsCiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBlcnJvck1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gc3RhdHVzQ29kZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChyZXN1bHQpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
433
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3Igam9pbi1jaGF0LXJvb20tZm9yLXJlemVydmF0aW9uIHdoZW4gdXNlZCBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gVXNlcyBjaGF0SW50ZWdyYXRpb24ucm9vbUlkIGFuZCBzZXNzaW9uSWQgKGZyb20gcHJlY2VkaW5nIGxvZ2luIHRhc2spIGZvciBhdXRoZW50aWNhdGlvbi4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEpvaW5DaGF0Um9vbUZvclJhbmRldnVTdGFydE1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIG1hdHJpeEJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1hdHJpeEJhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShtYXRyaXhCYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1hdHJpeEJhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgY2hhdEludGVncmF0aW9uID0gZGF0YT8uY2hhdEludGVncmF0aW9uOwogICAgICAgIHZhciByb29tSWQgPSBHZXRTdHJpbmcoY2hhdEludGVncmF0aW9uLCAicm9vbUlkIik7CiAgICAgICAgdmFyIHBhcnRpY2lwYW50VHlwZSA9IEdldFN0cmluZyhkYXRhLCAicGFydGljaXBhbnRUeXBlIik7CiAgICAgICAgdmFyIHVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29yIik7CiAgICAgICAgdmFyIGludml0ZWRVc2VySWQgPSBHZXRTdHJpbmcoZGF0YSwgImludml0ZWRVc2VySWQiKTsKCiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uocm9vbUlkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oImNoYXRJbnRlZ3JhdGlvbi5yb29tSWQgaXMgcmVxdWlyZWQgdG8gam9pbiByb29tIik7CgogICAgICAgIHZhciB4TWF0cml4VXNlciA9IHBhcnRpY2lwYW50VHlwZSA9PSAiYWR2aXNvciIgPyBhZHZpc29ySWQKICAgICAgICAgICAgOiBwYXJ0aWNpcGFudFR5cGUgPT0gImludml0ZWQiID8gaW52aXRlZFVzZXJJZAogICAgICAgICAgICA6IHVzZXI7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UoeE1hdHJpeFVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSB4LW1hdHJpeC11c2VyOiBwYXJ0aWNpcGFudFR5cGUsIHVzZXIsIGFkdmlzb3IsIG9yIGludml0ZWRVc2VySWQgbWlzc2luZyIpOwoKICAgICAgICB2YXIgZnVsbFVybCA9IG1hdHJpeEJhc2VVcmwuVHJpbUVuZCgnLycpICsgIi9fbWF0cml4L2NsaWVudC92My9qb2luLyIgKyBVcmkuRXNjYXBlRGF0YVN0cmluZyhyb29tSWQgPz8gIiIpOwogICAgICAgIGh0dHBUYXNrLlNldFVybChmdWxsVXJsKTsKCiAgICAgICAgdmFyIHNlc3Npb25JZCA9IEdldFN0cmluZyhjaGF0SW50ZWdyYXRpb24sICJzZXNzaW9uSWQiKTsKCiAgICAgICAgdmFyIGhlYWRlcnMgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgIFsiQ29udGVudC1UeXBlIl0gPSAiYXBwbGljYXRpb24vanNvbiIsCiAgICAgICAgICAgIFsiQWNjZXB0Il0gPSAiYXBwbGljYXRpb24vanNvbiIsCiAgICAgICAgICAgIFsieC1tYXRyaXgtdXNlciJdID0geE1hdHJpeFVzZXIuVHJpbSgpCiAgICAgICAgfTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2Vzc2lvbklkKSkKICAgICAgICAgICAgaGVhZGVyc1siQXV0aG9yaXphdGlvbiJdID0gIkJlYXJlciAiICsgc2Vzc2lvbklkOwoKICAgICAgICBodHRwVGFzay5TZXRIZWFkZXJzKGhlYWRlcnMpOwogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3IHsgfSk7CgogICAgICAgIHJldHVybiBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgICAgIHZhciByZXNwb25zZSA9IGNvbnRleHQuQm9keTsKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHBhcnRpY2lwYW50VHlwZSA9IEdldFN0cmluZyhkYXRhLCAicGFydGljaXBhbnRUeXBlIik7CiAgICAgICAgdmFyIHVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29yIik7CiAgICAgICAgdmFyIGludml0ZWRVc2VySWQgPSBHZXRTdHJpbmcoZGF0YSwgImludml0ZWRVc2VySWQiKTsKICAgICAgICB2YXIgY2hhdEludGVncmF0aW9uID0gZGF0YT8uY2hhdEludGVncmF0aW9uOwogICAgICAgIHZhciB1c2VybmFtZSA9IHBhcnRpY2lwYW50VHlwZSA9PSAiYWR2aXNvciIgPyBhZHZpc29ySWQKICAgICAgICAgICAgOiBwYXJ0aWNpcGFudFR5cGUgPT0gImludml0ZWQiID8gaW52aXRlZFVzZXJJZAogICAgICAgICAgICA6IHVzZXI7CgogICAgICAgIGlmIChyZXNwb25zZT8uaXNTdWNjZXNzID09IHRydWUpCiAgICAgICAgewogICAgICAgICAgICBkeW5hbWljIHJlc3BEYXRhID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICAgICAgc3RyaW5nIGpvaW5lZFJvb21JZCA9IEdldFN0cmluZyhyZXNwRGF0YSwgInJvb21faWQiKSA/PyBHZXRTdHJpbmcocmVzcERhdGEsICJyb29tSWQiKSA/PyBHZXRTdHJpbmcocmVzcERhdGEsICJSb29tSWQiKTsKCiAgICAgICAgICAgIHJlc3VsdC5EYXRhID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNoYXRJbnRlZ3JhdGlvbiA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lLAogICAgICAgICAgICAgICAgICAgIHJvb21JZCA9IGpvaW5lZFJvb21JZCA/PyBHZXRTdHJpbmcoY2hhdEludGVncmF0aW9uLCAicm9vbUlkIiksCiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSAoc3RyaW5nKW51bGwsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gKHN0cmluZyludWxsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZyBlcnJvck1lc3NhZ2UgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJGYWlsZWQgdG8gam9pbiByb29tIjsKICAgICAgICAgICAgc3RyaW5nIHN0YXR1c0NvZGUgPSByZXNwb25zZT8uc3RhdHVzQ29kZSAhPSBudWxsID8gcmVzcG9uc2Uuc3RhdHVzQ29kZS5Ub1N0cmluZygpIDogbnVsbDsKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhdEludGVncmF0aW9uID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUsCiAgICAgICAgICAgICAgICAgICAgcm9vbUlkID0gKHN0cmluZyludWxsLAogICAgICAgICAgICAgICAgICAgIGVycm9yID0gZXJyb3JNZXNzYWdlLAogICAgICAgICAgICAgICAgICAgIGVycm9yQ29kZSA9IHN0YXR1c0NvZGUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocmVzdWx0KTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
408
434
  }
409
435
  }
410
436
  ],