-
Notifications
You must be signed in to change notification settings - Fork 2
/
Znuny-OTRS-Ticket-Auto-Allocation-7.0.4.opm
83 lines (83 loc) · 14.1 KB
/
Znuny-OTRS-Ticket-Auto-Allocation-7.0.4.opm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.1">
<Name>Znuny-OTRS-Ticket-Auto-Allocation</Name>
<Version>7.0.4</Version>
<Vendor>mo-azfar</Vendor>
<URL>https://github.com/mo-azfar</URL>
<License>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</License>
<ChangeLog Version="6.0.1">1st release.</ChangeLog>
<ChangeLog Version="6.0.2">Include online user check. Change file directory. Update framework</ChangeLog>
<ChangeLog Version="6.5.1">Update supported framework 6.5.x. Update version to reflex latest supported framework</ChangeLog>
<ChangeLog Version="7.0.1">Update supported framework 7.0.x.</ChangeLog>
<ChangeLog Version="7.0.2">Add support for offline user and responsible allocation.</ChangeLog>
<ChangeLog Date="2024-03-19 08:30:00 +0800" Version="7.0.3">Change directory to default. Update code.</ChangeLog>
<ChangeLog Date="2024-03-27 08:00:00 +0800" Version="7.0.4">Applied code policy.</ChangeLog>
<Description Lang="en">Auto assigning incoming ticket (from email) to the online or offline agent.</Description>
<Framework>6.1.x</Framework>
<Framework>6.2.x</Framework>
<Framework>6.3.x</Framework>
<Framework>6.4.x</Framework>
<Framework>6.5.x</Framework>
<Framework>7.0.x</Framework>
<IntroInstall Lang="en" Title="Install Information" Type="pre">
<br>
<b>WELCOME</b>
<br>
<br>
You are about to install the package Znuny-OTRS-Ticket-Auto-Allocation.Check <a href='https://github.com/mo-azfar/OTRS-Ticket-Auto-Allocation' target='_blank'>README</a><br>
<br>
<br>
((enjoy))<br>
<br>
</IntroInstall>
<IntroUpgrade Lang="en" Title="Upgrade Information" Type="pre">
<br>
<b>IMPORTANT!! Please update Generic Agent to match the new param key and value</b>
<br>
<br>
Check <a href='https://github.com/mo-azfar/OTRS-Ticket-Auto-Allocation' target='_blank'>README</a><br>
<br>
<br>
((enjoy))<br>
<br>
</IntroUpgrade>
<ModuleRequired>List::Util</ModuleRequired>
<CodeInstall Type="post">
$Kernel::OM->Get('Kernel::System::GenericAgent')->JobAdd(
Name => 'ZZZTicket AutoAllocation',
Data => {
'EventValues' => [
'TicketCreate'
],
'TicketNumber' => '*',
'OwnerIDs' => [
'1'
],
'LockIDs' => [
'1'
],
'StateIDs' => [
'1'
],
'NewModule' => 'Kernel::System::GenericAgent::TicketAutoAllocation',
'NewParamKey1' => 'Allocation',
'NewParamValue1' => 'Owner',
'NewParamKey2' => 'Online',
'NewParamValue2' => 'Yes',
'Valid' => 1,
},
UserID => 1,
);
</CodeInstall>
<CodeUninstall Type="post">
$Kernel::OM->Get('Kernel::System::GenericAgent')->JobDelete(
Name => 'ZZZTicket AutoAllocation',
UserID => 1,
);
</CodeUninstall>
<BuildDate>2024-03-27 08:06:06</BuildDate>
<BuildHost>app.wsl.my</BuildHost>
<Filelist>
<File Location="Kernel/System/GenericAgent/TicketAutoAllocation.pm" Permission="660" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMi0yMDI0IG1vLWF6ZmFyLCBodHRwczovL2dpdGh1Yi5jb20vbW8tYXpmYXIKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6R2VuZXJpY0FnZW50OjpUaWNrZXRBdXRvQWxsb2NhdGlvbjsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKICAgICdLZXJuZWw6OlN5c3RlbTo6QXV0aFNlc3Npb24nLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcsCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OlF1ZXVlJywKICAgICdLZXJuZWw6OlN5c3RlbTo6VGlja2V0JywKICAgICdLZXJuZWw6OlN5c3RlbTo6VXNlcicsCik7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICRTZWxmLT57RGVidWd9ID0gJFBhcmFte0RlYnVnfSB8fCAwOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICNjaGVjayB0aWNrZXQgaWQKICAgIGlmICggISRQYXJhbXtUaWNrZXRJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFRpY2tldElEIGZvciB0aGlzIG9wZXJhdGlvbicsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjaGVjayBuZWVkZWQgcGFyYW0KICAgICMgQWxsb2NhdGlvbiA9IE93bmVyIHwgUmVzcG9uc2libGUKICAgICMgT25saW5lID0gWWVzIHwgTm8KICAgIE5FRURFRDoKICAgIGZvciBteSAkTmVlZGVkIChxdyggQWxsb2NhdGlvbiBPbmxpbmUpKQogICAgewogICAgICAgIG5leHQgTkVFREVEIGlmIGRlZmluZWQgJFBhcmFte05ld30tPnskTmVlZGVkfTsKCiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkIFBhcmFtZXRlciAkTmVlZGVkIGFuZCBpdHMgdmFsdWUgZm9yIHRoaXMgb3BlcmF0aW9uISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgJFRpY2tldElEICAgICAgPSAkUGFyYW17VGlja2V0SUR9OwogICAgbXkgJFRpY2tldE9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7CiAgICBteSAkU2Vzc2lvbk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpBdXRoU2Vzc2lvbicpOwogICAgbXkgJExvZ09iamVjdCAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBnZXQgdGlja2V0IGRldGFpbHMKICAgIG15ICVUaWNrZXQgPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRHZXQoCiAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICApOwoKICAgIG15ICRHcm91cElEID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlF1ZXVlJyktPkdldFF1ZXVlR3JvdXBJRCggUXVldWVJRCA9PiAkVGlja2V0e1F1ZXVlSUR9ICk7CgogICAgbXkgJEFsbG9jYXRpb25UeXBlOwogICAgbXkgJFNlYXJjaFBhcmFtOwogICAgbXkgJEhpc3RvcnlOYW1lOwogICAgbXkgJEhpc3RvcnlUeXBlOwoKICAgIGlmICggJFBhcmFte05ld30tPnsnQWxsb2NhdGlvbid9IGVxICdPd25lcicgKQogICAgewogICAgICAgICRBbGxvY2F0aW9uVHlwZSA9ICdvd25lcic7CiAgICAgICAgJFNlYXJjaFBhcmFtICAgID0gJ093bmVySURzJzsKICAgICAgICAkSGlzdG9yeU5hbWUgICAgPSAnT3duZXInOwogICAgICAgICRIaXN0b3J5VHlwZSAgICA9ICdPd25lclVwZGF0ZSc7CiAgICB9CiAgICBlbHNpZiAoICRQYXJhbXtOZXd9LT57J0FsbG9jYXRpb24nfSBlcSAnUmVzcG9uc2libGUnICkKICAgIHsKICAgICAgICAkQWxsb2NhdGlvblR5cGUgPSAncncnOwogICAgICAgICRTZWFyY2hQYXJhbSAgICA9ICdSZXNwb25zaWJsZUlEcyc7CiAgICAgICAgJEhpc3RvcnlOYW1lICAgID0gJ1Jlc3BvbnNpYmxlJzsKICAgICAgICAkSGlzdG9yeVR5cGUgICAgPSAnUmVzcG9uc2libGVVcGRhdGUnOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIldyb25nIEFsbG9jYXRpb24gdmFsdWUgKCRQYXJhbXtOZXd9LT57J0FsbG9jYXRpb24nfSkgb24gdGlja2V0OiAkVGlja2V0SURcblxuIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjZ2V0IHBvc3NpYmxlIG93bmVyIC8gcmVzcG9uc2libGUKICAgIG15ICVVc2VycyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcpLT5QZXJtaXNzaW9uR3JvdXBHZXQoCiAgICAgICAgR3JvdXBJRCA9PiAkR3JvdXBJRCwKICAgICAgICBUeXBlICAgID0+ICRBbGxvY2F0aW9uVHlwZSwKICAgICk7CgogICAgbXkgQENvbW1vbiA9ICgpOwoKICAgICNjaGVjayBvbmxpbmUgdXNlcgogICAgaWYgKCAkUGFyYW17TmV3fS0+eydPbmxpbmUnfSBlcSAnWWVzJyApCiAgICB7CiAgICAgICAgbXkgJFNlc3Npb25NYXhJZGxlVGltZSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnU2Vzc2lvbk1heElkbGVUaW1lJyk7CiAgICAgICAgbXkgJU9ubGluZSAgICAgICAgICAgICA9ICgpOwogICAgICAgIG15IEBTZXNzaW9ucyAgICAgICAgICAgPSAkU2Vzc2lvbk9iamVjdC0+R2V0QWxsU2Vzc2lvbklEcygpOwoKICAgICAgICBmb3IgbXkgJFNlc3Npb25JRCAoQFNlc3Npb25zKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJURhdGEgPSAkU2Vzc2lvbk9iamVjdC0+R2V0U2Vzc2lvbklERGF0YSgKICAgICAgICAgICAgICAgIFNlc3Npb25JRCA9PiAkU2Vzc2lvbklELAogICAgICAgICAgICApOwoKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgJERhdGF7VXNlclR5cGV9IGVxICdVc2VyJwogICAgICAgICAgICAgICAgJiYgJERhdGF7VXNlckxhc3RSZXF1ZXN0fQogICAgICAgICAgICAgICAgJiYgJERhdGF7VXNlckxhc3RSZXF1ZXN0fSArICRTZXNzaW9uTWF4SWRsZVRpbWUKICAgICAgICAgICAgICAgID4gJEtlcm5lbDo6T00tPkNyZWF0ZSgnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJyktPlRvRXBvY2goKQogICAgICAgICAgICAgICAgJiYgJERhdGF7VXNlckZpcnN0bmFtZX0KICAgICAgICAgICAgICAgICYmICREYXRhe1VzZXJMYXN0bmFtZX0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJE9ubGluZXsgJERhdGF7VXNlcklEfSB9ID0gIiREYXRhe1VzZXJGdWxsbmFtZX0iOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgI2dldCBpbnRlcnNlY3Rpb24gYmV0d2VlbiBncm91cCB1c2VycyBhbmQgb25saW5lCiAgICAgICAgZm9yICggc29ydCBrZXlzICVVc2VycyApIHsKICAgICAgICAgICAgcHVzaCggQENvbW1vbiwgJF8gKSBpZiBleGlzdHMgJE9ubGluZXskX307CiAgICAgICAgfQogICAgfQogICAgZWxzaWYgKCAkUGFyYW17TmV3fS0+eydPbmxpbmUnfSBlcSAnTm8nICkKICAgIHsKICAgICAgICBmb3IgKCBzb3J0IGtleXMgJVVzZXJzICkgewogICAgICAgICAgICBwdXNoKCBAQ29tbW9uLCAkXyApOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJXcm9uZyBPbmxpbmUgdmFsdWUgKCRQYXJhbXtOZXd9LT57J09ubGluZSd9KSBvbiB0aWNrZXQ6ICRUaWNrZXRJRFxuXG4iLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICNjaGVjayB3b3JrbG9hZHMKICAgIG15ICVXb3JrbG9hZHM7CgogICAgVVNFUlM6CiAgICBmb3IgbXkgJFVzZXJJRCAoQENvbW1vbikKICAgIHsKICAgICAgICAjcmVtb3ZlIHN5c3RlbSB1c2VyCiAgICAgICAgbmV4dCBVU0VSUyBpZiAkVXNlcklEIGVxIDE7CgogICAgICAgICNjaGVjayBvdXQgb2Ygb2ZmaWNlIHVzZXJzCiAgICAgICAgbXkgJVVzZXJPT08gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VXNlcicpLT5HZXRVc2VyRGF0YSgKICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAkVXNlcklELAogICAgICAgICAgICBWYWxpZCAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE5vT3V0T2ZPZmZpY2UgPT4gMSwKICAgICAgICApOwoKICAgICAgICAkVXNlck9PT3tPdXRPZk9mZmljZX0gfHw9IDA7CgogICAgICAgIGlmICggJFVzZXJPT097T3V0T2ZPZmZpY2V9IGVxIDEgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJEN1clN5c3RlbURUT2JqZWN0ID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJyk7CgogICAgICAgICAgICBteSAkU3RhcnREYXRlID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgKICAgICAgICAgICAgICAgICdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnLAogICAgICAgICAgICAgICAgT2JqZWN0UGFyYW1zID0+IHsKICAgICAgICAgICAgICAgICAgICBZZWFyICAgPT4gJFVzZXJPT097T3V0T2ZPZmZpY2VTdGFydFllYXJ9LAogICAgICAgICAgICAgICAgICAgIE1vbnRoICA9PiAkVXNlck9PT3tPdXRPZk9mZmljZVN0YXJ0TW9udGh9LAogICAgICAgICAgICAgICAgICAgIERheSAgICA9PiAkVXNlck9PT3tPdXRPZk9mZmljZVN0YXJ0RGF5fSwKICAgICAgICAgICAgICAgICAgICBIb3VyICAgPT4gMDAsCiAgICAgICAgICAgICAgICAgICAgTWludXRlID0+IDAwLAogICAgICAgICAgICAgICAgICAgIFNlY29uZCA9PiAwMCwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15ICRFbmREYXRlID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgKICAgICAgICAgICAgICAgICdLZXJuZWw6OlN5c3RlbTo6RGF0ZVRpbWUnLAogICAgICAgICAgICAgICAgT2JqZWN0UGFyYW1zID0+IHsKICAgICAgICAgICAgICAgICAgICBZZWFyICAgPT4gJFVzZXJPT097T3V0T2ZPZmZpY2VFbmRZZWFyfSwKICAgICAgICAgICAgICAgICAgICBNb250aCAgPT4gJFVzZXJPT097T3V0T2ZPZmZpY2VFbmRNb250aH0sCiAgICAgICAgICAgICAgICAgICAgRGF5ICAgID0+ICRVc2VyT09Pe091dE9mT2ZmaWNlRW5kRGF5fSwKICAgICAgICAgICAgICAgICAgICBIb3VyICAgPT4gMjMsCiAgICAgICAgICAgICAgICAgICAgTWludXRlID0+IDU5LAogICAgICAgICAgICAgICAgICAgIFNlY29uZCA9PiA1OSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICNvdXQgb2Ygb2ZmaWNlIGRldGVjdGVkLCByZW1vdmUgdXNlcgogICAgICAgICAgICBpZiAoICRTdGFydERhdGUgPCAkQ3VyU3lzdGVtRFRPYmplY3QgJiYgJEVuZERhdGUgPiAkQ3VyU3lzdGVtRFRPYmplY3QgKSB7CgogICAgICAgICAgICAgICAgI3JlbW92ZSB1c2VyIHdpdGggb3V0IG9mIG9mZmljZSBhY3RpdmF0ZWQgd2l0aCBvb28gZGF0ZSB3aXRoaW4gY3VycmVudCBkYXRlCiAgICAgICAgICAgICAgICBuZXh0IFVTRVJTOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBteSBAVGlja2V0SURzID0gJFRpY2tldE9iamVjdC0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICBSZXN1bHQgICAgICAgPT4gJ0NPVU5UJywKICAgICAgICAgICAgU3RhdGVUeXBlICAgID0+IFsgJ29wZW4nLCAnbmV3JywgJ3BlbmRpbmcgcmVtaW5kZXInLCAncGVuZGluZyBhdXRvJyBdLAogICAgICAgICAgICAkU2VhcmNoUGFyYW0gPT4gWyRVc2VySURdLAogICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICApOwoKICAgICAgICAjVXNlciBJRCA9PiBUaWNrZXQgQ291bnQKICAgICAgICAkV29ya2xvYWRzeyRVc2VySUR9ID0gJFRpY2tldElEc1swXTsKCiAgICB9CgogICAgdXNlIExpc3Q6OlV0aWwgcXcoIG1pbiBtYXggKTsKICAgIG15ICRNaW4gPSBtaW4gdmFsdWVzICVXb3JrbG9hZHM7CgogICAgQUxMT0NBVEVEOgogICAgZm9yIG15ICRBbGxvY2F0aW9uSUQgKCBzb3J0IGtleXMgJVdvcmtsb2FkcyApCiAgICB7CiAgICAgICAgbXkgJFZhbCA9ICRXb3JrbG9hZHN7JEFsbG9jYXRpb25JRH07CiAgICAgICAgaWYgKCAkVmFsIGVxICRNaW4gKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJFNldEFsbG9jYXRpb247CiAgICAgICAgICAgIGlmICggJFBhcmFte05ld30tPnsnQWxsb2NhdGlvbid9IGVxICdPd25lcicgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAjYXNzaWduIHRpY2tldCBvd25lciB0byB0aGlzIHVzZXIgaWQgJF8KICAgICAgICAgICAgICAgICRTZXRBbGxvY2F0aW9uID0gJFRpY2tldE9iamVjdC0+VGlja2V0T3duZXJTZXQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICBOZXdVc2VySUQgPT4gJEFsbG9jYXRpb25JRCwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gMSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzaWYgKCAkUGFyYW17TmV3fS0+eydBbGxvY2F0aW9uJ30gZXEgJ1Jlc3BvbnNpYmxlJyApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICNhc3NpZ24gdGlja2V0IHJlc3Bvc2libGUgdG8gdGhpcyB1c2VyIGlkICRfCiAgICAgICAgICAgICAgICAkU2V0QWxsb2NhdGlvbiA9ICRUaWNrZXRPYmplY3QtPlRpY2tldFJlc3BvbnNpYmxlU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgTmV3VXNlcklEID0+ICRBbGxvY2F0aW9uSUQsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgID0+IDEsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJFNldEFsbG9jYXRpb24pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG15ICRVc2VyT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVzZXInKTsKICAgICAgICAgICAgICAgIG15ICROYW1lICAgICAgID0gJFVzZXJPYmplY3QtPlVzZXJOYW1lKAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkQWxsb2NhdGlvbklELAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRUaWNrZXRPYmplY3QtPkhpc3RvcnlBZGQoCiAgICAgICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICIkSGlzdG9yeU5hbWUgaGFzIGJlZW4gc2V0IHRvICROYW1lIGJ5IEF1dG8gQWxsb2NhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgSGlzdG9yeVR5cGUgID0+ICRIaXN0b3J5VHlwZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzZWUgc3lzdGVtIHRhYmxlcwogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+IDEsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjYnJlYWsgYWZ0ZXIgMXN0IG1hdGNoCiAgICAgICAgICAgIGxhc3QgQUxMT0NBVEVEIGlmICggJFZhbCBlcSAkTWluICk7CiAgICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKMTsK</File>
</Filelist>
</otrs_package>