<?xml version="1.0" encoding="utf-8"?>
<otrs_package version="1.0">
    <Name>ImportExport</Name>
    <Version>7.0.3</Version>
    <Framework>7.0.x</Framework>
    <PackageRequired Version="7.0.1">ITSMConfigurationManagement</PackageRequired>
    <Vendor>Znuny</Vendor>
    <URL>https://www.znuny.org/</URL>
    <License>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</License>
    <Description Lang="en">The ImportExport package.</Description>
    <Description Lang="de">Das ImportExport Paket.</Description>
    <Description Lang="es">El paquete ImportExport.</Description>
    <Description Lang="hu">Az ImportExport csomag.</Description>
    <ChangeLog Version="7.0.3" Date="2026-04-07 09:39:58 +0200">Updated .pm translation files.</ChangeLog>
    <ChangeLog Version="7.0.2" Date="2024-02-15 10:30:26 +0100">Added and updated translations.</ChangeLog>
    <ChangeLog Version="7.0.1" Date="2023-05-25 15:22:28 +0200">Initial release for Znuny 7.0.</ChangeLog>
    <ChangeLog Version="6.5.1" Date="2023-02-20 15:58:14 +0100">Initial release for Znuny 6.5.</ChangeLog>
    <ChangeLog Version="6.4.3" Date="2022-11-08 21:45:03 +0100">Updated translations and added breadcrumb navigation to AdminImportExport dialog.</ChangeLog>
    <ChangeLog Version="6.4.2" Date="2022-07-28 15:14:47 +0200">Release for Znuny 6.4.2.</ChangeLog>
    <ChangeLog Version="6.4.1" Date="2022-07-28 11:31:32 +0200">Initial release for Znuny 6.4.</ChangeLog>
    <ChangeLog Version="6.3.3" Date="2022-04-28 10:11:46 +0200">Release for Znuny 6.3.3.</ChangeLog>
    <ChangeLog Version="6.3.1" Date="2022-03-18 15:26:30 +0100">Ported to 6.3.</ChangeLog>
    <BuildHost>build.znuny.com</BuildHost>
    <BuildDate>2026-04-07 07:39:59 UTC</BuildDate>
    <Filelist>
        <File Permission="660" Location="doc/import-export-database.dia" Encode="Base64">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</File>
        <File Permission="660" Location="doc/import-export-database.png" Encode="Base64">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uWpmXEhISEhIiJMbBYCeJmevuHmASVr13N/ff/To0X//+99d3R3PExsbK62h3u2USiUz4wCPQHQJAICfsKo3AHQjNw8qybq2xjksZWZm9kS1L774Yk9UC6Dbse4SAAA/kW6EOnyKEADA5SIiIhQ2IiIiXN0vALgZkbuEm8sLL7wg/xcAbJG7BACe4tKlS67uAgDgR54UXdLr9YcOHTp16pRWq21ubu7bt+/AgQNHjhw5YcIEPz8/eTfHAwcvvPCC1c6+vr79+/e/5ZZb7r777sDAQKv9TSbT4cOHi4qKqqqqWlpa+vTpM3DgwKFDh44ZM2bQoEEONlpeXv7tt9+eP3++oaHB399/6NChEydOHDJkiCO97cJbAIBOIboEAABuTr34l3j7g+qVQ3Y+j4kunT9//oMPPqivr5dLGhoaGhoazp8/f+DAgUWLFjkSoOmQwWDQarVarfbYsWPLli2zfGCQXq//3//937KyMrmkqamprKysrKwsPz/fwX+O//73v7/66it5/nl9fX1RUVFRURH/mgHATZhMJkF0CQAAwNP0+uiYmw/NM6JLZWVl77zzjtFojIyMvPvuu4cMGeLv79/U1HThwoUDBw5oNJp33nnn17/+dXR0tGjrjHf4l5DfamhoKCsr+/zzz2tqavbu3fvAAw/I+/z73/8uKysLCAi45557br311sDAQIPBcPny5XPnzhUVFTkyioKCgn//+99eXl6TJ08eN25caGhoc3NzaWnpt99+6/ipcPN/TwDg6chdAgAA6JW4m+5RHhBdMhqNH330kdFovPPOO+fMmSOvtBoYGDh69OhRo0b961//OnLkyIcffrh8+XJvb+8baSsgIGDUqFH9+vV76623SktLLd86fvy4EGLBggUjRoyQSry9vaOjo6Ojo6dOndphzQ0NDXv27BFCzJ49e9y4cXJzt99+++23334jfQYAdCOiSwAAdBej0XiDN2gAPIUHRJe+//57nU4XFhY2e/Zs24f4eHl5zZ49W6PRSNPZ7rzzzhtvUVpEqaWlxbKwrq5OCBETE9O1Oo8eParX62NiYuTQUk+QYrF//OMfDx8+XFhYePnyZYPB8Mc//lEIodFojhw58sMPP9TU1CgUipCQkJEjR06ZMsXf39+2hhdeeOHIkSMFBQVardbLyysmJiYxMVE6LUePHpXKzWZzTExMUlKS7ZpTNTU1arX67NmztbW1Pj4+KpVq0qRJo0aNknf47//+b51O99hjj6lUKqkkLy/v6NGjQog77rhj/vz5UuHFixezs7NDQ0PT09PlY8vKytRqdVlZWVNTk7+//+DBgydPniylrTlyHmy1tLR8/PHHJSUlXl5eKSkpEydO7ORZB9CrEF0CcHNSKBTy6g29Rl5eXmpqamBg4B133LFv3z5Xd8eNSF9z3fsXf/7559euXSu9NpvN5eXldXV1qampx44dk/fZv3//m2++2dDQ8M9//tPX13fr1q3SlX975VbVwvlu/PZQvjUrLCw8fPjw5cuXFQpFVFTUlClThg8fbtXcjdzryXlJlglKnU1W+uSTTw4dOhQcHPzoo49aLsRcX1//5ptv1tbWTpgw4f777/fEoTmBB0SXSkpKhBAJCQnthb29vb0nTZr0ySeflJSUdEt06eLFi0KI4OBgy8KgoKCrV6+eOXNm9OjRXajz7NmzQoixY8feePc69Omnnx46dMiqcNOmTZably9fvnz5cnFx8W9/+9t+/fpZ7bxr1y7L+XqnT58+f/78b3/724KCgu+++04uP3v2bHl5+WOPPaZUKi0Lt27dqtfrpc3W1tZz586dO3fu5z//+b333isVDh8+vLCw8Ny5c3J06dy5c1YvhBBS+tiwYcPkkoKCgp07d1ouXFVcXHzixIn7779//PjxjpwHKzU1Ne+9915VVVW/fv0efPBBy7YA3JxsrwacwGw2V1ZWent7h4WFEdgC0KNUKpV0rWulU4GGxsZG2wvInhYUFCT93Ou41NRUyziFc3Shn85nNpu79+vm9OnTNTU18uaxY8dKS0vnzp1rtYTIo48+evDgQWlxW7VanZycLK2r2165EKKmpqa0tNQl386Q3cjtoWTnzp0FBQXyZmlp6blz52bOnGn503633+t1QUpKSlVV1YULF7Zt2/arX/1KCkEYjcatW7fW1tYOHjw4JSXFQ4fmBB4QXaqoqBDXhxhsSe9Ke96IxsbG8+fPf/7550IIqwlrY8eOzc/P//jjj8+ePTty5MioqKiAgADHa66qqhJCxMTEHD9+XK1WV1VVeXt7h4eHjxs37s477+zeD/fDhw9Pnjw5Li5OqVTK2V5Dhw4dP3784MGDAwMD9Xp9RUXF3r17NRpNfn7+9OnTrWooKCi4++674+LigoODL126tH37dq1W++6779bW1tqW5+fnz507VzqwtrZ227Zter3+9ttvnzx58oABA5qamo4fP75v3779+/ePGDFCWnx92LBhUnRp8uTJQojLly/X1tYGBgaazeba2trLly8PHDhQXIs0yX/6ysrKXbt2mc3mcePGTZkypX///jqdLj8//8iRIzt37oyJiQkPD+/wPFj64Ycftm3b1tjYGB4e/stf/tJyEXcAcCaTySRdRlt9jgFAt6usrLQq2blz56xZs4RFgEm6NH311VdXr179+eefnzhx4r/+67/eeeed+fPna7XamTNnHjp0KDw8/MEHH3zllVekMFN4eHhra2t1dbUQQqlU+vr6Xrp0Sa7qiy+++OUvfzl48OCPPvpIuho0GAz/7//9v7y8PLPZPG/evLVr10rPgJb2r6mpefrpp7dt2/a73/1u/fr1Up319fXyNXOHsbAhQ4ZcuHBBCLFgwQLLQzrVrp3zIIRYvnz57t27y8vLJ0+evGrVqnvuuafDfsbHxwshLO/G22R1uNVmm+22d96am5ufffbZ999/38vLa926dX/+859PnTolN7R37960tLSqqirLGFyn6pdt2rQpOTlZ3hw7dmybP6u3tLTIl9yTJ09uaGiwXy6ESExMzM7Ofvnll+2fNPSoLt8eWtYwfvz4u+++OyQk5OrVq19//XVhYeFnn302dOjQsLAw0R33evIT4W8kqcfb2zs1NfXNN9+8cOHCzp07Z8+eLYT49NNPy8rKQkJCUlNTbVNePGVoTtDGLbe7aWxsFDaZRFakd6U9u+CFa1555ZWtW7fqdLrbb7/95z//ueU+06ZNu+OOO1pbWw8fPvyPf/xj/fr1r776qhRscqSJpqYmIURRUdEHH3yg0WgMBkNzc/OFCxe2b9/+wQcfOP5j0Qs2bPeZOHFicnLywIEDLUMqS5cuvf3220NCQry9vf39/UeMGLFo0SIhhOUXjOzuu+9OSkoaMGCAr69vdHT0zJkzhRA6na7Ncstso2+++aalpeWOO+544IEHVCqVn59fSEjI5MmT77vvPmHxVSoFjM6fP280GoVFFEkqlzaNRuP58+eFRXTp22+/NZlMsbGxc+fOHTBggLe394ABA+bNm3fLLbcYjcZvvvnGkfMgO3To0DvvvNPY2Dhy5Eir5wMCgJNJH4ZtflgBQE+bOXOm1bWotGk0Gjdv3jxr1qyioqLN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i2NjY1tbW99///1jx47dyMAB4EYwMw5Ab2WV/oPeKjY21moJnu6iVCqZGdcLWN3E7dixo6SkxPImrlvu9aR0of/7v/9zPBJtq7KyUrpJl54EFxMTk5SUZDab//nPf1o9ddHjhtbTPCB3SQgRExOTlpa2bdu2iooKKZpjKSAg4MEHH4yJienGFm+77bbQ0NArV66UlJRIEUqtVqvVaqWl9Wy7N23aNPsVKhSKhQsXvvXWW/X19Xl5eZZv3XHHHdLy3j1n2rRp//jHP86cOSM9000SHx//3XffdW9DQUFBDz300NatW0tKSqQpb3YMHz5citdGRETID3cMCAgIDw+XflWzXNJbCDFo0KCUlJSdO3cePnzY8pcfhUIxc+ZMKYLWKT4+PqmpqR988MHJkyc//vjjlpYWz12fH0C3MBgMNTU10pNindku0SUAvRXrMd88MjMze6LaF198sSeqhZNNnDixoKDA6iZuxowZ8lzdbrnXGz16dH5+/mefffbZZ59JJVbLeLe3qrdcrtfrP/zww9bW1vHjx//sZz+TChMSEi5cuFBcXLxt27bf/OY3VlOC3GRo7sAzoktCiCFDhqSnpx86dKikpESr1TY3N/ft2zcsLCw2NnbChAndnh7m5eV111137dy588CBA1J06fHHHz958uT58+erqqqkZ5/169cvIiJizJgxd9xxhyO3BEql8j//8z/z8/NLSkpqa2t9fX0HDRo0fvz47prQZ8ett9760EMP7d+//+LFi15eXmFhYePHj4+Li+v26JIQIjo6+ve//730l7p8+bL0pIwBAwbceuutVhleMTExUoKfVRRp+PDhly5d8vHxsUodFEJMnDgxIiLi4MGDFy5caGpq8vf3Hzx48OTJk7scW/T29l60aNFHH310/PjxTz75pLm52fZRkQBuHgaD4erVq9KnljPbJboEAF0QEREhLVxiSf6dEoD7mDlzZnh4eGFh4eXLlxUKRVRU1JQpU0aMGGG5z43f6/3iF78wm83FxcVXr15tb9Vm+z799NPLly+Hh4fPmDHDsnzu3LmXLl2qrKz89NNP586d64lDc4IbeiIpAAC9iV6vr62t9fHx6aH0/vZcvHixvr4+PDxcXgAS6Ky4uLijR4+67RUnXCI/Pz89Pb2wsNDVHQF6SkJCQmZmZmJioqs7gnZJKTZumGhz43rx0LrGY3KX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fX19FotlWKdcvHjRuzEAgLdEqR0AAHgoKipKr9c3NTVdffXV9vFHO3fufOWVV8aMGSOE2LZt23XXXffkk08qu5555hn7N34DnutosLzAiy+++Nprr+Xk5Aghnn322W9/+9tXfiFGo3HHjh0lJSV9fX29vb3x8fF5eXm//vWv7Qd88MEHLk4fM2bM1Vdf7XHrp0+fvpKkGAYky7LJZBJCxMXFqR2L91VVVU2ePFntKADAE59//rnSgzn+R698JfDUU09t2rTpzTff7O3tXbRo0e7duxcuXKgc0NzcXFRU9Mknn2RkZNxxxx2//e1vExIShBC5ubn19fU5OTl1dXVCiNGjR587d+6qq646f/68UueJEyfuuOOO+vr6BQsW/P73v09MTFQq7O7uvvfeeysrK00mU15e3r59+5KTkx2DaWtrW7t27YEDB+6+++5nnnlGCHHNNdfU1taKr47pdv01xpDXJYRYsWLFn/70p9TU1C1btixatMjxxAGDd31dA95e+1l79+594oknTp48KYTYt2+fEkZPT8+aNWsOHDgwZsyYP/7xjxMnThzyugAEJsYuAQhWr7zyytGjR6dMmTJ+/Hj7MKJz585NnDhRkiRJkkaOHHnhwgX78Y4pmAHPdZSVlTVgzqW+vn7s2LHK9jXXXOO4S6/XDzjcaUi9vb3t7e1Wq9X+vMhymAhk3/rWt4qKitSOAgA8MWnSpP6ZC6XEarXu3r37e9/73n/913/t3LmzuLjYfsC6deu2bdtmNptra2tnz569bt06pbyuru7MmTM/+MEPDAaDzWYrKSmpq6s7f/68vc5jx44dPXq0o6Nj6tSpDz/8sL3CjRs3bty48fz5842NjevWrdu4caNTMN///vdvuukmvV6vpJaEEGfOnFF2yQ5cX+yQ1yWEeO655xoaGl588cUf/ehHTicOGLzr6xrw9trPevPNNw8ePGgymfbt22cPY/369TqdrqGhoaKi4siRI4LUEhC8ZAAIbHFxcUajUdlWBoQ77rXZbG+88cbIkSOVjxMmTPjyyy/7VzJgd+d0rqM77rhjz549/U//2te+duLECWW7qqrKsdrdu3cvWbLE7cty1traunHjxoSEhJiYmNTU1J6eHo+rgupsNltNTU1NTY3ValU7FoSLBx98MD09Xe0oAP/Jysqqqanx7Nz+TwX2EiGEzWZzOsbpt02d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vf/++8OHD3/33XeVU1u3bi0tLd29e3d7e/vu3btLS0u3b9+uXjVq1Kjdu3d7PJ64u3esp6NgMDhlypSXXnpJefniiy9OnTo1GAz2dklIDysMAQAAAAAYEtRthiRJ+vjjj6+++mqlvbGxsaCg4JNPPhk7dqzactlll507d07pvH379ltuuUU5tW3btp/97GcffPCBEOLaa69dsmTJbbfdppwqLy9/9tln//jHPypX7d27d+rUqR3vHtvSsUi1T0NDw7XXXvurX/1KCDF//vw//elPBQUF6oW9VBLSw/sIAAAAAMCQEJsuRSIRnU4Xe6pji9q5paUlOztbaW9paRk5cqSybs7pdJ48eTInJ0c9dfHFFzc3NytX+Xy+jIyMjgMmaYnzySefzJ8/32AwvP7662ry1aslIT3suwQAAAAAwJATGyQlajlPsTlOev785z87HI5AIHD27Nl+UhI6RboEAAAAAACS2bdvn3r84YcffvWrX1WOL7vssr1798ae+spXvpJoEIPBEIlEUr/pp59++uMf//jtt99+6623vvvd7548eVLzkpAI6RIAAAAAAEjmkUce+fDDD91u9wcffPC9733vhz/8odL++OOPP/roox988IF6aunSpYkGGT58+HvvvReNRlO5o8fjmTdv3s9+9rOLL754/Pjx/+///b+5c+f6/X4NS0ISrDAEAAAAAGBIiN1KqcstkGI7v/zyy2vXrj1z5kxZWdmTTz65aNEitdu6deuUUyNGjFi6dOl3vvOdRANu3br18ccfP3v2bCQSUUfuWKRy6r777tPr9a+88orafvfdd1sslk2bNvVqSUgP6RIAAAAAAEioH2593Q9LGuJYGQcAAAAAAID0kS4BAAAAAAAgfcwlAwAAAAAAQPqYuwQAAAAAAID0kS4BAAAAAAAgfaRLAAAAAAAASB/pEgAAAAAAANJHugQAAAAAwJBz5syZyspK5djtdp8+fVo5DgQCTU1NQgiPx1NVVVVVVVVXVxd7YWznpqamo0ePJhm50w4YfPjOOAAAAAAAhpbt27f//e9/b25uvvDCC+fOnfv973//iiuuMJvNt95663/+5382NjZu27bt448//p//+R+fz3fw4MGdO3cqF9bW1qqdr7/++pUrV06aNOnkyZPr1q3rOPLkyZM7dsCgRLoEAAAAAMBQ1N7e/uCDD06aNGnMmDH/9m//NmfOnK1btwohbrvttm3btil9fvnLXxoMhrvuukt5+eKLL6qdFy9efOLEiQULFjz00EO/+tWvOo589913J+qAQYaVcQAAAAAADDmyLD/xxBNLlixpbGzMz89P1K28vHz27NmnTp36+OOPfT5fbOexY8ceOHDg0UcfnTVrltohduTYDn30VNAI6RIAAAAAAEPO448/fscdd1x55ZUlJSU1NTVCCEmS4vqcOHGitLQ0IyOjpqbm6NGjfr8/tvOmTZu+//3vv/7661u3blU7xI4c26HvHxB9yaB1AQAAAAAAoE/94he/2LNnTyAQOHTo0De/+c0HHnjgD3/4w80339zc3LxixYq///3vzzzzzLJly1555ZVvfetbQogpU6ZMmTJFCDF37ly185gxY9asWTNq1KgLLrhA7RA78owZM9QO2j4vehv7LgEAAAAAMKTJsuz3+y0WS3c7h8Nhn89nt9sTde6yAwaH/w/RBIPnLF0HVwAAAABJRU5ErkJggg==</File>
        <File Permission="660" Location="Kernel/Config/Files/XML/ImportExport.xml" Encode="Base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxvdHJzX2NvbmZpZyB2ZXJzaW9uPSIyLjAiIGluaXQ9IkZyYW1ld29yayI+CiAgICA8U2V0dGluZyBOYW1lPSJGcm9udGVuZDo6TW9kdWxlIyMjQWRtaW5JbXBvcnRFeHBvcnQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZG1pbjo6TW9kdWxlUmVnaXN0cmF0aW9uPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEl0ZW0gVmFsdWVUeXBlPSJGcm9udGVuZFJlZ2lzdHJhdGlvbiI+CiAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwUm8iPgogICAgICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iR3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5hZG1pbjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZXNjcmlwdGlvbiIgVHJhbnNsYXRhYmxlPSIxIj5JbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGl0bGUiIFRyYW5zbGF0YWJsZT0iMSI+SW1wb3J0L0V4cG9ydDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik5hdkJhck5hbWUiPkFkbWluPC9JdGVtPgogICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpBZG1pbkltcG9ydEV4cG9ydCMjIzAwMS1JbXBvcnRFeHBvcnQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWRtaW46Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5JVFNNLkltcG9ydEV4cG9ydC5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iSmF2YVNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkZyb250ZW5kOjpOYXZpZ2F0aW9uIyMjQWRtaW5JbXBvcnRFeHBvcnQjIyMwMDEtSW1wb3J0RXhwb3J0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPk1haW4gbWVudSBpdGVtIHJlZ2lzdHJhdGlvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpBZG1pbjo6TW9kdWxlUmVnaXN0cmF0aW9uOjpNYWluTWVudTwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgIDxEZWZhdWx0SXRlbSBWYWx1ZVR5cGU9IkZyb250ZW5kTmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9IYXNoPgogICAgICAgICAgICAgICAgPC9EZWZhdWx0SXRlbT4KICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iRnJvbnRlbmQ6Ok5hdmlnYXRpb25Nb2R1bGUjIyNBZG1pbkltcG9ydEV4cG9ydCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BZG1pbiBhcmVhIG5hdmlnYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWRtaW46Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6QWRtaW5PdmVydmlldzwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5hZG1pbjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cFJvIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6Ok91dHB1dDo6SFRNTDo6TmF2QmFyOjpNb2R1bGVBZG1pbjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTmFtZSIgVHJhbnNsYXRhYmxlPSIxIj5JbXBvcnQvRXhwb3J0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJCbG9jayI+QWRtaW5pc3RyYXRpb248L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIj5NYW5hZ2UgaW1wb3J0IGFuZCBleHBvcnQgb2Ygb2JqZWN0cy48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikljb25CaWciPmZhLWFycm93cy1oPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJJY29uU21hbGwiPjwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJJbXBvcnRFeHBvcnQ6OkZvcm1hdEJhY2tlbmRSZWdpc3RyYXRpb24jIyNDU1YiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+Rm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPE5hdmlnYXRpb24+Q29yZTo6SW1wb3J0RXhwb3J0PC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydDo6Rm9ybWF0QmFja2VuZDo6Q1NWPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lIj5DU1Y8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgo8L290cnNfY29uZmlnPgo=</File>
        <File Permission="660" Location="Kernel/Language/ar_SA_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6YXJfU0FfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/bg_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6YmdfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/ca_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6Y2FfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/cs_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6Y3NfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnSW1wb3J0L0V4cG9ydCBTcHLDoXZhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ09tZXppdCBFeHBvcnQgdnlobGVkw6F2w6Fuw61tJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0luZm9ybWFjZSBvIEltcG9ydHUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdaZHJvam92w70gU291Ym9yJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ1phaMOhaml0IEltcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1rDoXpuYW3Fryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnw5pzcMSbxaFuxJsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnRHVwbGljaXRuw60gam3DqW5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnT2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICdPZGTEm2xvdmHEjSBTbG91cGPFryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bMOhdG9yIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdTdMWZZWRuw61rICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEdm9qdGXEjWthICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnVGXEjWthICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ1puYWtvdsOhIHNhZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdTbG91cGVjJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ0ltcG9ydC9FeHBvcnQnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/da_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZGFfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnSW1wb3J0L0VrcG9ydCBzdHlyaW5nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ1RpbGbDuGogc2thYmVsb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICdCZWdyw6ZucyBla3BvcnQgcHIuIHPDuGduaW5nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0ltcG9ydCBpbmZvcm1hdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0tpbGRlIGZpbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdTdGFydCBpbXBvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bGF0b3IgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ1NlbWlrb2xvbiAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnS29sb24gKDopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICdQdW5rdHVtICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ1RlZ25zw6Z0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnS29sb25uZSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnQvRWtwb3J0JzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/de_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZGVfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnSW1wb3J0L0V4cG9ydC1WZXJ3YWx0dW5nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ1ZvcmxhZ2UgaGluenVmw7xnZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0Vyc3RlbGxlbiBlaW5lciBWb3JsYWdlIHp1bSBJbXBvcnRpZXJlbiB1bmQgRXhwb3J0aWVyZW4gdm9uIE9iamVrdGluZm9ybWF0aW9uZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICdEYW1pdCBTaWUgZGllc2VzIE1vZHVsIG51dHplbiBrw7ZubmVuLCBtw7xzc2VuIFNpZSBkYXMgUGFrZXQgSVRTTSBDb25maWd1cmF0aW9uIE1hbmFnZW1lbnQgb2RlciBqZWRlcyBhbmRlcmUgUGFrZXQgaW5zdGFsbGllcmVuLCBkYXMgZWluIEJhY2tlbmQgZsO8ciB6dSBleHBvcnRpZXJlbmRlIHVuZCBpbXBvcnRpZXJlbmRlIE9iamVrdGUgYmVyZWl0c3RlbGx0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnU2Nocml0dCAxIHZvbiA1IC0gQWxsZ2VtZWluZSBJbmZvcm1hdGlvbmVuIGJlYXJiZWl0ZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJ1NjaHJpdHQgMiB2b24gNSAtIE9iamVrdGluZm9ybWF0aW9uZW4gYmVhcmJlaXRlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnU2Nocml0dCAzIHZvbiA1IC0gRm9ybWF0aW5mb3JtYXRpb25lbiBiZWFyYmVpdGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnU2Nocml0dCA0IHZvbiA1IC0gTWFwcGluZy1JbmZvcm1hdGlvbmVuIGJlYXJiZWl0ZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJ1NjaHJpdHQgNSB2b24gNSAtIFN1Y2hpbmZvcm1hdGlvbmVuIGJlYXJiZWl0ZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICdEaWVzZSBWb3JsYWdlIGzDtnNjaGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnTmFtZSB3aXJkIGJlbsO2dGlndCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ09iamVrdCBpc3QgZXJmb3JkZXJsaWNoISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnRm9ybWF0IGlzdCBlcmZvcmRlcmxpY2ghJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ3dpcmQgYmVuw7Z0aWd0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnS2VpbmUgTWFwcGluZy1FbGVtZW50ZSBnZWZ1bmRlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ01hcHBpbmctRWxlbWVudCBoaW56dWbDvGdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ0V4cG9ydCBwZXIgU3VjaGUgZWluc2NocsOkbmtlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICdJbXBvcnQtSW5mb3JtYXRpb25lbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ1F1ZWxsLURhdGVpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ0ltcG9ydCBzdGFydGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJ0ltcG9ydC1adXNhbW1lbmZhc3N1bmcgZsO8ciAlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnRGF0ZW5zw6R0emUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ0VyZm9sZ3JlaWNoJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ0RvcHBlbHRlIE5hbWVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnWnVsZXR6dCB2ZXJhcmJlaXRldGUgWmVpbGVubnVtbWVyIGRlciBJbXBvcnQtRGF0ZWknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICdNw7ZjaHRlbiBTaWUgZGllc2VzIFZvcmxhZ2VuZWxlbWVudCB3aXJrbGljaCBsw7ZzY2hlbj8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICdLZWluIEJhY2tlbmQgZsO8ciBkYXMgT2JqZWt0IHZlcmbDvGdiYXIhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJ0tlaW4gQmFja2VuZCBmw7xyIGRhcyBGb3JtYXQgdmVyZsO8Z2JhciEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJ1ZvcmxhZ2UgbmljaHQgdmVyZsO8Z2JhciEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnRGllIFZvcmxhZ2Uga29ubnRlIG5pY2h0IGVpbmdlZsO8Z3Qgb2RlciBha3R1YWxpc2llcnQgd2VyZGVuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICdEaWUgSUQgZGVyIFZvcmxhZ2Ugd2lyZCBiZW7DtnRpZ3QhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdGZWhsZXIgYXVmZ2V0cmV0ZW4uIEltcG9ydGllcmVuIHVubcO2Z2xpY2ghIEbDvHIgRGV0YWlscyBzaWVoZSBTeXN0ZW1wcm90b2tvbGwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdGZWhsZXIgYXVmZ2V0cmV0ZW4uIEV4cG9ydGllcmVuIHVubcO2Z2xpY2ghIEbDvHIgRGV0YWlscyBzaWVoZSBTeXN0ZW1wcm90b2tvbGwuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICdWb3JsYWdlbmxpc3RlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ1phaGwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICdaYWhsIGdyw7bDn2VyIGFscyBOdWxsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICdHYW56emFobCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICdHYW56emFobCBncsO2w59lciBhbHMgTnVsbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICdFbGVtZW50IGVyZm9yZGVybGljaCwgYml0dGUgZsO8Z2VuIFNpZSBEYXRlbiBlaW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICdVbmfDvGx0aWdlIERhdGVuLCBiaXR0ZSBnZWJlbiBTaWUgZWluIGfDvGx0aWdlcyAlcyBlaW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICdGb3JtYXQgbmljaHQgZ2VmdW5kZW4hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NwYWx0ZW50cmVubmVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYnVsYXRvciAoVEFCKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnU2VtaWtvbG9uICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEb3BwZWxwdW5rdCAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1B1bmt0ICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdLb21tYSAoLCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ1plaWNoZW5zYXR6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdNaXQgU3BhbHRlbsO8YmVyc2NocmlmdGVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ1NwYWx0ZSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJ0zDtnNjaGUgVm9ybGFnZS4uLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICdCZWltIEzDtnNjaGVuIGRlciBWb3JsYWdlIGlzdCBlaW4gRmVobGVyIGF1ZmdldHJldGVuLiBCaXR0ZSBzY2hhdWVuIFNpZSBpbSBTeXN0ZW1wcm90b2tvbGwgZsO8ciBtZWhyIEluZm9ybWF0aW9uZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICdWb3JsYWdlIHd1cmRlIGVyZm9sZ3JlaWNoIGdlbMO2c2NodC4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdGb3JtYXQtQmFja2VuZCBNb2R1bC1SZWdpc3RyYXRpb24gZGVzIEltcG9ydC9FeHBvcnQgTW9kdWxzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnSW1wb3J0aWVyZW4gdW5kIEV4cG9ydGllcmVuIHZvbiBPYmpla3QtSW5mb3JtYXRpb25lbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ0ltcG9ydC9FeHBvcnQnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/el_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZWxfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/en_CA_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZW5fQ0FfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/en_GB_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZW5fR0JfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ0FkZCB0ZW1wbGF0ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/es_CO_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZXNfQ09fSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/es_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZXNfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnR2VzdGnDs24gZGUgSW1wb3J0YWNpw7NuL0V4cG9ydGFjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdBZ3JlZ2FyIHBsYW50aWxsYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQ3JlYXIgdW5hIHBsYW50aWxsYSBwYXJhIGltcG9ydGFyIHkgZXhwb3J0YXIgaW5mb3JtYWNpw7NuIGRlIG9iamV0b3MuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJ1Bhc28gMSBkZSA1IC0gRWRpdGFyIGxhIGluZm9ybWFjacOzbiBjb23Dum4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJ1Bhc28gMiBkZSA1IC0gRWRpdGFyIGxhIGluZm9ybWFjacOzbiBkZWwgb2JqZXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICdQYXNvIDMgZGUgNSAtIEVkaXRhciBsYSBpbmZvcm1hY2nDs24gZGUgZm9ybWF0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ1Bhc28gNCBkZSA1IC0gRWRpdGFyIGxhIGluZm9ybWFjacOzbiBkZSBtYXBlbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnUGFzbyA1IGRlIDUgLSBFZGl0YXIgaW5mb3JtYWNpw7NuIGRlIGLDunNxdWVkYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJ0VsaW1pbmFyIGVzdGEgcGxhbnRpbGxhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnRXMgcmVxdWVyaWRvIHVuIG5vbWJyZSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ0VzIHJlcXVlcmlkbyB1biBvYmpldG8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICdFcyByZXF1ZXJpZG8gdW4gZm9ybWF0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnZXMgcmVxdWVyaWRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnTm8gc2UgaGFuIGVuY29udHJhZG8gbWFwYXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICdBZ3JlZ2FyIHVuIEVsZW1lbnRvIGRlIE1hcGVvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnUmVzdHJpbmdpciBsYSBleHBvcnRhY2nDs24gYSBsYSBiw7pzcXVlZGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYWNpw7NuIGRlIGltcG9ydGFjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0FyY2hpdm8gRnVlbnRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ0luaWNpYXIgSW1wb3J0YWNpw7NuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJ1Jlc3VtZW4gZGUgaW1wb3J0YWNpw7NuIHBhcmEgJXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1JlZ2lzdHJvcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnw4l4aXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ05vbWJyZXMgZHVwbGljYWRvcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ8OabHRpbW8gbsO6bWVybyBkZSBsw61uZWEgcHJvY2VzYWRhIGRlbCBhcmNoaXZvIGEgaW1wb3J0YXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdBY2VwdGFyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJ8KhTm8gc2UgZW5jb250csOzIHVuIFwnYmFja2VuZFwnIHBhcmEgZWwgb2JqZXRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICfCoU5vIHNlIGVuY29udHLDsyB1biBcJ2JhY2tlbmRcJyBwYXJhIGVsIGZvcm1hdG8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICfCoU5vIHNlIGVuY29udHLDsyBsYSBwbGFudGlsbGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJ8KhTm8gZnVlIHBvc2libGUgaW5zZXJ0YXIvYWN0dWFsaXphciBsYSBwbGFudGlsbGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJ8KhU2UgbmVjZXNpdGEgXCdUZW1wbGF0ZUlEXCchJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdIYSBvY3VycmlkbyB1biBlcnJvci4gwqFJbXBvc2libGUgZGUgSW1wb3J0YXLCoSBSZXZpc2UgbGFzIHRyYXphcyBkZWwgc2lzdGVtYSBwYXJhIG9idGVuZXIgbG9zIGRldGFsbGVzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnSGEgb2N1cnJpZG8gdW4gZXJyb3IuIMKhSW1wb3NpYmxlIGRlIEV4cG9ydGFywqEgUmV2aXNlIGxhcyB0cmF6YXMgZGVsIHNpc3RlbWEgcGFyYSBvYnRlbmVyIGxvcyBkZXRhbGxlcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ0xpc3RhIGRlIFBsYW50aWxsYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnbsO6bWVybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ27Dum1lcm8gbWF5b3IgYSBjZXJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICdlbnRlcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnZW50ZXJvIG1heW9yIGEgY2Vybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICdFbGVtZW50byByZXF1ZXJpZG8sIHBvciBmYXZvciBpbnNlcnRlIGVsIGRhdG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICdEYXRvcyBpbnbDoWxpZG9zLCBwb3IgZmF2b3Igb2VzdGUgdW4gJXMgdsOhbGlkbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJ8KhTm8gc2UgZW5jb250csOzIGVsIEZvcm1hdG8hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NlcGFyYWRvciBkZSBDb2x1bW5hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYnVsYWRvciAoVEFCKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnUHVudG8geSBjb21hICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEb3MgUHVudG9zICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnUHVudG8gKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJ0NvbWEgKCwpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICdDb25qdW50byBkZSBDYXJhY3RlcmVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdJbmNsdWlyIENhYmVjZXJhIGRlIENvbHVtbmFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ0NhbHVtbmEnOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdGb3JtYXRvIGRlbCBtw7NkdWxvIGFkbWluaXN0cmF0aXZvIGRlIHJlZ2lzdHJvIHBhcmEgZWwgbcOzZHVsbyBkZSBpbXBvcnRhY2nDs24vZXhwb3J0YWNpw7NuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnSW1wb3J0YXIgeSBleHBvcnRhciBpbmZvcm1hY2nDs24gZGUgdW4gb2JqZXRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnSW1wb3J0YXIvRXhwb3J0YXInOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/es_MX_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZXNfTVhfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnR2VzdGnDs24gZGUgSW1wb3J0YWNpw7NuL0V4cG9ydGFjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdBZ3JlZ2FyIHBsYW50aWxsYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQ3JlYXIgdW5hIHBsYW50aWxsYSBwYXJhIGltcG9ydGFyIHkgZXhwb3J0YXIgaW5mb3JtYWNpw7NuIGRlIG9iamV0b3MuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJ1Bhc28gMSBkZSA1IC0gRWRpdGFyIGxhIGluZm9ybWFjacOzbiBjb23Dum4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJ1Bhc28gMiBkZSA1IC0gRWRpdGFyIGxhIGluZm9ybWFjacOzbiBkZWwgb2JqZXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICdQYXNvIDMgZGUgNSAtIEVkaXRhciBsYSBpbmZvcm1hY2nDs24gZGUgZm9ybWF0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ1Bhc28gNCBkZSA1IC0gRWRpdGFyIGxhIGluZm9ybWFjacOzbiBkZSBtYXBlbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnUGFzbyA1IGRlIDUgLSBFZGl0YXIgaW5mb3JtYWNpw7NuIGRlIGLDunNxdWVkYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ0VzIHJlcXVlcmlkbyB1biBub21icmUhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdFcyByZXF1ZXJpZG8gdW4gb2JqZXRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnRXMgcmVxdWVyaWRvIHVuIGZvcm1hdG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ2VzIHJlcXVlcmlkbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ05vIHNlIGhhbiBlbmNvbnRyYWRvIG1hcGFzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnQWdyZWdhciB1biBFbGVtZW50byBkZSBNYXBlbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ1Jlc3RyaW5naXIgbGEgZXhwb3J0YWNpw7NuIGEgbGEgYsO6c3F1ZWRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0luZm9ybWFjacOzbiBkZSBpbXBvcnRhY2nDs24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdBcmNoaXZvIEZ1ZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdJbmljaWFyIEltcG9ydGFjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICdSZXN1bWVuIGRlIGltcG9ydGFjacOzbiBwYXJhICVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdSZWdpc3Ryb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ8OJeGl0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdOb21icmVzIGR1cGxpY2Fkb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICfDmmx0aW1vIG7Dum1lcm8gZGUgbMOtbmVhIHByb2Nlc2FkYSBkZWwgYXJjaGl2byBhIGltcG9ydGFyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnQWNlcHRhcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICfCoU5vIHNlIGVuY29udHLDsyB1biBcJ2JhY2tlbmRcJyBwYXJhIGVsIG9iamV0byEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnwqFObyBzZSBlbmNvbnRyw7MgdW4gXCdiYWNrZW5kXCcgcGFyYSBlbCBmb3JtYXRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnwqFObyBzZSBlbmNvbnRyw7MgbGEgcGxhbnRpbGxhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICfCoU5vIGZ1ZSBwb3NpYmxlIGluc2VydGFyL2FjdHVhbGl6YXIgbGEgcGxhbnRpbGxhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICfCoVNlIG5lY2VzaXRhIFwnVGVtcGxhdGVJRFwnISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnSGEgb2N1cnJpZG8gdW4gZXJyb3IuIMKhSW1wb3NpYmxlIGRlIEltcG9ydGFywqEgUmV2aXNlIGxhcyB0cmF6YXMgZGVsIHNpc3RlbWEgcGFyYSBvYnRlbmVyIGxvcyBkZXRhbGxlcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ0hhIG9jdXJyaWRvIHVuIGVycm9yLiDCoUltcG9zaWJsZSBkZSBFeHBvcnRhcsKhIFJldmlzZSBsYXMgdHJhemFzIGRlbCBzaXN0ZW1hIHBhcmEgb2J0ZW5lciBsb3MgZGV0YWxsZXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICdMaXN0YSBkZSBQbGFudGlsbGFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ27Dum1lcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICduw7ptZXJvIG1heW9yIGEgY2Vybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnZW50ZXJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ2VudGVybyBtYXlvciBhIGNlcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnRWxlbWVudG8gcmVxdWVyaWRvLCBwb3IgZmF2b3IgaW5zZXJ0ZSBlbCBkYXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnRGF0b3MgaW52w6FsaWRvcywgcG9yIGZhdm9yIG9lc3RlIHVuICVzIHbDoWxpZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICfCoU5vIHNlIGVuY29udHLDsyBlbCBGb3JtYXRvISc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICdTZXBhcmFkb3IgZGUgQ29sdW1uYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bGFkb3IgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ1B1bnRvIHkgY29tYSAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnRG9zIFB1bnRvcyAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1B1bnRvICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdDb21hICgsKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnQ29uanVudG8gZGUgQ2FyYWN0ZXJlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnSW5jbHVpciBDYWJlY2VyYSBkZSBDb2x1bW5hcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdDYWx1bW5hJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnRm9ybWF0byBkZWwgbcOzZHVsbyBhZG1pbmlzdHJhdGl2byBkZSByZWdpc3RybyBwYXJhIGVsIG3Ds2R1bG8gZGUgaW1wb3J0YWNpw7NuL2V4cG9ydGFjacOzbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0ltcG9ydGFyIHkgZXhwb3J0YXIgaW5mb3JtYWNpw7NuIGRlIHVuIG9iamV0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ0ltcG9ydGFyL0V4cG9ydGFyJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/et_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZXRfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ0xpc2EgbWFsbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/fa_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZmFfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn2YXYr9uM2LHbjNiqINmI2LHZiNivL9i12K/ZiNixJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ9in2LbYp9mB2Ycg2qnYsdiv2YYg2YLYp9mE2KgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ9iz2KfYrtiqINmC2KfZhNio24wg2KjYsdin24wg2YjYsdmI2K8g2Ygg2LXYr9mI2LEg2KfYt9mE2KfYudin2Kog2KLYqNis2qnYqic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ9ii2KjYrNqp2Kog2YXZiNix2K8g2YbbjNin2LIg2KfYs9iqISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAn2YLYp9mE2KjigIzYqNmG2K/bjCDZhdmI2LHYryDZhtuM2KfYsiDYp9iz2KohJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAn2YfbjNqGINi52YbYtdixINmG2q/Yp9i02KrbjCDbjNin2YHYqiDZhti02K8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICfYp9mB2LLZiNiv2YYg2LnZhti12LEg2Ybar9in2LTYqic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ9mF2K3Yr9mI2K/Ys9in2LLbjCDYudmF2YTbjNin2Kog2LXYr9mI2LEg2KjZhyDYp9iy2KfbjCDYrNiz2KrYrNmIJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ9mI2LHZiNivINin2LfZhNin2LnYp9iqJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAn2YHYp9uM2YQg2YXZhtio2LknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAn2LTYsdmI2Lkg2LnZhdmE24zYp9iqINmI2LHZiNivJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAn2KrYp9uM24zYryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ9is2K/Yp9qp2YbZhtiv2Ycg2LPYqtmI2YbigIzZh9inJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ9is2K/ZiNmEINiz2KfYsiAoVEFCKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAn2LPZhduMINqp2KfZhNmGICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICfYr9mI2YbZgti32YcgKDopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICfZhtmC2LfZhyAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICfaqdiv2KjZhtiv24wg2KfYt9mE2KfYudin2KonOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICfYs9iq2YjZhic7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ9mC2KfZhNio4oCM2KjZhtiv24wg2KvYqNiqINmF2KfamNmI2YQg2KjYsdin24wg2YXYp9qY2YjZhCDZiNix2YjYry/Ytdiv2YjYsSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAn2YjYsdmI2K8g2Ygg2LXYr9mI2LEg2KfYt9mE2KfYudin2Kog2KLYqNis2qnYqic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAn2YjYsdmI2K8v2LXYr9mI2LEnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/fi_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZmlfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/fr_CA_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZnJfQ0FfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/fr_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZnJfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnR2VzdGlvbiBkZSBsXCdpbXBvcnRhdGlvbi9leHBvcnRhdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdBam91dGVyIHVuIG1vZMOobGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0Nyw6llciB1biBtb2TDqGxlIHBvdXIgaW1wb3J0ZXIgZXQgZXhwb3J0ZXIgZGVzIGluZm9ybWF0aW9ucyBzdXIgbGVzIG9iamV0cy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJ1BvdXIgdXRpbGlzZXIgY2UgbW9kdWxlLCB2b3VzIGRldmV6IGluc3RhbGxlciBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3UgdG91dCBhdXRyZSBwYWNrYWdlIGZvdXJuaXNzYW50IHVuIGJhY2tlbmQgcG91ciBsXCdpbXBvcnRhdGlvbiBldCBsXCdleHBvcnRhdGlvbiBkXCdvYmpldHMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICfDiXRhcGUgMSBzdXIgNSAtIMOJZGl0ZXIgbGVzIGluZm9ybWF0aW9uIGNvbW11bmVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICfDiXRhcGUgMiBzdXIgNSAtIMOJZGl0ZXIgbGVzIGluZm9ybWF0aW9ucyBkZSBsXCdvYmpldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnw4l0YXBlIDMgc3VyIDUgLSDDiWRpdGVyIGxlcyBpbmZvcm1hdGlvbnMgZHUgZm9ybWF0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnw4l0YXBlIDQgc3VyIDUgLSDDiWRpdGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgbWFwcGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnw4l0YXBlIDUgc3VyIDUgLSDDiWRpdGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgcmVjaGVyY2hlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnU3VwcHJpbWVyIGNlIG1vZMOobGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdVbiBub20gZXN0IHJlcXVpcyAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdVbiBvYmpldCBlc3QgcmVxdWlzICEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJ1VuIGZvcm1hdCBlc3QgcmVxdWlzICEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnZXN0IHJlcXVpcyAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICdBdWN1biDDqWzDqW1lbnQgZGUgbWFwcGFnZSB0cm91dsOpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnQWpvdXRlciB1biDDqWzDqW1lbnQgZGUgbWFwcGFnZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ1Jlc3RyZWluZHJlIGxcJ2V4cG9ydGF0aW9uIHBhciByZWNoZXJjaGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYXRpb25zIGRcJ2ltcG9ydGF0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnRmljaGllciBzb3VyY2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnRMOpbWFycmVyIGxcJ2ltcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICdJbXBvcnRlciBsZSByw6lzdW3DqSBwb3VyICVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdFbnJlZ2lzdHJlbWVudHMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ1LDqXVzc2knOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnTm9tcyBlbiBkb3VibGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICdOdW3DqXJvIGRlIGxhIGRlcm5pw6hyZSBsaWduZSB0cmFpdMOpZSBkYW5zIGxlIGZpY2hpZXIgZFwnaW1wb3J0YXRpb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICdBdWN1biBvYmpldCAiYmFja2VuZCIgblwnYSDDqXTDqSB0cm91dsOpICEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnQXVjdW4gZm9ybWF0ICJiYWNrZW5kIiBuXCdhIMOpdMOpIHRyb3V2w6kgISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnTW9kw6hsZSBub24gdHJvdXbDqSAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJ0ltcG9zc2libGUgZFwnaW5zw6lyZXIgb3UgbWV0dHJlIMOgIGpvdXIgbGUgbW9kw6hsZSAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJ0xcJ0lEIGR1IG1vZMOobGUgZXN0IHJlcXVpcyAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSwgaW1wb3J0YXRpb24gaW1wb3NzaWJsZSAhIFBvdXIgcGx1cyBkZSBkw6l0YWlscywgY29uc3VsdGV6IGxlIGpvdXJuYWwgZOKAmcOpdsOpbmVtZW50cyBzeXN0w6htZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlLCBleHBvcnRhdGlvbiBpbXBvc3NpYmxlICEgUG91ciBwbHVzIGRlIGTDqXRhaWxzLCBjb25zdWx0ZXogbGUgam91cm5hbCBk4oCZw6l2w6luZW1lbnRzIHN5c3TDqG1lLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnTGlzdGUgZGVzIG1vZMOobGVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ25vbWJyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ25vbWJyZSBwbHVzIGdyYW5kIHF1ZSB6w6lybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnZW50aWVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ2VudGllciBwbHVzIGdyYW5kIHF1ZSB6w6lybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICfDiWzDqW1lbnQgcmVxdWlzLCB2ZXVpbGxleiBlbnRyZXIgZGVzIGRvbm7DqWVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnRG9ubsOpZXMgaW52YWxpZGVzLiBWZXVpbGxleiBpbnPDqXJlciB1bmUgJXMgdmFsaWRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnRm9ybWF0IG5vbiB0cm91dsOpICEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnU8OpcGFyYXRldXIgZGUgY29sb25uZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bGF0aW9uIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdQb2ludCB2aXJndWxlICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEZXV4IHBvaW50cyAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1BvaW50ICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdWaXJndWxlICgsKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnSmV1IGRlIGNhcmFjdMOocmVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdJbmNsdXJlIGxlcyBlbi10w6p0ZXMgZGUgY29sb25uZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnQ29sb25uZSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ0VucmVnaXN0cmVtZW50IGR1IG1vZHVsZSAiRm9ybWF0IGJhY2tlbmQiIHBvdXIgbGUgbW9kdWxlIGRcJ2ltcG9ydGF0aW9uL2V4cG9ydGF0aW9uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdJbXBvcnRlciBldCBleHBvcnRlciBkZXMgaW5mb3JtYXRpb25zIGRcJ29iamV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnRlci9FeHBvcnRlcic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/gl_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6Z2xfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnWGVzdGnDs24gZGEgaW1wb3J0YWNpw7NuL2V4cG9ydGFjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdFbmdhZGlyIHVuIG1vZGVsbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQ3JlYXIgdW4gbW9kZWxvIHBhcmEgaW1wb3J0YXIgZSBleHBvcnRhciBhIGluZm9ybWFjacOzbiBzb2JyZSBvcyBvYnhlY3Rvcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnUmVxdcOtcmVzZSB1biBub21lISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnUmVxdcOtcmVzZSB1biBvYnhlY3RvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnUmVxdcOtcmVzZSB1biBmb3JtYXRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpcyByZXF1aXJlZCEnfSA9ICdFIG5lY2VzYXJpbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ0VsZW1lbnRvcyBkbyBtYXBhIG5vbiBhdG9wYWRvcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnRW5nYWRpciBlbGVtZW50byBkZSBtYXBlbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ1Jlc3RyaW54aXIgYSBleHBvcnRhY2nDs24gZGEgYnVzY2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYWNpw7NuIGRlIGltcG9ydGFyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnRmljaGVpcm8gb3JpeGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnSW5pY2lhciBhIGltcG9ydGFjacOzbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1JleGlzdHJvcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnQ29ycmVjdG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnTm9tZXMgZHVwbGljYWRvcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ07Dum1lcm8gZGEgZGVycmFkZWlyYSBsacOxYSBwcm9jZXNhZGEgZG8gYXJxdWl2byBpbXBvcnRhcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJ0FjZXB0YXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICdTZXBhcmFkb3IgZGUgY29sdW1uYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnVGFidWxhY2nDs24gKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ1B1bnRvIGUgY29tYSAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnRG91cyBwdW50b3MgOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnUHVudG8gKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnQ29ueHVudG8gZGUgY2FyYWN0ZXJlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnSW5jbHXDrXIgYXMgY2FiZWNlaXJhcyBkYXMgY29sdW1uYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnQ29sdW1uYSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ03Ds2R1bG8gZGUgcmV4aXN0cm8gZG8gZm9ybWF0byBkZSBiYWNrZW5kIHBhcmEgbyBtw7NkdWxvIGltcG9ydGFyL2V4cG9ydGFyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdJbmZvcm1hY2nDs24gcGFyYSBpbXBvcnRhciBlIGV4cG9ydGFyIG8gb2J4ZXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnRhY2nDs24vRXhwb3J0YWNpw7NuJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/he_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6aGVfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ9eU15XXodejINeq15HXoNeZ16onOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJyc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/hi_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6aGlfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/hr_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6aHJfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/hu_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6aHVfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnSW1wb3J0w6Fsw6FzL2V4cG9ydMOhbMOhcyBrZXplbMOpcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdTYWJsb24gaG96esOhYWTDoXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdTYWJsb24gbMOpdHJlaG96w6FzYSBvYmpla3R1bWluZm9ybcOhY2nDs2sgaW1wb3J0w6Fsw6Fzw6Fob3ogw6lzIGV4cG9ydMOhbMOhc8OhaG96Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnQSBtb2R1bCBoYXN6bsOhbGF0w6Fob3ogdGVsZXDDrXRlbmllIGtlbGwgYXogSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IGNzb21hZ290IHZhZ3kgYsOhcm1pbHllbiBlZ3nDqWIgY3NvbWFnb3QsIGFtZWx5IGjDoXR0w6lycHJvZ3JhbW90IGJpenRvc8OtdCBheiBvYmpla3R1bW9rIGltcG9ydMOhbMOhc8OhaG96IMOpcyBleHBvcnTDoWzDoXPDoWhvei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJzEuIGzDqXDDqXMgYXogNS1ixZFsIC0ga8O2esO2cyBpbmZvcm3DoWNpw7NrIHN6ZXJrZXN6dMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJzIuIGzDqXDDqXMgYXogNS1ixZFsIC0gb2JqZWt0dW1pbmZvcm3DoWNpw7NrIHN6ZXJrZXN6dMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJzMuIGzDqXDDqXMgYXogNS1ixZFsIC0gZm9ybcOhdHVtaW5mb3Jtw6FjacOzayBzemVya2VzenTDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnNC4gbMOpcMOpcyBheiA1LWLFkWwgLSBsZWvDqXBlesOpc2kgaW5mb3Jtw6FjacOzayBzemVya2VzenTDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICc1LiBsw6lww6lzIGF6IDUtYsWRbCAtIGtlcmVzw6lzaSBpbmZvcm3DoWNpw7NrIHN6ZXJrZXN6dMOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICdTYWJsb24gdMO2cmzDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnQSBuw6l2IGvDtnRlbGV6xZEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdBeiBvYmpla3R1bSBrw7Z0ZWxlesWRISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnQSBmb3Jtw6F0dW0ga8O2dGVsZXrFkSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAna8O2dGVsZXrFkSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ05lbSB0YWzDoWxoYXTDs2sgbGVrw6lwZXrDqXNpIGVsZW1lay4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ0xla8OpcGV6w6lzaSBlbGVtIGhvenrDoWFkw6FzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ0V4cG9ydMOhbMOhcyBrb3Jsw6F0b3rDoXNhIGtlcmVzw6lzZW5rw6ludCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICdJbXBvcnTDoWzDoXNpIGluZm9ybcOhY2nDs2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdGb3Jyw6FzZsOhamwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnSW1wb3J0w6Fsw6FzIGluZMOtdMOhc2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnJXMgaW1wb3J0w6Fsw6FzaSDDtnNzemVnesOpc2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1Jla29yZG9rJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdTaWtlcmVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ05ldmVrIGtldHTFkXrDqXNlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnQXogaW1wb3J0ZsOhamwgdXRvbHPDsyBmZWxkb2xnb3pvdHQgc29yc3rDoW1hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnT0snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnVmFsw7NiYW4gdMO2csO2bG5pIHN6ZXJldG7DqSBlenQgYSBzYWJsb25lbGVtZXQ/JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnTmVtIHRhbMOhbGhhdMOzIG9iamVrdHVtLWjDoXR0w6lycHJvZ3JhbSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnTmVtIHRhbMOhbGhhdMOzIGZvcm3DoXR1bS1ow6F0dMOpcnByb2dyYW0hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICdTYWJsb24gbmVtIHRhbMOhbGhhdMOzISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICdOZW0gbGVoZXQgYmVzesO6cm5pIHZhZ3kgZnJpc3PDrXRlbmkgYSBzYWJsb250ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICdTYWJsb24tYXpvbm9zw610w7Mgc3rDvGtzw6lnZXMhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdIaWJhIHTDtnJ0w6ludC4gQXogaW1wb3J0w6Fsw6FzIGxlaGV0ZXRsZW4hIE7DqXp6ZSBtZWcgYSByZW5kc3plcm5hcGzDs3QgYSByw6lzemxldGVrw6lydC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ0hpYmEgdMO2cnTDqW50LiBBeiBleHBvcnTDoWzDoXMgbGVoZXRldGxlbiEgTsOpenplIG1lZyBhIHJlbmRzemVybmFwbMOzdCBhIHLDqXN6bGV0ZWvDqXJ0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnU2FibG9ubGlzdGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnc3rDoW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICdudWxsw6Fuw6FsIG5hZ3lvYmIgc3rDoW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJ2Vnw6lzeic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICdudWxsw6Fuw6FsIG5hZ3lvYmIgZWfDqXN6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJ0VsZW0gc3rDvGtzw6lnZXMsIHN6w7pyam9uIGJlIGFkYXRva2F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnw4lydsOpbnl0ZWxlbiBhZGF0b2ssIGVneSDDqXJ2w6lueWVzICVzIGJlc3rDunLDoXNhIHN6w7xrc8OpZ2VzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnRm9ybcOhdHVtIG5lbSB0YWzDoWxoYXTDsyEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnT3N6bG9wZWx2w6FsYXN6dMOzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYnVsw6F0b3IgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ1BvbnRvc3Zlc3N6xZEgKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ0tldHTFkXNwb250ICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnUG9udCAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAnVmVzc3rFkSAoLCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ0thcmFrdGVya8Opc3psZXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJ09zemxvcGZlamzDqWNlayBmZWx2w6l0ZWxlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ09zemxvcCc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJ1NhYmxvbiB0w7ZybMOpc2XigKYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnSGliYSB0w7ZydMOpbnQgYSBzYWJsb24gdMO2cmzDqXNla29yLiBUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBuw6l6emUgbWVnIGEgbmFwbMOza2F0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnQSBzYWJsb24gc2lrZXJlc2VuIHTDtnLDtmx2ZSBsZXR0Lic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ0Zvcm3DoXR1bSBow6F0dMOpcnByb2dyYW0gbW9kdWwgcmVnaXN6dHLDoWNpw7MgYXogaW1wb3J0w6Fsw6FzL2V4cG9ydMOhbMOhcyBtb2R1bGhvei4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ09iamVrdHVtaW5mb3Jtw6FjacOzayBpbXBvcnTDoWzDoXNhIMOpcyBleHBvcnTDoWzDoXNhLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnSW1wb3J0w6Fsw6FzL2V4cG9ydMOhbMOhcyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/id_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6aWRfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnTWFuYWphbWVuIEltcG9yL0Vrc3Bvcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdUYW1iYWhrYW4gdGVtcGxhdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQnVhdCBzZWJ1YWggdGVtcGxhdGUgdW50dWsgbWVuZ2ltcG9yIGRhbiBla3Nwb3Igb2J5ZWsgaW5mb3JtYXNpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdOYW1hIGRpYnV0dWhrYW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdPYnllayBkaWJ1dHVoa2FuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnRm9ybWF0IGRpYnV0dWhrYW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ2RpYnV0dWhrYW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICdUaWRhayBkaXRlbXVrYW4gZWxlbWVuIHBldGEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICdUYW1iYWggRWxlbWVuIFBlbWV0YWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnQmF0YXMgZWtzcG9yIHBlciBwZW5jYXJpYW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnSW5mb3JtYXNpIGltcG9yICc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0JlcmthcyBTdW1iZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnTXVsYWkgSW1wb3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdEYXRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdCZXJoYXNpbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdOYW1hIGR1cGxpa2F0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnTm9tb3IgYmFyaXMgdGVyYWtoaXIgYmVya2FzIGltcG9yIHlhbmcgZGlwcm9zZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1BlbWlzYWggS29sb20nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnVGFiIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdUaXRpa2tvbWEgKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ1RpdGlrZHVhICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnVGl0aWsgKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnS2FyYWt0ZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJ1NlcnRha2FuIEtlcGFsYSBLb2xvbSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdLb2xvbSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ0Zvcm1hdCBtb2R1bCBwZW5kYWZ0YXJhbiBiYWNrZW5kIHVudHVrIG1vZHVsIGltcG9yL2Vrc3Bvci4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0luZm9ybWFzaSBvYnllayBpbXBvciBkYW4gZWtzcG9yLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnSW1wb3IvRWtzcG9yJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/it_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6aXRfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnR2VzdGlvbmUgSW1wb3J0YXppb25lL0VzcG9ydGF6aW9uZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdBZ2dpdW5naSBtb2RlbGxvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdDcmVhIHVuIHRlbXBsYXRlIHBlciBpbXBvcnRhcmUgZWQgZXNwb3J0YXJlIGxlIGluZm9ybWF6aW9uaSBkZWdsaSBvZ2dldHRpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnUGVyIHV0aWxpenphcmUgcXVlc3RvIG1vZHVsbywgw6ggbmVjZXNzYXJpbyBpbnN0YWxsYXJlIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvIHF1YWxzaWFzaSBhbHRybyBwYWNjaGV0dG8gY2hlIGZvcm5pc2NlIGJhY2stZW5kIHBlciBnbGkgb2dnZXR0aSBkYSBpbXBvcnRhcmUgZWQgZXNwb3J0YXJlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnU3RlcCAxIGRpIDUgLSBNb2RpZmljYSBpbmZvcm1hemlvbmkgY29tdW5pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICdTdGVwIDIgZGkgNSAtIE1vZGlmaWNhIGluZm9ybWF6aW9uaSBvZ2dldHRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICdTdGVwIDMgZGkgNSAtIE1vZGlmaWNhIGluZm9ybWF6aW9uaSBmb3JtYXRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnU3RlcCA0IGRpIDUgLSBNb2RpZmljYSBpbmZvcm1hemlvbmkgbWFwcGF0dXJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICdTdGVwIDUgZGkgNSAtIE1vZGlmaWNhIGluZm9ybWF6aW9uaSBkaSByaWNlcmNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnQ2FuY2VsbGEgcXVlc3RvIG1vZGVsbG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdJbCBub21lIMOoIG9iYmxpZ2F0b3JpbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ0xcJ29nZ2V0dG8gw6ggb2JibGlnYXRvcmlvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnSWwgZm9ybWF0byDDqCBvYmJsaWdhdG9yaW8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ8OoIG9iYmxpZ2F0b3JpbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ05lc3N1biBlbGVtZW50byBtYXBwYSB0cm92YXRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnQWdnaXVuZ2kgdW4gZWxlbWVudG8gZGkgbWFwcGF0dXJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnUmVzdHJpbmdlcmUgZXNwb3J0YXppb25lIHBlciByaWNlcmNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0ltcG9ydGFyZSBpbmZvcm1hemlvbmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdBcmNoaXZpbyBvcmlnaW5lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ0luaXppYSBJbXBvcnRhemlvbmUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnSW1wb3J0YSByaWVwaWxvZ28gcGVyICVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdWb2NpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdTdWNjZXNzbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdEdXBsaWNhIGkgbm9taSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ051bWVybyBkZWxsXCd1bHRpbWEgcmlnYSBwcm9jZXNzYXRhIGRlbCBmaWxlIGRhIGltcG9ydGFyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJ09rJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJ1Z1b2kgdmVyYW1lbnRlIGNhbmNlbGxhcmUgcXVlc3RvIG1vZGVsbG8/JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnTmVzc3VuIG9nZ2V0dG8gZGkgYmFja2VuZCB0cm92YXRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICdOZXNzdW4gZm9ybWF0byBkaSBiYWNrZW5kIHRyb3ZhdG8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICdNb2RlbGxvIG5vbiB0cm92YXRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICdOb24gw6ggcG9zc2liaWxlIGluc2VyaXJlL21vZGlmaWNhcmUgdGVtcGxhdGUhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJ05lY2Vzc2FyaW8gVGVtcGxhdGVJRCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ0Vycm9yZSByaXNjb250cmF0by4gSW1wb3NzaWJpbGUgaW1wb3J0YXJlISBMZWdnaSBpIFN5c2xvZyBwZXIgdWx0ZXJpb3JpIGRldHRhZ2xpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnRXJyb3JlIHJpc2NvbnRyYXRvLiBJbXBvc3NpYmlsZSBlc3BvcnRhcmUhIExlZ2dpIGkgU3lzbG9nIHBlciB1bHRlcmlvcmkgZGV0dGFnbGkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICdMaXN0YSBNb2RlbGxpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ251bWVybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ251bWVybyBwacO5IGdyYW5kZSBkaSB6ZXJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICdpbnRlcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnaW50ZXJvIHBpw7kgZ3JhbmRlIGRpIHplcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnRWxlbWVudG8gcmljaGllc3RvLCBpbnNlcmlzY2kgZGF0aSBnZW50aWxtZW50ZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJ0RhdGkgbm9uIHZhbGlkaSwgaW5zZXJpc2NpIHVuICVzIHZhbGlkbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJ0Zvcm1hdG8gbm9uIHRyb3ZhdG8hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NlcGFyYXRvcmUgZGkgY29sb25uYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bGF0b3JlIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdQdW50byBlIHZpcmdvbGEgKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ0R1ZSBwdW50aSAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1B1bnRvICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdWaXJnb2xhICgsKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnQ2hhcnNldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnSW5jbHVkaSBsZSBDb2xvbm5lIGRpIEludGVzdGF6aW9uZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdDb2xvbm5hJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnRWxpbWluYXppb25lIG1vZGVsbG8gaW4gY29yc28gLi4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJ1NpIMOoIHZlcmlmaWNhdG8gdW4gZXJyb3JlIGR1cmFudGUgbFwnZWxpbWluYXppb25lIGRlbCBtb2RlbGxvLiBTaSBwcmVnYSBkaSBjb250cm9sbGFyZSBpIHJlZ2lzdHJpIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnSWwgbW9kZWxsbyDDqCBzdGF0byBlbGltaW5hdG8gY29ycmV0dGFtZW50ZS4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdSZWdpc3RyYXppb25lIGRlbCBtb2R1bG8gZGkgYmFja2VuZCBkZWwgZm9ybWF0byBwZXIgaWwgbW9kdWxvIGRpIGltcG9ydGF6aW9uZS9lc3BvcnRhemlvbmUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdJbXBvcnRhIGVkIGVzcG9ydGEgbGUgaW5mb3JtYXppb25pIHN1bGxcJ29nZ2V0dG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnRhcmUvRXNwb3J0YXJlJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/ja_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6amFfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn44Kk44Oz44Od44O844OIL+OCqOOCr+OCueODneODvOODiOOBrueuoeeQhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICfjg4bjg7Pjg5fjg6zjg7zjg4jjgpLov73liqAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ+OCquODluOCuOOCp+OCr+ODiOOBruOCpOODs+ODneODvOODiOODu+OCqOOCr+OCueODneODvOODiOeUqOOBruODhuODs+ODl+ODrOODvOODiOOCkuS9nOaIkOOBmeOCiyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAn44GT44Gu44Oi44K444Ol44O844Or44KS5Yip55So44GZ44KL44Gr44Gv44CBIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCDjgYvjgIHjgqrjg5bjgrjjgqfjgq/jg4jjga7jgqTjg7Pjg53jg7zjg4jjgYrjgojjgbPjgqjjgq/jgrnjg53jg7zjg4jjga7mqZ/og73jgpLmj5DkvpvjgZnjgovjg5Hjg4PjgrHjg7zjgrjjgpLjgqTjg7Pjgrnjg4jjg7zjg6vjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJ1N0ZXAgMSBvZiA1IC0g5Z+65pys5oOF5aCx44Gu6Kit5a6aJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICdTdGVwIDIgb2YgNSAtIOOCquODluOCuOOCp+OCr+ODiOaDheWgseOBruioreWumic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnU3RlcCAzIG9mIDUgLSDjg5Xjgqnjg7zjg57jg4Pjg4jmg4XloLHjga7oqK3lrponOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICdTdGVwIDQgb2YgNSAtIOODnuODg+ODlOODs+OCsOaDheWgseOBruioreWumic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnU3RlcCA1IG9mIDUgLSDmpJzntKLmg4XloLHjga7oqK3lrponOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICflkI3np7Djga/lv4XpoIjjgafjgZkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICfjgqrjg5bjgrjjgqfjgq/jg4jjga/lv4XpoIjjgafjgZkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICfjg5Xjgqnjg7zjg57jg4Pjg4jjga/lv4XpoIjjgafjgZkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ+W/hemgiOOBp+OBmSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAn44Oe44OD44OU44Oz44Kw6KaB57Sg44GM6KaL44Gk44GL44KK44G+44Gb44KT44Gn44GX44GfJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICfjg57jg4Pjg5Tjg7PjgrDopoHntKDjga7ov73liqAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICfmpJzntKLjgYLjgZ/jgorjga7lh7rlipvjgpLliLbpmZAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAn5oOF5aCx44KS44Kk44Oz44Od44O844OIJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAn44K944O844K544OV44Kh44Kk44OrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ+OCpOODs+ODneODvOODiOmWi+Wniyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICclc+OBruOCpOODs+ODneODvOODiOODu+OCteODnuODquODvCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAn44Os44Kz44O844OJJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICfmiJDlip8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAn5ZCN5YmN44GM6YeN6KSH44GX44Gm44GE44G+44GZJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAn6Kqt44G/6L6844G/5riI44G/44OV44Kh44Kk44Or44Gu5pyA57WC5a6f6KGM6KGM5pWwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnT2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAn5pys5b2T44Gr44GT44Gu44OG44Oz44OX44Os44O844OI44KS5YmK6Zmk44GX44Gm44KI44KN44GX44GE44Gn44GZ44GL77yfJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAn5oyH5a6a44GV44KM44Gf44Kq44OW44K444Kn44Kv44OI44Gu44OQ44OD44Kv44Ko44Oz44OJ44GM6KaL44Gk44GL44KK44G+44Gb44KT77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJ+aMh+WumuOBleOCjOOBn+ODleOCqeODvOODnuODg+ODiOOBruODkOODg+OCr+OCqOODs+ODieOBjOimi+OBpOOBi+OCiuOBvuOBm+OCk++8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAn44OG44Oz44OX44Os44O844OI44GM6KaL44Gk44GL44KK44G+44Gb44KT77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJ+ODhuODs+ODl+ODrOODvOODiOOBruaMv+WFpeODu+abtOaWsOOBjOOBp+OBjeOBvuOBm+OCk++8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICfjg4bjg7Pjg5fjg6zjg7zjg4hJROOBruWFpeWKm+OBjOW/heimgeOBp+OBme+8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAn44Kk44Oz44Od44O844OI44GM5Ye65p2l44G+44Gb44KT77yI44Ko44Op44O844GM55m655Sf44GX44G+44GX44Gf44CC6Kmz57Sw44Gv44K344K544OG44Og44Ot44Kw44KS44GU56K66KqN44GP44Gg44GV44GE77yJ77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICfjgqjjgq/jgrnjg53jg7zjg4jjgYzlh7rmnaXjgb7jgZvjgpPvvIjjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ/jgILoqbPntLDjga/jgrfjgrnjg4bjg6Djg63jgrDjgpLjgZTnorroqo3jgY/jgaDjgZXjgYTvvInvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ+ODhuODs+ODl+ODrOODvOODiOODu+ODquOCueODiCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICfmlbDlgKQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcw5Lul5LiK44Gu5pWw5YCkJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICfmlbTmlbDlgKQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnMOS7peS4iuOBruaVtOaVsOWApCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICfjg4fjg7zjgr/jgpLlhaXlipvjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICfnhKHlirnjgarjg4fjg7zjgr/jgafjgZnjgILmnInlirnjgaogJXMg44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAn5oyH5a6a44GV44KM44Gf44OV44Kp44O844Oe44OD44OI44GM6KaL44Gk44GL44KK44G+44Gb44KT77yBJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ+ahgeOBruOCu+ODkeODrOODvOOCvyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICfjgr/jg5YgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ+OCu+ODn+OCs+ODreODsyAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAn44Kz44Ot44OzICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAn44OJ44OD44OIKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJ+OCq+ODs+ODniAoLCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ+OCreODo+ODqeOCr+OCv+OCu+ODg+ODiCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAn44OY44OD44OA5oOF5aCx44KS5ZCr44KAJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ+ahgSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJ+ODhuODs+ODl+ODrOODvOODiOOCkuWJiumZpOS4reKApic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICfjg4bjg7Pjg5fjg6zjg7zjg4jjga7liYrpmaTkuK3jgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ/jgILoqbPntLDjga/jg63jgrDjgpLnorroqo3jgZfjgabjgY/jgaDjgZXjgYTjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJ+ODhuODs+ODl+ODrOODvOODiOOBjOato+W4uOOBq+WJiumZpOOBleOCjOOBvuOBl+OBn+OAgic7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ2ltcG9ydC9leHBvcnTjg6Ljgrjjg6Xjg7zjg6vjga7jg5Djg4Pjgq/jgqjjg7Pjg4njg6Ljgrjjg6Xjg7zjg6vjgpLnmbvpjLInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ+OCquODluOCuOOCp+OCr+ODiOaDheWgseOBruOCpOODs+ODneODvOODiOODu+OCqOOCr+OCueODneODvOODiCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAn44Kk44Oz44Od44O844OIL+OCqOOCr+OCueODneODvOODiCc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/ko_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6a29fSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ+2FnO2UjOumvyDstpTqsIAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJyc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICcnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/lt_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6bHRfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/lv_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6bHZfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/mk_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6bWtfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn0JLQvdC10YHQuC/QmNC30L3QtdGB0Lgg0JzQtdC90LDRn9C80LXQvdGCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ9CU0L7QtNCw0LTQuCDRiNCw0LHQu9C+0L0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ9Ca0YDQtdC40YDQsNGYINGI0LDQsdC70L7QvSDQt9CwINCy0L3QtdGB0LXQvdC4INC4INC40LfQvdC10YHQtdC90Lgg0L7QsdGY0LXQutGCINC40L3RhNC+0YDQvNCw0YbQuNC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ9Cf0L7RgtGA0LXQsdC90L4g0LUg0LjQvNC1ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAn0J/QvtGC0YDQtdCx0LXQvSDQtSDQvtCx0ZjQtdC60YIhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICfQn9C+0YLRgNC10LHQtdC9INC1INGE0L7RgNC80LDRgiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAn0JfQsNC00L7Qu9C20LjRgtC10LvQvdC+INC1ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAn0J3QtdC80LAg0LzQsNC/0LjRgNCw0L3QuCDQtdC70LXQvNC10L3RgtC4Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAn0JTQvtC00LDQtNC4INCc0LDQv9C40YDQsNC90Lgg0JXQu9C10LzQtdC90YLQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ9Ce0LPRgNCw0L3QuNGH0Lgg0LjQt9C70LXQt9C90Lgg0LHQsNGA0LDRmtCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ9CS0LvQtdC30L3QuCDQmNC90YTQvtGA0LzQsNGG0LjQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ9CY0LfQstC+0YDQtdC9INC/0L7QtNCw0YLQvtC6JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ9CX0LDQv9C+0YfQvdC4INCy0L3QtdGB0YPQstCw0ZrQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ9Ch0L3QuNC80LrQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAn0KPRgdC/0LXRiNC90L4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAn0JTRg9C/0LvQuNC60LDRgiDQuNC80LUgJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAn0J/QvtGB0LvQtdC00L3QviDQvtCx0YDQsNCx0L7RgtC10L3QuCDQsdGA0L7RmCDQvdCwINC70LjQvdC40Lgg0L3QsCDQstC90LXRgdC10L3QuCDQv9C+0LTQsNGC0L7RhtC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnT2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICfQoNCw0LfQtNC10LvRg9Cy0LDRhyDQvdCwINC60L7Qu9C+0L3QuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICfQotCw0LEgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ9Ci0L7Rh9C60LAt0LfQsNC/0LjRgNC60LAgKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ9CU0LLQtSDQotC+0YfQutC4ICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAn0KLQvtGH0LrQsCAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICfQnNC90L7QttC10YHRgtCy0L4g0LfQvdCw0YbQuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAn0JLQutC70YPRh9C4INC30LDQs9C70LDQstC40LUg0L3QsCDQutC+0LvQvtC90LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAn0JrQvtC70L7QvdCwJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAn0KTQvtGA0LzQsNGCINC/0L7Qt9Cw0LTQuNC90YHQutC4INC80L7QtNGD0Lsg0LfQsCDRgNC10LPQuNGB0YLRgNCw0YbQuNGY0LAg0LfQsCDQstC90LXRgdC4IC8g0LjQt9C90LXRgdC4INC80L7QtNGD0LsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICfQktC90LXRgdC4INC4INC40LfQvdC10YHQuCDQvtCx0ZjQtdC60YIg0LjQvdGE0L7RgNC80LDRhtC40LgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ9CS0L3QtdGB0Lgv0JjQt9C90LXRgdC4JzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/ms_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6bXNfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnUGVuZ3VydXNhbiBJbXBvcnQvRWtzcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICdUYW1iYWggdGVtcGxhdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQ2lwdGEgdGVtcGxhdCB1bnR1ayBpbXBvcnQgZGFuIGVrc3BvcnQgaW5mb3JtYXNpIG9iamVrLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdOYW1hIGRpa2VoZW5kYWtpISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnT2JqZWsgYWRhbGFoIGRpcGVybHVrYW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICdGb3JtYXQgYWRhbGFoIGRpcGVybHVrYW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ2RpcGVybHVrYW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICdUaWFkYSBlbGVtZW4gcGV0YSBkaXRlbXVpLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnVGFtYmFoIGVsZW1lbiBwZXRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnRGlsYXJhbmcgZWtzcG9ydCBwZXIgY2FyaWFuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0luZm9ybWFzaSBpbXBvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdTdW1iZXIgZmFpbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdNdWxhIGltcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1Jla29kLXJla29kJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdCZXJqYXlhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ01lbnlhbGluIG5hbWEtbmFtYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ05vbWJvciBiYXJpcyB0ZXJha2hpciBkaXByb3NlcyBmYWlsIGltcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJ09rJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnS29sdW0gcGVtaXNhaCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bGF0b3IgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ1NlbWlrb2xvbiAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnVGl0aWsgYmVydGluZGloICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnVGl0aWsgKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnU2V0IGthcmFrdGVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdUZXJtYXN1ayBLb2x1bSBLZXBhbGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnS29sdW0nOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdGb3JtYXQgYmFja2VuZCBtb2R1bCBwZW5kYWZ0YXJhbiB1bnR1ayBtb2R1bCBpbXBvcnQvZWtzcG9ydC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0luZm9ybWFzaSBvYmplayBpbXBvcnQgZGFuIGVrc3BvcnQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnQvRWtzcG9ydCc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/nb_NO_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6bmJfTk9fSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnQWRtaW5pc3RyYXNqb24gYXYgSW1wb3J0L0Vrc3BvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIHRlbXBsYXRlJ30gPSAnTGVnZyB0aWwgbWFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdPcHByZXR0IGVuIG1hbCBmb3Igw6UgZWtzcG9ydGVyZSBvZyBpbXBvcnRlcmUgaW5mb3JtYXNqb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnTmF2biBlciBww6VrcmV2ZCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ09iamVrdCBlciBww6VrcmV2ZCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJ0Zvcm1hdCBlciBww6VrcmV2ZCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnZXIgcMOla3JldmQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICdJbmdlbiBlbGVtZW50ZXIgZnVubmV0Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnTGVnZyB0aWwgbWFwcGluZy1lbGVtZW50JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnQmVncmVucyBla3Nwb3J0IHBlciBzw7hrJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0ltcG9ydC1pbmZvcm1hc2pvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0tpbGRlZmlsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ1N0YXJ0IGltcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1JhZGVyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdWZWxseWtrZXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnRHVwbGlrYXRlIG5hdm4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICdTaXN0ZSBwcm9zZXNzZXJ0ZSBsaW5qZW51bW1lciBhdiBpbXBvcnRmaWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ0tvbG9ubmVzZXBhcmF0b3InOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnVGFidWxhdG9yIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdTZW1pa29sb24gKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ0tvbG9uICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnUHVua3R1bSAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICdUZWduc2V0dCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnSW5rbHVkZXIga29sb25uZW92ZXJza3JpZnRlcic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdLb2xvbm5lJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnQmFrc2lkZW1vZHVsLXJlZ2lzdHJlcmluZyBmb3IgZm9ybWF0ZXQgdGlsIGltcG9ydC9la3Nwb3J0LW1vZHVsZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0luZm9ybWFzam9uIGZvciBpbXBvcnQtIG9nIGVrc3BvcnQtb2JqZWt0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnQvRWtzcG9ydCc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/nl_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6bmxfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ1NqYWJsb29uIHRvZXZvZWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnTWFhayBlZW4gc2phYmxvb24gb20gb2JqZWN0aW5mb3JtYXRpZSB0ZSBpbXBvcnRlcmVuIGVuIGV4cG9ydGVyZW4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICdPbSBkZXplIG1vZHVsZSB0ZSBnZWJydWlrZW4sIG1vZXQgdSBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb2YgZWVuIGFuZGVyIHBha2tldCBpbnN0YWxsZXJlbiBkYXQgYmFjay1lbmQgYmllZHQgdm9vciBvYmplY3RlbiBkaWUgbW9ldGVuIHdvcmRlbiBnZcOvbXBvcnRlZXJkIGVuIGdlw6t4cG9ydGVlcmQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICdTdGFwIDEgdmFuIDUgLSBCZXdlcmsgYWxnZW1lbmUgaW5mb3JtYXRpZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnU3RhcCAyIHZhbiA1IC0gQmV3ZXJrIG9iamVjdGluZm9ybWF0aWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJ1N0YXAgMyB2YW4gNSAtIEJld2VyayBmcm9tYWF0aW5mb3JtYXRpZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ1N0YXAgNCB2YW4gNSAtIEJld2VyayBkZSB0b2V3aWp6aW5nc2luZm9ybWF0aWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJ1N0YXAgNSB2YW4gNSAtIEJld2VyayB6b2VraW5mb3JtYXRpZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJ1ZlcndpamRlciBkZXplIHNqYWJsb29uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnTmFhbSBpcyB2ZXJwbGljaHQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdPYmplY3QgaXMgdmVycGxpY2h0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnRm9ybWFhdCBpcyB2ZXJlaXN0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpcyByZXF1aXJlZCEnfSA9ICdpcyB2ZXJwbGljaHQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICdHZWVuIHRvZXdpanppbmdzZWxlbWVudGVuIGdldm9uZGVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnVG9ld2lqemluZ3NlbGVtZW50IHRvZXZvZWdlbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ0V4cG9ydCBiZXBlcmtlbiBtZXQgem9la2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0ltcG9ydGluZm9ybWF0aWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdCcm9uIGJlc3RhbmQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnSW1wb3J0IHN0YXJ0ZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnSW1wb3J0ZWVyIHNhbWVudmF0dGluZyB2b29yICVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdSZWNvcmRzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdTdWNjZXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnRHViYmVsZSBuYW1lbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ0xhYXRzdCB2ZXJ3ZXJrdGUgcmVnZWxudW1tZXIgdmFuIGltcG9ydGJlc3RhbmQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICdXaWx0IHUgZGl0IHNqYWJsb29uaXRlbSBlY2h0IHZlcndpamRlcmVuPyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJ0dlZW4gb2JqZWN0LWJhY2tlbmQgZ2V2b25kZW4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJ0dlZW4gZm9ybWFhdC1iYWNrZW5kIGdldm9uZGVuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnU2phYmxvb24gbmlldCBnZXZvbmRlbiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnS2FuIHNqYWJsb29uIG5pZXQgaW52b2VnZW4vYmlqd2Vya2VuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICdUZW1wbGF0ZUlEIG5vZGlnISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnRm91dCBvcGdldHJlZGVuLiBJbXBvcnQgb25tb2dlbGlqayEgWmllIFN5c2xvZyB2b29yIGRldGFpbHMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdGb3V0IG9wZ2V0cmVkZW4uIEV4cG9ydCBvbm1vZ2VsaWprISBaaWUgU3lzbG9nIHZvb3IgZGV0YWlscy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ1NqYWJsb29ubGlqc3QnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnR2V0YWwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICdnZXRhbCBncm90ZXIgZGFuIG51bCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnZ2VoZWVsIGdldGFsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ2dlaGVlbCBnZXRhbCBncm90ZXIgZGFuIG51bCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICdFbGVtZW50IHZlcmVpc3QsIHZvZXIgZ2VnZXZlbnMgaW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICdPbmdlbGRpZ2UgZ2VnZXZlbnMsIHZvZXIgZWVuIGdlbGRpZ2UgJXMgaW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICdGb3JtYWF0IG5pZXQgZ2V2b25kZW4hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ0tvbG9tc2NoZWlkaW5nc3Rla2VuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYnVsYXRvciAoVEFCKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnUHVudGtvbW1hICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEdWJiZWxlIHB1bnQgKDopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICdQdW50ICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdLb21tYSAoLCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ1Rla2Vuc2V0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdLb2xvbWtvcHBlbiBvcG5lbWVuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ0tvbG9tJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnU2phYmxvb24gdmVyd2lqZGVyZW4uLi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnRXIgaXMgZWVuIGZvdXQgb3BnZXRyZWRlbiBiaWogaGV0IHZlcndpamRlcmVuIHZhbiBkZSBzamFibG9vbi4gQ29udHJvbGVlciBkZSBsb2dib2VrZW4gdm9vciBtZWVyIGluZm9ybWF0aWUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICdTamFibG9vbiBpcyBzdWNjZXN2b2wgdmVyd2lqZGVyZC4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdGb3JtYWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGllIHZvb3IgZGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdPYmplY3RpbmZvcm1hdGllIGltcG9ydGVyZW4gZW4gZXhwb3J0ZXJlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ0ltcG9ydGVyZW4vRXhwb3J0ZXJlbic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/pl_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cGxfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnWmFyesSFZHphbmllIEltcG9ydGVtL0V4cG9ydGVtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ0RvZGFqIHN6YWJsb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ1V0d8Ozcnogc3phYmxvbiBkbyBpbXBvcnR1IGkgZWtzcG9ydHUgZGFueWNoIG9iaWVrdMOzdy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJ0FieSB1xbx5d2HEhyB0ZWdvIG1vZHXFgnUgbXVzaXN6IHphaW5zdGFsb3dhxIcgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IGx1YiBpbm55IHBha2lldCBkb3N0YXJjemFqxIVjeSB6YXBsZWN6ZSBkbyBpbXBvcnR1IGkgZWtzcG9ydHUgb2JpZWt0w7N3Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnS3JvayAxIHogNSAtIEVkeWNqYSBkYW55Y2ggb2fDs2xueWNoJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICdLcm9rIDIgeiA1IC0gRWR5Y2phIGRhbnljaCBvYmlla3Rvd3ljaCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnS3JvayAzIHogNSAtIEVkeWNqYSBkYW55Y2ggZm9ybWF0dSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ0tyb2sgNCB6IDUgLSBFZHljamEgZGFueWNoIG1hcG93YW5pYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnS3JvayA1IHogNSAtIEVkeWNqYSBkYW55Y2ggd3lzenVraXdhbmlhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnVXN1xYQgdGVuIHN6YWJsb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdOYXp3YSBqZXN0IHd5bWFnYW5hISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnT2JpZWt0IGplc3Qgd3ltYWdhbnkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICdGb3JtYXQgamVzdCB3eW1hZ2FueSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnamVzdCB3eW1hZ2FuYSh5KSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ05pZSB6bmFsZXppb25vIGVsZW1lbnTDs3cgbWFweS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ0RvZGFqIGVsZW1lbnQgbWFwb3dhbmlhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnT2dyYW5pY3ogZWtzcG9ydCBwcnpleiB3eXN6dWthbmllJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0ltcG9ydHVqIGluZm9ybWFjamUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdQbGlrIMW6csOzZMWCb3d5JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ1JvenBvY3puaWogaW1wb3J0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJ1BvZHN1bW93YW5pZSBpbXBvcnR1IGRsYSAlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnUmVrb3JkeSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnUG93b2R6ZW5pZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdEdXBsaWthdHkgbmF6dyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ05yIG9zdGFuaWVqIHByemV0d29yem9uZWogbGluaWkgcGxpa3UgaW1wb3J0b3dlZ28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICdDenkgbmEgcGV3bm8gY2hjZXN6IHVzdW7EhcSHIHRlbiBlbGVtZW50IHN6YWJsb251Pyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJ05pZSB6bmFsZXppb25vIHphcGxlY3phIGRsYSBvYmlla3R1ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICdOaWUgem5hbGV6aW9ubyB6YXBsZWN6YSBkbGEgZm9ybWF0dSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJ05pZSB6bmFsZXppb25vIHN6YWJsb251ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICdOaWUgbW/FvG5hIGRvZGHEhy96bWllbmnEhyBzemFibG9udSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnUG90cnplYm55IFRlbXBsYXRlSUQhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdXeXN0xIVwacWCIGLFgsSFZC4gSW1wb3J0IG5pZW1vxbxsaXd5ISBTemN6ZWfDs8WCeSB3IExvZ3Ugc3lzdGVtb3d5bS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ1d5c3TEhXBpxYIgYsWCxIVkLiBFa3Nwb3J0IG5pZW1vxbxsaXd5ISBTemN6ZWfDs8WCeSB3IExvZ3Ugc3lzdGVtb3d5bS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ0xpc3RhIFN6YWJsb27Ds3cnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnbGljemJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnbGljemJhIHdpxJlrc3phIG9kIHplcmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJ2xpY3piYSBjYcWCa293aXRhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ2xpY3piYSBjYcWCa293aXRhIHdpxJlrc3phIG9kIHplcmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnRWxlbWVudCB3eW1hZ2FueSwgcG9kYWogZGFuZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJ05pZXByYXdpZMWCb3dlIGRhbmUsIHdwcm93YWTFuiBwcmF3aWTFgm93ZSAlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJ05pZXpuYW55IGZvcm1hdCEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnU2VwYXJhdG9yIGtvbHVtbnknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnVGFidWxhdG9yIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICfFmnJlZG5payAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnRHd1a3JvcGVrICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnS3JvcGthICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdQcnplY2luZWsgKCwpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICdLb2Rvd2FuaWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJ1VtaWXFm8SHIG5hZ8WCw7N3a2kga29sdW1uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ0tvbHVtbmEnOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICdVc3V3YW5pZSBzemFibG9udS4uLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICdXeXN0xIVwacWCIGLFgsSFZCBwb2RjemFzIHVzdXdhbmlhIHN6YWJsb251LiBTcHJhd2TFuiBsb2dpIGFieSB6bmFsZcW6xIcgd2nEmWNlaiBpbmZvcm1hY2ppLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnU3phYmxvbiBwb215xZtsbmllIHVzdW5pxJl0by4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdNb2R1xYIgZm9ybWF0b3dhbmlhIGJhY2tlbmQgZGxhIG1vZHXFgnUgaW1wb3J0L2Vrc3BvcnQuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdJbXBvcnR1aiBpIGVrc3BvcnR1aiBpbmZvcm1hY2plIG9iaWVrdMOzdy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ0ltcG9ydC9la3Nwb3J0JzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/pt_BR_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cHRfQlJfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnR2VyZW5jaWFtZW50byBkZSBJbXBvcnRhw6fDo28vRXhwb3J0YcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ0FkaWNpb25hciBtb2RlbG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0NyaWFyIHVtIG1vZGVsbyBwYXJhIGltcG9ydGFyIGUgZXhwb3J0YXIgaW5mb3JtYcOnw7VlcyBkZSBvYmpldG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICdQYXJhIHVzYXIgZXN0ZSBtw7NkdWxvLCB2b2PDqiBwcmVjaXNhIGluc3RhbGFyIG8gSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG91IHF1YWxxdWVyIG91dHJvIHBhY290ZSBxdWUgZm9ybmXDp2EgYmFjay1lbmQgcGFyYSBvYmpldG9zIGEgc2VyZW0gaW1wb3J0YWRvcyBlIGV4cG9ydGFkb3MuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICdQYXNzbyAxIGRlIDUgLSBFZGl0YXIgaW5mb3JtYcOnw7VlcyBjb211bnMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJ1Bhc3NvIDIgZGUgNSAtIEVkaXRhciBpbmZvcm1hw6fDtWVzIGRvIG9iamV0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnUGFzc28gMyBkZSA1IC0gRWRpdGFyIGluZm9ybWHDp8O1ZXMgZGUgZm9ybWF0byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ1Bhc3NvIDQgZGUgNSAtIEVkaXRhciBpbmZvcm1hw6fDtWVzIGRlIG1hcGVhbWVudG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJ1Bhc3NvIDUgZGUgNSAtIEVkaXRhciBpbmZvcm1hw6fDtWVzIGRlIHBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnUmVtb3ZlciBlc3RlIG1vZGVsbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ05vbWUgw6kgb2JyaWdhdMOzcmlvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnT2JqZXRvIMOpIG9icmlnYXTDs3JpbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJ08gZm9ybWF0byDDqSBvYnJpZ2F0w7NyaW8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ8OpIG9icmlnYXTDs3JpbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ07Do28gaMOhIGVsZW1lbnRvcyBtYXBhIGVuY29udHJhZG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICdBZGljaW9uYXIgZWxlbWVudG8gZGUgbWFwZWFtZW50byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ1Jlc3RyaW5naXIgZXhwb3J0YcOnw6NvIHBvciBwZXNxdWlzYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICdJbmZvcm1hw6fDtWVzIGRlIGltcG9ydGHDp8Ojbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0FycXVpdm8gZGUgT3JpZ2VtJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ0luaWNpYXIgSW1wb3J0YcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJ1Jlc3VtbyBkZSBpbXBvcnRhw6fDo28gcGFyYSAlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnUmVnaXN0cm9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICdTdWNlc3NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ05vbWVzIGR1cGxpY2Fkb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICfDmmx0aW1vIG7Dum1lcm8gZGUgbGluaGEgcHJvY2Vzc2FkYSBkbyBhcnF1aXZvIGRlIGltcG9yYXRhw6fDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICdEZXNlamEgcmVhbG1lbnRlIGV4Y2x1aXIgZXN0ZSBpdGVtIGRlIG1vZGVsbz8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICdOZW5odW0gb2JqZXRvIGJhY2tlbmQgZW5jb250cmFkbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnTmVuaHVtIGZvcm1hdG8gYmFja2VuZCBlbmNvbnRyYWRvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnTW9kZWxvIG7Do28gZW5jb250cmFkbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnTsOjbyDDqSBwb3Nzw612ZWwgaW5zZXJpci9hdHVhbGl6YXIgbW9kZWxvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICdOZWNlc3PDoXJpbyBUZW1wbGF0ZUlEISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnT2NvcnJldSB1bSBlcnJvLiBGb2kgaW1wb3Nzw612ZWwgcmVhbGl6YXIgYSBpbXBvcnRhw6fDo28hIFZlcmlmaXF1ZSBvIFN5c2xvZyBwYXJhIG1haXMgZGV0YWxoZXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdPY29ycmV1IHVtIGVycm8uIEZvaSBpbXBvc3PDrXZlbCByZWFsaXphciBhIGV4cG9ydGHDp8OjbyEgVmVyaWZpcXVlIG8gU3lzbG9nIHBhcmEgbWFpcyBkZXRhbGhlcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ0xpc3RhIGRlIG1vZGVsb3MnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnbsO6bWVybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ27Dum1lcm8gbWFpb3IgcXVlIHplcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJ2ludGVpcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnaW50ZWlybyBtYWlvciBxdWUgemVybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICdFbGVtZW50byBuZWNlc3PDoXJpbywgcG9yIGZhdm9yIGluc2lyYSBvIGRhZG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICdEYWRvIGludsOhbGlkbywgcG9yIGZhdm9yIGluc2lyYSB1bSAlcyB2w6FsaWRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnRm9ybWF0byBuw6NvIGVuY29udHJhZG8hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NlcGFyYWRvciBkZSBDb2x1bmFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYnVsYcOnw6NvIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdQb250byBlIFbDrXJndWxhICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEb2lzIFBvbnRvcyAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1BvbnRvICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICdWaXJndWxhICgsKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnQ29kaWZpY2HDp8OjbyBkZSBDYXJhY3RlcmVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdJbmNsdWlyIENhYmXDp2FsaG9zIGRlIENvbHVuYXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnQ29sdW5hJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnUmVtb3ZlbmRvIG1vZGVsby4uLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICdPY29ycmV1IHVtIGVycm8gYW8gZXhjbHVpciBvIG1vZGVsby4gVmVyaWZpcXVlIG9zIGxvZ3MgcGFyYSBvYnRlciBtYWlzIGluZm9ybWHDp8O1ZXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICdNb2RlbG8gcmVtb3ZpZG8gY29tIHN1Y2Vzc28uJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnRm9ybWF0byBkZSByZWdpc3RybyBiYWNrZW5kIGRvIG3Ds2R1bG8gZGUgaW1wb3J0YcOnw6NvIC8gZXhwb3J0YcOnw6NvIG3Ds2R1bG8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdJbXBvcnRhciBlIGV4cG9ydGFyIGluZm9ybWHDp8O1ZXMgZGUgb2JqZXRvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnSW1wb3J0YcOnw6NvL0V4cG9ydGHDp8Ojbyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/pt_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cHRfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnR2VzdMOjbyBkZSBJbXBvcnRhw6fDo28vRXhwb3J0YcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQ3JpYXIgdW0gbW9kZWxvIHBhcmEgaW1wb3J0YXIgZSBleHBvcnRhciBpbmZvcm1hw6fDtWVzIGRlIG9iamV0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ1Bhc3NvIDQgZGUgNSAtIEVkaXRhciBpbmZvcm1hw6fDo28gZGUgbWFwZWFtZW50byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnUGFzc28gNSBkZSA1IC0gRWRpdGFyIGluZm9ybWHDp8OjbyBkZSBwcm9jdXJhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnTm9tZSDDqSBvYnJpZ2F0w7NyaW8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdPYmpldG8gw6kgb2JyaWdhdMOzcmlvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnTyBmb3JtYXRvIMOpIG9icmlnYXTDs3JpbyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnw6kgb2JyaWdhdMOzcmlvISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnTsOjbyBow6EgZWxlbWVudG9zIG1hcGEgZW5jb250cmFkby4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ0FkaWNpb25hciBlbGVtZW50byBkZSBtYXBlYW1lbnRvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnUmVzdHJpbmdpciBleHBvcnRhw6fDo28gcG9yIHBlc3F1aXNhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0luZm9ybWHDp8O1ZXMgZGUgaW1wb3J0YcOnw6NvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnQXJxdWl2byBkZSBPcmlnZW0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnSW5pY2lhciBJbXBvcnRhw6fDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdSZWdpc3Rvcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnU3VjZXNzbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdOb21lcyBkdXBsaWNhZG9zJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnw5psdGltbyBuw7ptZXJvIGRlIGxpbmhhIHByb2Nlc3NhZGEgZG8gYXJxdWl2byBkZSBpbXBvcnRhw6fDo28nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnT2NvcnJldSB1bSBlcnJvLkltcG9ydGHDp8OjbyBpbXBvc3PDrXZlbCFWZXJpZmljYXIgU3lzbG9nIHBhcmEgZGV0YWxoZXMuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdPY29ycmV1IHVtIGVycm8uRXhwb3J0YcOnw6NvIGltcG9zc8OtdmVsIVZlcmlmaWNhciBTeXNsb2cgcGFyYSBkZXRhbGhlcy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NlcGFyYWRvciBkZSBDb2x1bmFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYnVsYcOnw6NvIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdQb250byBlIFbDrXJndWxhICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdEb2lzIFBvbnRvcyAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1BvbnRvICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ0NvZGlmaWNhw6fDo28gZGUgQ2FyYWN0ZXJlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnSW5jbHVpciBDYWJlw6dhbGhvcyBkZSBDb2x1bmFzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ0NvbHVuYSc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ0Zvcm1hdGFyIG3Ds2R1bG8gZGUgcmVnaXN0byBiYWNrZW5kIGRvIG3Ds2R1bG8gZGUgaW1wb3J0YcOnw6NvIC8gZXhwb3J0YcOnw6NvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnSW1wb3J0YXIgZSBleHBvcnRhciBpbmZvcm1hw6fDtWVzIGRlIG9iamV0by4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ0ltcG9ydGFyL0V4cG9ydGFyJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/ro_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cm9fSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnTWFuYWdlbWVudCBpbXBvcnQvZXhwb3J0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnQ3JlYXrEgyB1biDImWFibG9uIHBlbnRydSBpbXBvcnQvZXhwb3J0IGluZm9ybWHIm2lpIG9iaWVjdGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJ1Bhc3VsIDEgZGluIDUgLSBFZGl0ZWF6xIMgaW5mb3JtYcibaWkgZ2VuZXJhbGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJ1Bhc3VsIDIgZGluIDUgLSBFZGl0ZWF6xIMgaW5mb3JtYcibaWkgZGVzcHJlIG9iaWVjdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnUGFzdWwgMyBkaW4gNSAtIEVkaXRlYXphIGluZm9ybWHIm2lpIGRlc3ByZSBmb3JtYXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICdQYXN1bCA0IGRpbiA1IC0gRWRpdGVhesSDIGluZm9ybWHIm2lpIGRlc3ByZSBhc29jaWVyaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnUGFzdWwgNSBkaW4gNSAtIEVkaXRlYXrEgyBpbmZvcm1hyJtpaSBkZSBjxIN1dGFyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ0VzdGUgbmVjZXNhcmEgaW50cm9kdWNlcmVhIG51bWVsdWkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdPYmllY3R1bCBlc3RlIGNlcnV0ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnRm9ybWF0dWwgZXN0ZSBjZXJ1dCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnZXN0ZSBvYmxpZ2F0b3JpdSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ051IGF1IGZvc3QgZ8SDc2l0ZSBlbGVtZW50ZSBkZSBhc29jaWVyZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ0FkYXVnxIMgZWxlbWVudCBkZSBhc29jaWVyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ0xpbWl0ZWF6xIMgZXhwb3J0dWwgbGEgcmV6dWx0YXRlbGUgY8SDdXRhcmlpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0ltcG9ydMSDIGluZm9ybWHIm2lpbGUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdGaciZaWVyIHN1cnPEgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdTdGFydCBJbXBvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnUmV6dW1hdCBpbXBvcnQgcGVudHJ1ICVzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICfDjm5yZWdpc3RyxINyaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnU3VjY2VzJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ051bWUgZHVwbGljYXRlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnTnVtxINydWwgdWx0aW1laSBsaW5paSBwcm9jZXNhdGUgZGluIGZpyJlpZXJ1bCBkZSBpbXBvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICfnoa7lrponOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJ051IHNlIHBvYXRlIGludHJvZHVjZS9hY3R1YWxpemEgyJlhYmxvbiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnTmVjZXNhciBJRCDImGFibG9uISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnRXJvYXJlLiBJbXBvcnQgaW1wb3NpYmlsISBWZXppIFN5c2xvZyBwZW50cnUgZGV0YWxpaS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ0Vyb2FyZS4gRXhwb3J0IGltcG9zaWJpbCEgVmV6aSBTeXNsb2cgcGVudHJ1IGRldGFsaWkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICdMaXN0xIMgyJhhYmxvYW5lJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ251bWFyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnbnVtYXIgbWFpIG1hcmUgY2EgemVybyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnw65udHJlZyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICfDrm50cmVnIG1haSBtYXJlIGNhIHplcm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnRWxlbWVudCBuZWNlc2FyLCB0ZSByb2cgc2EgaW50cm9kdWNpIGRhdGVsZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJ0RhdGUgaW52YWxpZGUsIGludHJvZHUgZGF0ZSB2YWxpZGUgJXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICdGb3JtYXR1bCBudSBhIGZvc3QgZ2FzaXQhJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NlcGFyYXRvciBkZSBjb2xvYW7Egyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICdUYWJ1bGF0b3IgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ1B1bmN0IMiZaSB2aXJndWzEgyAoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnRG91xIMgcHVuY3RlICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnUHVuY3QgKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJ1Zpcmd1bMSDICgsKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnU2V0IGRlIGNhcmFjdGVyZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnSW5jbHVkZSBjYXB1bCBkZSB0YWJlbCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdDb2xvYW7Egyc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ+S4uuWvvOWFpS/lr7zlh7rmqKHlnZfnmoTmoLzlvI/lkI7nq6/mqKHlnZfms6jlhozjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0luZm9ybWHIm2lpIGRlIGltcG9ydC9leHBvcnQgYWxlIG9iaWVjdHVsdWkuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdJbXBvcnQvRXhwb3J0JzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/ru_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cnVfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn0KPQv9GA0LDQstC70LXQvdC40LUg0JjQvNC/0L7RgNGC0L7QvC/QrdC60YHQv9C+0YDRgtC+0LwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIHRlbXBsYXRlJ30gPSAn0JTQvtCx0LDQstC40YLRjCDRiNCw0LHQu9C+0L0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ9Ch0L7Qt9C00LDQudGC0LUg0YjQsNCx0LvQvtC9INC00LvRjyDQuNC80L/QvtGA0YLQsCDQuCDRjdC60YHQv9C+0YDRgtCwINC40L3RhNC+0YDQvNCw0YbQuNC4INC+0LHRitC10LrRgtC+0LInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAn0KjQsNCzIDEg0LjQtyA1IOKAlCDQuNC30LzQtdC90LjRgtGMINC+0LHRidGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJ9Co0LDQsyAyINC40LcgNSDigJQg0LjQt9C80LXQvdC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC+0LHRitC10LrRgtC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICfQqNCw0LMgMyDQuNC3IDUg4oCUINC40LfQvNC10L3QuNGC0Ywg0YTQvtGA0LzQsNGCINC40L3RhNC+0YDQvNCw0YbQuNC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAn0KjQsNCzIDQg0LjQtyA1IOKAlCDQuNC30LzQtdC90LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0L7Qv9C+0YHRgtCw0LLQu9C10L3QuNC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICfQqNCw0LMgNSDQuNC3IDUg4oCUINC40LfQvNC10L3QuNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L/QvtC40YHQutCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAn0KPQtNCw0LvQuNGC0Ywg0Y3RgtC+0YIg0YjQsNCx0LvQvtC9JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAn0KLRgNC10LHRg9C10YLRgdGPINC40LzRjyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ9Ce0LHRitC10LrRgiDQvtCx0Y/Qt9Cw0YLQtdC70LXQvSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJ9Ck0L7RgNC80LDRgiDQvtCx0Y/Qt9Cw0YLQtdC70LXQvSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAn0L7QsdGP0LfQsNGC0LXQu9C10L0hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICfQrdC70LXQvNC10L3RgtGLINC00LvRjyDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjyDQvdC1INC90LDQudC00LXQvdGLLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAn0JTQvtCx0LDQstGM0YLQtSDRjdC70LXQvNC10L3RgiDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ9Ce0LPRgNCw0L3QuNGH0LjRgtGMINGN0LrRgdC/0L7RgNGCINC/0L7QuNGB0LrQvtC8JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ9CY0L3RhNC+0YDQvNCw0YbQuNGPINC+0LEg0LjQvNC/0L7RgNGC0LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICfQmNGB0YXQvtC00L3Ri9C5INGE0LDQudC7JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ9Cd0LDRh9Cw0YLRjCDQuNC80L/QvtGA0YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAn0JjQvNC/0L7RgNGCINGB0L7QtNC10YDQttCw0L3QuNGPINC00LvRjyAlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAn0JfQsNC/0LjRgdC10LknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ9Cj0YHQv9C10YjQvdC+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ9CU0YPQsdC70LjRgNGD0Y7RidC40LUg0LjQvNC10L3QsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ9Cd0L7QvNC10YAg0L/QvtGB0LvQtdC00L3QtdC5INC+0LHRgNCw0LHQvtGC0LDQvdC90L7QuSDRgdGC0YDQvtC60Lgg0LjQvNC/0L7RgNGC0LjRgNGD0LXQvNC+0LPQviDRhNCw0LnQu9CwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnT2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAn0JTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YPQtNCw0LvRgtGMINGN0YLQvtGCINGI0LDQsdC70L7QvT8nOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICfQntCx0YrQtdC60YIg0L3QtSDQvdCw0LnQtNC10L0hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJ9CR0Y3QutGN0L3QtCDQvdC1INC90LDQudC00LXQvSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJ9Co0LDQsdC70L7QvSDQvdC1INC90LDQudC00LXQvSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAn0J3QtdCy0L7Qt9C80L7QttC90L4g0LTQvtCx0LDQstC40YLRjC/QvtCx0L3QvtCy0LjRgtGMINGI0LDQsdC70L7QvSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAn0KLRgNC10LHRg9C10YLRgdGPIElEINCo0LDQsdC70L7QvdCwISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAn0J7RiNC40LHQutCwLiDQmNC80L/QvtGA0YIg0L3QtdCy0L7Qt9C80L7QttC10L0hINCh0LzQvtGC0YDQuCDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4INCyIFN5c2xvZy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJ9Ce0YjQuNCx0LrQsC4g0K3QutGB0L/QvtGA0YIg0L3QtdCy0L7Qt9C80L7QttC10L0hINCh0LzQvtGC0YDQuCDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4INCyIFN5c2xvZy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ9Ch0L/QuNGB0L7QuiDRiNCw0LHQu9C+0L3QvtCyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ9C90L7QvNC10YAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICfQvdC+0LzQtdGAINCx0L7Qu9GM0YjQtSDQvdGD0LvRjyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAn0YbQtdC70L7QtSDRh9C40YHQu9C+JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ9GG0LXQu9C+0LUg0YfQuNGB0LvQviDQsdC+0LvRjNGI0LUg0L3Rg9C70Y8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAn0J7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C1INGN0LvQtdC80LXQvdGCLCDQv9C+0LbQsNC70YPQudGB0YLQsCDQstCy0LXQtNC40YLQtSDQtNCw0L3QvdGL0LUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAn0J3QtdCy0LXRgNC90YvQtSDQtNCw0L3QvdGL0LUsINC/0L7QttCw0LvRg9C50YHRgtCwLCDRg9C60LDQttC40YLQtSDQstC10YDQvdGL0LUgJXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICfQpNC+0YDQvNCw0YIg0L3QtSDQvdCw0LnQtNC10L0hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ9Cg0LDQt9C00LXQu9C40YLQtdC70YwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAn0KLQsNCx0YPQu9GP0YbQuNGPIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICfQotC+0YfQutCwINGBINC30LDQv9GP0YLQvtC5ICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICfQlNCy0L7QtdGC0L7Rh9C40LUgKDopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICfQotC+0YfQutCwICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICfQl9Cw0L/Rj9GC0LDRjyAoLCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ9Ca0L7QtNC40YDQvtCy0LrQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAn0JLQutC70Y7Rh9C40YLRjCDQt9Cw0LPQvtC70L7QstC60Lgg0YHRgtC+0LvQsdGG0L7Qsic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICfQodGC0L7Qu9Cx0LXRhiAnOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICdGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uINC00LvRjyDQvNC+0LTRg9C70Y8gaW1wb3J0L2V4cG9ydC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ9CY0LzQv9C+0YDRgiDQuCDRjdC60YHQv9C+0YDRgiDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtCxINC+0LHRitC10LrRgtCw0YUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ9CY0LzQv9C+0YDRgi/QrdC60YHQv9C+0YDRgic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/sk_SK_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6c2tfU0tfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ1ByaWRhxaUgxaFhYmzDs251JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnS3JvayAxIHogNSAtIFVwcmF2acWlIGJlxb5uw7ogaW5mb3Jtw6FjaXUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICdWeW1hemHFpSB0w7p0byDFoWFibMOzbnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdOw6F6b3YgamUgcG92aW5uw70hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdaYcSNYcWlIGltcG9ydCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1rDoXpuYW15JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnT2snOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICcnOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/sl_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6c2xfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/sr_Cyrl_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6c3JfQ3lybF9JbXBvcnRFeHBvcnQ7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICAjIFRUIFRlbXBsYXRlOiBLZXJuZWwvT3V0cHV0L0hUTUwvVGVtcGxhdGVzL1N0YW5kYXJkL0FkbWluSW1wb3J0RXhwb3J0LnR0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0IE1hbmFnZW1lbnQnfSA9ICfQo9Cy0L7Qty/QmNC30LLQvtC3INGD0L/RgNCw0LLRmdCw0ZrQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICfQlNC+0LTQsNGYINGI0LDQsdC70L7QvSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAn0JrRgNC10LjRgNCw0Zgg0YjQsNCx0LvQvtC9INC30LAg0YPQstC+0Lcg0Lgg0LjQt9Cy0L7QtyDQuNC90YTQvtGA0LzQsNGG0LjRmNCwINC+INC+0LHRmNC10LrRgtGDLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAn0JfQsCDQutC+0YDQuNGI0ZvQtdGa0LUg0L7QstC+0LMg0LzQvtC00YPQu9CwLCDQvNC+0YDQsNGC0LUg0LjQvdGB0YLQsNC70LjRgNCw0YLQuCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQg0LjQu9C4INC90LXQutC4INC00YDRg9Cz0Lgg0L/QsNC60LXRgiDQutC+0ZjQuCDQvtCx0LXQt9Cx0LXRktGD0ZjQtSDQv9C+0LfQsNC00LjQvdGB0LrQtSDQvNC+0LTRg9C70LUg0LfQsCDQtdC90YLQuNGC0LXRgtC1INGD0LLQvtC30LAg0Lgg0LjQt9Cy0L7Qt9CwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAn0JrQvtGA0LDQuiAxINC+0LQgNSAtINCj0YDQtdC00Lgg0LfQsNGY0LXQtNC90LjRh9C60LUg0LjQvdGE0L7RgNC80LDRhtC40ZjQtSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAn0JrQvtGA0LDQuiAyINC+0LQgNSAtINCj0YDQtdC00Lgg0LjQvdGE0L7RgNC80LDRhtC40ZjQtSDQviDQvtCx0ZjQtdC60YLRgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAn0JrQvtGA0LDQuiAzINC+0LQgNSAtINCj0YDQtdC00Lgg0LjQvdGE0L7RgNC80LDRhtC40ZjQtSDQviDRhNC+0YDQvNCw0YLRgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJ9Ca0L7RgNCw0LogNCDQvtC0IDUgLSDQo9GA0LXQtNC4INC40L3RhNC+0YDQvNCw0YbQuNGY0LUg0L4g0LzQsNC/0LjRgNCw0ZrRgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAn0JrQvtGA0LDQuiA1INC+0LQgNSAtINCj0YDQtdC00Lgg0LjQvdGE0L7RgNC80LDRhtC40ZjQtSDQt9CwINC/0YDQtdGC0YDQsNCz0YMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICfQntCx0YDQuNGI0Lgg0L7QstCw0Zgg0YjQsNCx0LvQvtC9JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAn0JjQvNC1INGY0LUg0L7QsdCw0LLQtdC30L3QviEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ9Ce0LHRmNC10LrRgiDRmNC1INC+0LHQsNCy0LXQt9Cw0L0hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICfQpNC+0YDQvNCw0YIg0ZjQtSDQvtCx0LDQstC10LfQsNC9ISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpcyByZXF1aXJlZCEnfSA9ICfRmNC1INC+0LHQsNCy0LXQt9C90L4hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICfQndC40ZjQtdC00LDQvSDQtdC70LXQvNC10L3RgiDQvNCw0L/QtSDQvdC40ZjQtSDQv9GA0L7QvdCw0ZLQtdC9Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAn0JTQvtC00LDRmCDQtdC70LXQvNC10L3RgiDQt9CwINC80LDQv9C40YDQsNGa0LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICfQntCz0YDQsNC90LjRh9C10ZrQtSDQuNC30LLQvtC30LAg0L/QviDQv9GA0LXRgtGA0LDQt9C4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ9Cj0LLQvtC3INC40L3RhNC+0YDQvNCw0YbQuNGY0LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICfQmNC30LLQvtGA0L3QsCDQtNCw0YLQvtGC0LXQutCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ9Cf0L7Rh9C90Lgg0YPQstC+0LcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAn0KDQtdC30LjQvNC1INGD0LLQvtC30LAg0LfQsCAlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAn0JfQsNC/0LjRgdC4JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICfQo9GB0L/QtdGI0L3Qvic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICfQlNGD0L/Qu9C40LrQsNGCINC40LzQtdC90LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICfQkdGA0L7RmCDQv9C+0YHQu9C10LTRmtC1INC+0LHRgNCw0ZLQtdC90LUg0LvQuNC90LjRmNC1INGD0LLQtdC30LXQvdC1INC00LDRgtC+0YLQtdC60LUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICfQoyDRgNC10LTRgyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICfQlNCwINC70Lgg0YHRgtCy0LDRgNC90L4g0LbQtdC70LjRgtC1INC00LAg0L7QsdGA0LjRiNC10YLQtSDQvtCy0LDRmCDRiNCw0LHQu9C+0L0/JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAn0J3QuNGY0LUg0L/RgNC+0L3QsNGS0LXQvSDQv9C+0LfQsNC00LjQvdGB0LrQuCDQvNC+0LTRg9C7INC+0LHRmNC10LrRgtCwISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICfQndC40ZjQtSDQv9GA0L7QvdCw0ZLQtdC9INC/0L7Qt9Cw0LTQuNC90YHQutC4INC80L7QtNGD0Lsg0YTQvtGA0LzQsNGC0LAhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICfQqNCw0LHQu9C+0L0g0L3QuNGY0LUg0L/RgNC+0L3QsNGS0LXQvSEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAn0KjQsNCx0LvQvtC9INGB0LUg0L3QtSDQvNC+0LbQtSDRg9C90LXRgtC4L9Cw0LbRg9GA0LjRgNCw0YLQuCEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAn0J/QvtGC0YDQtdCx0LDQvSDQmNCUINGI0LDQsdC70L7QvdCwISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAn0JTQvtCz0L7QtNC40LvQsCDRgdC1INCz0YDQtdGI0LrQsC4g0KPQstC+0Lcg0ZjQtSDQvdC10LzQvtCz0YPRmyEg0JfQsCDQtNC10YLQsNGZ0LUg0L/QvtCz0LvQtdC00LDRmNGC0LUg0YMg0YHQuNGB0YLQtdC80YHQutC4INC00L3QtdCy0L3QuNC6Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAn0JTQvtCz0L7QtNC40LvQsCDRgdC1INCz0YDQtdGI0LrQsC4g0JjQt9Cy0L7QtyDRmNC1INC90LXQvNC+0LPRg9GbISDQl9CwINC00LXRgtCw0ZnQtSDQv9C+0LPQu9C10LTQsNGY0YLQtSDRgyDRgdC40YHRgtC10LzRgdC60Lgg0LTQvdC10LLQvdC40LouJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICfQm9C40YHRgtCwINGI0LDQsdC70L7QvdCwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJ9Cx0YDQvtGYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAn0LHRgNC+0Zgg0LLQtdGb0Lgg0L7QtCDQvdGD0LvQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAn0YbQtdC+INCx0YDQvtGYJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJ9GG0LXQviDQsdGA0L7RmCDQstC10ZvQuCDQvtC0INC90YPQu9CwJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJ9Cd0LXQvtC/0YXQvtC00LDQvSDQtdC70LXQvNC10L3Rgiwg0LzQvtC70LjQvNC+INGD0L3QtdGB0LjRgtC1INC/0L7QtNCw0YLQutC1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAn0J3QtdC40YHQv9GA0LDQstC90Lgg0L/QvtC00LDRhtC4LCDRg9C90LXRgdC10YLQtSDQstCw0LbQtdGb0LggJXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICfQpNC+0YDQvNCw0YIg0L3QuNGY0LUg0L/RgNC+0L3QsNGS0LXQvSEnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAn0KHQtdC/0LDRgNCw0YLQvtGAINC60L7Qu9C+0L3QsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICfQotCw0LHRg9C70LDRgtC+0YAgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ9Ci0LDRh9C60LAg0Lgg0LfQsNC/0LXRgtCwICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICfQlNCy0L7RgtCw0YfQutCwICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAn0KLQsNGH0LrQsCAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAn0JfQsNGA0LXQtyAoLCknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ9Ca0LDRgNCw0LrRgtC10YDRgdC10YInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJ9Cj0LrRmdGD0YfQuCDQvdCw0YHQu9C+0LLQtSDQutC+0LvQvtC90LAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAn0JrQvtC70L7QvdCwJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAn0JHRgNC40YHQsNGa0LUg0YjQsNCx0LvQvtC90LAuLi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAn0JPRgNC10YjQutCwINC/0YDQuNC70LjQutC+0Lwg0LHRgNC40YHQsNGa0LAg0YjQsNCx0LvQvtC90LAuINCc0L7Qu9C40LzQviDQv9GA0L7QstC10YDQuNGC0LUg0LvQvtCzINC00LDRgtC+0YLQtdC60YMg0LfQsCDQstC40YjQtSDQuNC90YTQvtGA0LzQsNGG0LjRmNCwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAn0KjQsNCx0LvQvtC9INGY0LUg0YPRgdC/0LXRiNC90L4g0L7QsdGA0LjRgdCw0L0uJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAn0KTQvtGA0LzQsNGCINGA0LXQs9C40YHRgtGA0LDRhtC40ZjQtSDigJ5iYWNrZW5k4oCdINC80L7QtNGD0LvQsCDQt9CwINGD0LLQvtC3L9C40LfQstC+0Lcg0LzQvtC00YPQuy4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ9CY0L3RhNC+0YDQvNCw0YbQuNGY0LUg0L4g0YPQstC+0LfRgyDQuCDQuNC30LLQvtC30YMg0L7QsdGY0LXQutCw0YLQsCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAn0KPQstC+0Lcv0JjQt9Cy0L7Qtyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/sr_Latn_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6c3JfTGF0bl9JbXBvcnRFeHBvcnQ7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICAjIFRUIFRlbXBsYXRlOiBLZXJuZWwvT3V0cHV0L0hUTUwvVGVtcGxhdGVzL1N0YW5kYXJkL0FkbWluSW1wb3J0RXhwb3J0LnR0CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0IE1hbmFnZW1lbnQnfSA9ICdVdm96L0l6dm96IHVwcmF2bGphbmplJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ0RvZGFqIMWhYWJsb24nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0tyZWlyYWogxaFhYmxvbiB6YSB1dm96IGkgaXp2b3ogaW5mb3JtYWNpamEgbyBvYmpla3R1Lic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnWmEga29yacWhxIdlbmplIG92b2cgbW9kdWxhLCBtb3JhdGUgaW5zdGFsaXJhdGkgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IGlsaSBuZWtpIGRydWdpIHBha2V0IGtvamkgb2JlemJlxJF1amUgcG96YWRpbnNrZSBtb2R1bGUgemEgZW50aXRldGUgdXZvemEgaSBpenZvemEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICdLb3JhayAxIG9kIDUgLSBVcmVkaSB6YWplZG5pxI1rZSBpbmZvcm1hY2lqZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnS29yYWsgMiBvZCA1IC0gVXJlZGkgaW5mb3JtYWNpamUgbyBvYmpla3R1JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICdLb3JhayAzIG9kIDUgLSBVcmVkaSBpbmZvcm1hY2lqZSBvIGZvcm1hdHUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICdLb3JhayA0IG9kIDUgLSBVcmVkaSBpbmZvcm1hY2lqZSBvIG1hcGlyYW5qdSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnS29yYWsgNSBvZCA1IC0gVXJlZGkgaW5mb3JtYWNpamUgemEgcHJldHJhZ3UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICdPYnJpxaFpIG92YWogxaFhYmxvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ0ltZSBqZSBvYmF2ZXpubyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ09iamVrdCBqZSBvYmF2ZXphbiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJ0Zvcm1hdCBqZSBvYmF2ZXphbiEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnamUgb2JhdmV6bm8hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICdOaWplZGFuIGVsZW1lbnQgbWFwZSBuaWplIHByb25hxJFlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ0RvZGFqIGVsZW1lbnQgemEgbWFwaXJhbmplJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Jlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoJ30gPSAnT2dyYW5pxI1lbmplIGl6dm96YSBwbyBwcmV0cmF6aSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICdVdm96IGluZm9ybWFjaWphJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnSXp2b3JuYSBkYXRvdGVrYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdQb8SNbmkgdXZveic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICdSZXppbWUgdXZvemEgemEgJXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ1phcGlzaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnVXNwZcWhbm8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnRHVwbGlrYXQgaW1lbmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICdCcm9qIHBvc2xlZG5qZSBvYnJhxJFlbmUgbGluaWplIHV2ZXplbmUgZGF0b3Rla2UnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdVIHJlZHUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnRGEgbGkgc3R2YXJubyDFvmVsaXRlIGRhIG9icmnFoWV0ZSBvdmFqIMWhYWJsb24/JzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnTmlqZSBwcm9uYcSRZW4gcG96YWRpbnNraSBtb2R1bCBvYmpla3RhISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICdOaWplIHByb25hxJFlbiBwb3phZGluc2tpIG1vZHVsIGZvcm1hdGEhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICfFoGFibG9uIG5pamUgcHJvbmHEkWVuISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICfFoGFibG9uIHNlIG5lIG1vxb5lIHVuZXRpL2HFvnVyaXJhdGkhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJ1BvdHJlYmFuIElEIMWhYWJsb25hISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnRG9nb2RpbGEgc2UgZ3JlxaFrYS4gVXZveiBqZSBuZW1vZ3XEhyEgWmEgZGV0YWxqZSBwb2dsZWRhanRlIHUgc2lzdGVtc2tpIGRuZXZuaWsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICdEb2dvZGlsYSBzZSBncmXFoWthLiBJenZveiBqZSBuZW1vZ3XEhyEgWmEgZGV0YWxqZSBwb2dsZWRhanRlIHUgc2lzdGVtc2tpIGRuZXZuaWsuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICdMaXN0YSDFoWFibG9uYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICdicm9qJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnYnJvaiB2ZcSHaSBvZCBudWxhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICdjZW8gYnJvaic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICdjZW8gYnJvaiB2ZcSHaSBvZCBudWxhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJ05lb3Bob2RhbiBlbGVtZW50LCBtb2xpbW8gdW5lc2l0ZSBwb2RhdGtlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnTmVpc3ByYXZuaSBwb2RhY2ksIHVuZXNldGUgdmHFvmXEh2kgJXMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICdGb3JtYXQgbmlqZSBwcm9uYcSRZW4hJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1NlcGFyYXRvciBrb2xvbmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnVGFidWxhdG9yIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdUYcSNa2EgaSB6YXBldGEgKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ0R2b3RhxI1rYSAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1RhxI1rYSAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAnWmFyZXogKCwpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYXJzZXQnfSA9ICdLYXJha3RlcnNldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbmNsdWRlIENvbHVtbiBIZWFkZXJzJ30gPSAnVWtsanXEjWkgbmFzbG92ZSBrb2xvbmEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnS29sb25hJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnQnJpc2FuamUgxaFhYmxvbmEuLi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnR3JlxaFrYSBwcmlsaWtvbSBicmlzYW5qYSDFoWFibG9uYS4gTW9saW1vIHByb3Zlcml0ZSBsb2cgZGF0b3Rla3UgemEgdmnFoWUgaW5mb3JtYWNpamEuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICfFoGFibG9uIGplIHVzcGXFoW5vIG9icmlzYW4uJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnRm9ybWF0IHJlZ2lzdHJhY2lqZSDigJ5iYWNrZW5k4oCdIG1vZHVsYSB6YSB1dm96L2l6dm96IG1vZHVsLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnSW5mb3JtYWNpamUgbyB1dm96dSBpIGl6dm96dSBvYmpla2F0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnVXZvei9JenZveic7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/sv_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6c3ZfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnSGFudGVyaW5nIGF2IEltcG9ydC9FeHBvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIHRlbXBsYXRlJ30gPSAnTMOkZ2cgdGlsbCBtYWxsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdTa2FwYSBlbiBtYWxsIGbDtnIgYXR0IGltcG9ydGVyYSBvY2ggZXhwb3J0ZXJhIG9iamVrdGluZm9ybWF0aW9uLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICdOYW1uIGtyw6R2cyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ09iamVrdCBrcsOkdnMhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICdGb3JtYXQga3LDpHZzISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpcyByZXF1aXJlZCEnfSA9ICdrcsOkdnMhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICdJbXBvcnRpbmZvcm1hdGlvbic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0vDpGxsZmlsJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ1N0YXJ0YSBpbXBvcnQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IHN1bW1hcnkgZm9yICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICdQb3N0ZXInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ0x5Y2thZCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdVcHByZXBhIG5hbW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICdPayc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ0tvbHVtbi1hdnNraWxqYXJlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnU2VtaWtvbG9uICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdLb2xvbiAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ1B1bmt0ICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ1RlY2tlbmtvZG5pbmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW5jbHVkZSBDb2x1bW4gSGVhZGVycyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdLb2x1bW4nOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0ltcG9ydGVyYSBvY2ggZXhwb3J0ZXJhIG9iamVrdGluZm9ybWF0aW9uLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnSW1wb3J0L0V4cG9ydCc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/sw_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6c3dfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnVXNpbWFtaXppIHdhIGt1bGV0YS9IYW1pc2hhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ09uZ2V6YSBraWVsZXpvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICdUZW5nZW5lemEga2lvbGV6byBrdWxldGEgbmEga3VoYW1pc2hhIHRhYXJpZmEgemEga2lwZW5nZWUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAnSmluYSBsaW5haGl0YWppa2EhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09iamVjdCBpcyByZXF1aXJlZCEnfSA9ICdLaXBlbmdlZSBraW5haGl0YWppa2EhJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICdVbWJpem8gdW5haGl0YWppa2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnSW5haGl0YWppa2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ0hha3VuYSBlbGVtZW50aSB6aWxpem9wYXRpa2FuYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnT25nZXphIGVsZW1lbnRpIHphIGt1d2VrYSByYW1hbmknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICdadWlhIHVoYW1pc2hhamkga3dhIGtpbGEgdXRhZnV0YWppJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ0xldGEgdGFhcmlmYSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTb3VyY2UgRmlsZSd9ID0gJ0ZhaWxpIGxhIGNoYW56byc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGFydCBJbXBvcnQnfSA9ICdBbnphIGt1bGV0YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ0t1bWJ1a3VtYnUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ01hZmFuaWtpbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICdKaW5hIGxpbWVqaXJ1ZGlhOic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ05hbWJhIHlhIG1zdGFyaSB1bmFva2F0aWthIG1jaGFrYXRvIHdhIG13aXNobyB3YSBmYWlsaSBsaWxpbG9sZXR3YSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJ1Nhd2EnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZWVkZWQgVGVtcGxhdGVJRCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gRXhwb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIExpc3QnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbnZhbGlkIGRhdGEsIHBsZWFzZSBpbnNlcnQgYSB2YWxpZCAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICdLaXRlbmdhbmlzaGkgc2FmdSB3aW1hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ1RhYm8gKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ0FsYW1hIHlhIG51a3RhIG1rYXRvICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdDb2xvbiAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ051a3RhICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ1NldGkgeWEgaGVydWZpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdBbWJhdGlzaGEgdmljaHdhIHZ5YSBoYWJhcmkgdnlhIHNhZnV3aW1hJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbid9ID0gJ1NhZnV3aW1hJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnVW1iaXphIHVzYWppbGkgd2EgbW9kdWxpIHdhIG1hemluZ2lyYSB5YSBueXVtYSBrd2EgYWppbGkgeWEgbW9kdWxpIHlhIGt1bGV0YS9rdWhhbWlzaGEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ0xldGEgbmEgaGFtaXNoYSB0YWFyaWZhIHphIGtpcGVuZ2VlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICdMZXRhL0hhbWlzaGEnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/th_TH_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6dGhfVEhfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn4LiB4Liy4Lij4LiI4Lix4LiU4LiB4Liy4LijIOC4meC4s+C5gOC4guC5ieC4si/guKrguYjguIfguK3guK3guIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIHRlbXBsYXRlJ30gPSAn4LmA4Lie4Li04LmI4Lih4LmB4Lih4LmI4LmB4Lia4LiaJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NyZWF0ZSBhIHRlbXBsYXRlIHRvIGltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICfguKrguKPguYnguLLguIfguYHguKHguYjguYHguJrguJrguYDguJ7guLfguYjguK3guJnguLPguYDguILguYnguLLguYHguKXguLDguKrguYjguIfguK3guK3guIHguILguYnguK3guKHguLnguKXguK3guK3guJrguYDguIjguIHguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbmVlZCB0byBpbnN0YWxsIElUU01Db25maWd1cmF0aW9uTWFuYWdlbWVudCBvciBhbnkgb3RoZXIgcGFja2FnZSB0aGF0IHByb3ZpZGVzIGJhY2sgZW5kIGZvciBvYmplY3RzIHRvIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZC4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDEgb2YgNSAtIEVkaXQgY29tbW9uIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAzIG9mIDUgLSBFZGl0IGZvcm1hdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDQgb2YgNSAtIEVkaXQgbWFwcGluZyBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0ZSB0aGlzIHRlbXBsYXRlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05hbWUgaXMgcmVxdWlyZWQhJ30gPSAn4LiV4LmJ4Lit4LiH4Lij4Liw4Lia4Li44LiK4Li34LmI4LitISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAn4LiV4LmJ4Lit4LiH4Lij4Liw4Lia4Li44Lit4Lit4Lia4LmA4LiI4LiB4LiV4LmMISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAn4LiV4LmJ4Lit4LiH4Lij4Liw4Lia4Li44Lij4Li54Lib4LmB4Lia4LiaISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpcyByZXF1aXJlZCEnfSA9ICfguJXguYnguK3guIfguKPguLDguJrguLghJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICfguYTguKHguYjguJ7guJrguK3guIfguITguYzguJvguKPguLDguIHguK3guJrguYHguJzguJnguJfguLXguYgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ+C5gOC4nuC4tOC5iOC4oeC4reC4h+C4hOC5jOC4m+C4o+C4sOC4geC4reC4muC4guC4reC4h+C4geC4suC4o+C4l+C4s+C5geC4nOC4meC4l+C4teC5iCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ+C4geC4suC4o+C4iOC4s+C4geC4seC4lOC4geC4suC4o+C4quC5iOC4h+C4reC4reC4geC4leC4suC4oeC4geC4suC4o+C4hOC5ieC4meC4q+C4sic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICfguILguYnguK3guKHguLnguKXguJnguLPguYDguILguYnguLInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICfguYHguKvguKXguYjguIfguYTguJ/guKXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAn4LmA4Lij4Li04LmI4Lih4LiZ4Liz4LmA4LiC4LmJ4LiyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAn4LiB4Liy4Lij4Lia4Lix4LiZ4LiX4Li24LiBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICfguITguKfguLLguKHguKrguLPguYDguKPguYfguIgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAn4LiK4Li34LmI4Lit4LiL4LmJ4LizJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAn4Lir4Lih4Liy4Lii4LmA4Lil4LiC4LiC4Lit4LiH4LiB4Liy4Lij4Lib4Lij4Liw4Lih4Lin4Lil4LiE4Lij4Lix4LmJ4LiH4Liq4Li44LiU4LiX4LmJ4Liy4Lii4LiC4Lit4LiH4LiB4Liy4Lij4LiZ4Liz4LmE4Lif4Lil4LmM4LmA4LiC4LmJ4LiyJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAn4LmC4Lit4LmA4LiEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAn4LiV4Lix4Lin4LiE4Lix4LmI4LiZ4LiE4Lit4Lil4Lix4Lih4LiZ4LmMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ+C4leC4seC4p+C4l+C4s+C4leC4suC4o+C4suC4hyjguYHguJfguYfguJopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICfguYDguITguKPguLfguYjguK3guIfguKvguKHguLLguKLguK3guLHguJLguKDguLLguIQoOyknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sb24gKDopJ30gPSAn4LmA4LiE4Lij4Li34LmI4Lit4LiH4Lir4Lih4Liy4Lii4LiX4Lin4Li04Lig4Liy4LiEICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAn4LiI4Li44LiUKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAn4LmA4LiL4LiV4LiE4Liy4LmA4Lij4LiB4LmA4LiV4Lit4Lij4LmMJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICfguKPguKfguKHguJfguLHguYnguIfguKrguYjguKfguJnguKvguLHguKfguILguK3guIfguITguK3guKXguLHguKHguJnguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAn4LiE4Lit4Lil4Lix4Lih4LiZ4LmMJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAn4Lij4Li54Lib4LmB4Lia4Lia4LiB4Liy4Lij4Lil4LiH4LiX4Liw4LmA4Lia4Li14Lii4LiZ4LmC4Lih4LiU4Li54LilIGJhY2tlbmQg4Liq4Liz4Lir4Lij4Lix4Lia4LmC4Lih4LiU4Li54Lil4LiB4Liy4Lij4LiZ4Liz4LmA4LiC4LmJ4LiyIC8g4Liq4LmI4LiH4Lit4Lit4LiBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICfguIHguLLguKPguJnguLPguYDguILguYnguLLguKvguKPguLfguK3guKrguYjguIfguK3guK3guIHguILguYnguK3guKHguLnguKXguK3guK3guJrguYDguIjguIHguJXguYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ+C4geC4suC4o+C4meC4s+C5gOC4guC5ieC4si/guKrguYjguIfguK3guK3guIEnOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Language/tr_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6dHJfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWNvcmRzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N1Y2Nlc3MnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRHVwbGljYXRlIG5hbWVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAnJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJyc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/uk_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6dWtfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJ9CU0L7QtNCw0YLQuCDRiNCw0LHQu9C+0L0nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ9Cg0L7Qt9C0adC70YzQvdC40Log0YHRgtC+0LLQv9GH0LjQumnQsic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUYWJ1bGF0b3IgKFRBQiknfSA9ICfQotCw0LHRg9C70Y/RgtC+0YAgKFRBQiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2VtaWNvbG9uICg7KSd9ID0gJ9Ca0YDQsNC/0LrQsCDQtyDQutC+0LzQvtGOICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICfQlNCy0L7QutGA0LDQv9C60LAgKDopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICfQmtGA0LDQv9C60LAgKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAn0JrQvtC00YPQstCw0L3QvdGPJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAn0JrQvtC70L7QvdC60LAnOwoKICAgICMgSlMgRmlsZTogdmFyL2h0dHBkL2h0ZG9jcy9qcy9JVFNNLkFkbWluLkltcG9ydEV4cG9ydC5qcwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRpbmcgdGVtcGxhdGUuLi4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nfSA9ICcnOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgYmFja2VuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgaW1wb3J0L2V4cG9ydCBtb2R1bGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnJzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/vi_VN_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6dmlfVk5fSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAnUXXhuqNuIGzDvSBOaOG6rXAvWHXhuqV0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDcmVhdGUgYSB0ZW1wbGF0ZSB0byBpbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAnVOG6oW8gbeG7mXQgbeG6q3UgxJHhu4Mgbmjhuq1wIHbDoCB4deG6pXQgdGjDtG5nIHRpbiDEkeG7kWkgdMaw4bujbmcuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RvIHVzZSB0aGlzIG1vZHVsZSwgeW91IG5lZWQgdG8gaW5zdGFsbCBJVFNNQ29uZmlndXJhdGlvbk1hbmFnZW1lbnQgb3IgYW55IG90aGVyIHBhY2thZ2UgdGhhdCBwcm92aWRlcyBiYWNrIGVuZCBmb3Igb2JqZWN0cyB0byBiZSBpbXBvcnRlZCBhbmQgZXhwb3J0ZWQuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDIgb2YgNSAtIEVkaXQgb2JqZWN0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCA1IG9mIDUgLSBFZGl0IHNlYXJjaCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ1nDqnUgY+G6p3UgcGjhuqNpIGPDsyB0w6puISc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAnWcOqdSBj4bqndSBwaOG6o2kgY8OzIMSR4buRaSB0xrDhu6NuZyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGlzIHJlcXVpcmVkISd9ID0gJ1nDqnUgY+G6p3UgcGjhuqNpIGPDsyDEkeG7i25oIGThuqFuZyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAnbMOgIGLhuq90IGJ14buZYyEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gbWFwIGVsZW1lbnRzIGZvdW5kLid9ID0gJ0tow7RuZyB0w6xtIHRo4bqleSDEkeG7kWkgdMaw4bujbmcgbWFwLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgTWFwcGluZyBFbGVtZW50J30gPSAnVGjDqm0gxJHhu5FpIHTGsOG7o25nIG1hcHBpbmcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICdHaeG7m2kgaOG6oW4gZOG7ryBsaeG7h3UgeHXhuqV0IG3hu5dpIGzhuqduIHTDrG0ga2nhur9tJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBpbmZvcm1hdGlvbid9ID0gJ1Row7RuZyB0aW4gbmjhuq1wIHbDoG8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICdU4buHcCBuZ3Xhu5NuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ0Lhuq90IMSR4bqndSBuaOG6rXAgdsOgbyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ0LhuqNuIGdoaSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAnVGjDoG5oIGPDtG5nJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ1Ryw7luZyB0w6puJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0xhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlJ30gPSAnRMOybmcgY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIHjhu60gbMO9IHRyb25nIHThu4dwIG5o4bqtcCB2w6BvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J09rJ30gPSAnxJDhu5NuZyDDvSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgdGVtcGxhdGUgaXRlbT8nfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9Nb2R1bGVzL0FkbWluSW1wb3J0RXhwb3J0LnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RlbXBsYXRlIG5vdCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2FuXCd0IGluc2VydC91cGRhdGUgdGVtcGxhdGUhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05lZWRlZCBUZW1wbGF0ZUlEISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRWxlbWVudCByZXF1aXJlZCwgcGxlYXNlIGluc2VydCBkYXRhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBub3QgZm91bmQhJ30gPSAnJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvU3lzdGVtL0ltcG9ydEV4cG9ydC9Gb3JtYXRCYWNrZW5kL0NTVi5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uIFNlcGFyYXRvcid9ID0gJ1Bow6JuIGPDoWNoIGPhu5l0JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ0Lhu5kgbOG6rXAgYuG6o25nIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICdE4bqldSBjaOG6pW0gcGjhuql5ICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICdE4bqldSBoYWkgY2jhuqVtICg6KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEb3QgKC4pJ30gPSAnROG6pXUgY2jhuqVtICguKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb21tYSAoLCknfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhcnNldCd9ID0gJ0Lhu5kgbcOjIGvDvSB04buxJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICdH4buTbSB0acOqdSDEkeG7gSBj4buZdCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4nfSA9ICdD4buZdCc7CgogICAgIyBKUyBGaWxlOiB2YXIvaHR0cGQvaHRkb2NzL2pzL0lUU00uQWRtaW4uSW1wb3J0RXhwb3J0LmpzCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGluZyB0ZW1wbGF0ZS4uLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5Lid9ID0gJyc7CgogICAgIyBTeXNDb25maWcKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBiYWNrZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBpbXBvcnQvZXhwb3J0IG1vZHVsZS4nfSA9CiAgICAgICAgJ8SQxINuZyBrw70gbcO0LcSRdW4gxJHhu4tuaCBk4bqhbmcgbuG7gW4gY2hvIG3DtC3EkXVuIG5o4bqtcC94deG6pXQnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ1Row7RuZyB0aW4gbmjhuq1wIHbDoCB4deG6pXQgxJHhu5FpIHTGsOG7o25nLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQvRXhwb3J0J30gPSAnTmjhuq1wL1h14bqldCc7CgoKICAgIHB1c2ggQHsgJFNlbGYtPntKYXZhU2NyaXB0U3RyaW5nc30gLy8gW10gfSwgKAogICAgJ0NhbmNlbCcsCiAgICAnRGVsZXRlJywKICAgICdEZWxldGUgdGhpcyB0ZW1wbGF0ZScsCiAgICAnRGVsZXRpbmcgdGVtcGxhdGUuLi4nLAogICAgJ1RlbXBsYXRlIHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nLAogICAgJ1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAogICAgKTsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Language/zh_CN_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6emhfQ05fSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn5a+85YWlL+WvvOWHuueuoeeQhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICfmt7vliqDmqKHmnb8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ+WIm+W7uuaooeadv+WvvOWFpeWSjOWvvOWHuuWvueixoeS/oeaBr+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAn6KaB5L2/55So5q2k5qih5Z2X77yM5oKo6ZyA6KaB5a6J6KOFSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW505oiW5Li66KaB5a+85YWl5ZKM5a+85Ye655qE5a+56LGh5o+Q5L6b5ZCO56uv55qE5Lu75L2V5YW25a6D6L2v5Lu25YyF44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICfmraXpqqQgMS81IC0g57yW6L6R6YCa55So5L+h5oGvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24nfSA9ICfmraXpqqQgMi81IC0g57yW6L6R5a+56LGh5L+h5oGvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMyBvZiA1IC0gRWRpdCBmb3JtYXQgaW5mb3JtYXRpb24nfSA9ICfmraXpqqQgMy81IC0g57yW6L6R5qC85byP5L+h5oGvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAn5q2l6aqkIDQvNSAtIOe8lui+keaYoOWwhOS/oeaBryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uJ30gPSAn5q2l6aqkIDUvNSAtIOe8lui+keaQnOe0ouS/oeaBryc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWxldGUgdGhpcyB0ZW1wbGF0ZSd9ID0gJ+WIoOmZpOatpOaooeadvyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOYW1lIGlzIHJlcXVpcmVkISd9ID0gJ+WQjeensOaYr+W/hemcgOeahO+8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPYmplY3QgaXMgcmVxdWlyZWQhJ30gPSAn5a+56LGh5piv5b+F6ZyA55qE77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Zvcm1hdCBpcyByZXF1aXJlZCEnfSA9ICfmoLzlvI/mmK/lv4XpnIDnmoTvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaXMgcmVxdWlyZWQhJ30gPSAn5piv5b+F6ZyA55qE77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG1hcCBlbGVtZW50cyBmb3VuZC4nfSA9ICfmsqHmnInmib7liLDmmKDlsITnmoTlhYPntKDjgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWRkIE1hcHBpbmcgRWxlbWVudCd9ID0gJ+a3u+WKoOaYoOWwhOWFg+e0oCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXN0cmljdCBleHBvcnQgcGVyIHNlYXJjaCd9ID0gJ+aMieaQnOe0oumZkOWItuWvvOWHuic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgaW5mb3JtYXRpb24nfSA9ICflr7zlhaXkv6Hmga8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU291cmNlIEZpbGUnfSA9ICfmupDmlofku7YnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RhcnQgSW1wb3J0J30gPSAn5byA5aeL5a+85YWlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBzdW1tYXJ5IGZvciAlcyd9ID0gJyVz55qE5a+85YWl5pGY6KaBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1JlY29yZHMnfSA9ICforrDlvZUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3VjY2Vzcyd9ID0gJ+aIkOWKnyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEdXBsaWNhdGUgbmFtZXMnfSA9ICfph43lpI3nmoTlkI3np7AnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTGFzdCBwcm9jZXNzZWQgbGluZSBudW1iZXIgb2YgaW1wb3J0IGZpbGUnfSA9ICflr7zlhaXmlofku7bmnIDlkI7lpITnkIbnmoTooYzmlbAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2snfSA9ICfnoa7lrponOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/J30gPSAn5oKo55yf55qE5oOz6KaB5Yig6Zmk6L+Z5Liq5qih5p2/5p2h55uu5ZCX77yfJzsKCiAgICAjIFBlcmwgTW9kdWxlOiBLZXJuZWwvTW9kdWxlcy9BZG1pbkltcG9ydEV4cG9ydC5wbQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJ30gPSAn5rKh5pyJ5om+5Yiw5a+56LGh55qE5ZCO56uv77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kISd9ID0gJ+ayoeacieaJvuWIsOagvOW8j+eahOWQjuerr++8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBub3QgZm91bmQhJ30gPSAn5rKh5pyJ5om+5Yiw5qih5p2/77yBJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlISd9ID0gJ+S4jeiDveaPkuWFpS/mm7TmlrDmqKHmnb/vvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAn6ZyA6KaBVGVtcGxhdGVJRO+8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFcnJvciBvY2N1cnJlZC4gSW1wb3J0IGltcG9zc2libGUhIFNlZSBTeXNsb2cgZm9yIGRldGFpbHMuJ30gPSAn5Ye6546w6ZSZ6K+v77yM5LiN6IO95a+85YWl77yB5p+l55yLU3lzbG9n6I635Y+W6K+m57uG5L+h5oGv44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICflh7rnjrDplJnor6/vvIzkuI3og73lr7zlh7rvvIHmn6XnnItTeXNsb2fojrflj5bor6bnu4bkv6Hmga/jgIInOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgTGlzdCd9ID0gJ+aooeadv+WIl+ihqCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXInfSA9ICfmlbDlrZcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnbnVtYmVyIGJpZ2dlciB0aGFuIHplcm8nfSA9ICfmlbDlrZflpKfkuo4wJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXInfSA9ICfmlbTmlbAnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnaW50ZWdlciBiaWdnZXIgdGhhbiB6ZXJvJ30gPSAn5pW05pWw5aSn5LqOMCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICfpnIDopoHlhYPntKDvvIzor7fmj5LlhaXmlbDmja4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICfml6DmlYjnmoTmlbDmja7vvIzor7fmj5LlhaXkuIDkuKrmnInmlYjnmoQlcyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgbm90IGZvdW5kISd9ID0gJ+ayoeacieaJvuWIsOagvOW8j++8gSc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL1N5c3RlbS9JbXBvcnRFeHBvcnQvRm9ybWF0QmFja2VuZC9DU1YucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbHVtbiBTZXBhcmF0b3InfSA9ICfliJfliIbpmpTnrKYnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGFidWxhdG9yIChUQUIpJ30gPSAnVEFC6ZSuIChUQUIpJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NlbWljb2xvbiAoOyknfSA9ICfliIblj7cgKDspJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbG9uICg6KSd9ID0gJ+WGkuWPtyAoOiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRG90ICguKSd9ID0gJ+WPpeWPtyAoLiknOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29tbWEgKCwpJ30gPSAn6YCX5Y+377yILO+8iSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAn5a2X56ym6ZuGJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICfljIXmi6zliJfmoIfpopgnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAn5YiXJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAn5q2j5Zyo5Yig6Zmk5qih5p2/4oCm4oCmJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJ+WIoOmZpOaooeadv+aXtuWHuumUme+8jOivt+ajgOafpeaXpeW/l+S7peiOt+WPluabtOWkmuS/oeaBr+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAn5qih5p2/5bey5oiQ5Yqf5Yig6Zmk44CCJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAn5Li65a+85YWlL+WvvOWHuuaooeWdl+eahOagvOW8j+WQjuerr+aooeWdl+azqOWGjOOAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgYW5kIGV4cG9ydCBvYmplY3QgaW5mb3JtYXRpb24uJ30gPSAn5a+85YWl5ZKM5a+85Ye65a+56LGh5L+h5oGv44CCJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydC9FeHBvcnQnfSA9ICflr7zlhaUv5a+85Ye6JzsKCgogICAgcHVzaCBAeyAkU2VsZi0+e0phdmFTY3JpcHRTdHJpbmdzfSAvLyBbXSB9LCAoCiAgICAnQ2FuY2VsJywKICAgICdEZWxldGUnLAogICAgJ0RlbGV0ZSB0aGlzIHRlbXBsYXRlJywKICAgICdEZWxldGluZyB0ZW1wbGF0ZS4uLicsCiAgICAnVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicsCiAgICAnVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCiAgICApOwoKfQoKMTsK</File>
        <File Permission="660" Location="Kernel/Language/zh_TW_ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAyMSBabnVueSBHbWJILCBodHRwczovL3pudW55Lm9yZy8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6emhfVFdfSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgIyBUVCBUZW1wbGF0ZTogS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkltcG9ydEV4cG9ydC50dAogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50J30gPSAn5bCO5YWlL+WwjuWHuueuoeeQhic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBZGQgdGVtcGxhdGUnfSA9ICfmt7vliqDmqKHmnb8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLid9ID0gJ+WJteW7uuaooeadv+WwjuWFpeWSjOWwjuWHuuWwjeixoeS/oeaBr+OAgic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgMSBvZiA1IC0gRWRpdCBjb21tb24gaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU3RlcCAyIG9mIDUgLSBFZGl0IG9iamVjdCBpbmZvcm1hdGlvbid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNCBvZiA1IC0gRWRpdCBtYXBwaW5nIGluZm9ybWF0aW9uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0ZXAgNSBvZiA1IC0gRWRpdCBzZWFyY2ggaW5mb3JtYXRpb24nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVsZXRlIHRoaXMgdGVtcGxhdGUnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmFtZSBpcyByZXF1aXJlZCEnfSA9ICflkI3nqLHmmK/lv4XpnIDnmoTvvIEnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnT2JqZWN0IGlzIHJlcXVpcmVkISd9ID0gJ+WwjeixoeaYr+W/hemcgOeahO+8gSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydGb3JtYXQgaXMgcmVxdWlyZWQhJ30gPSAn5qC85byP5piv5b+F6ZyA55qEJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2lzIHJlcXVpcmVkISd9ID0gJ+W/hemcgOeahCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBtYXAgZWxlbWVudHMgZm91bmQuJ30gPSAn5rKS5pyJ5om+5Yiw5pig5bCE55qE5a2X5q61JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0FkZCBNYXBwaW5nIEVsZW1lbnQnfSA9ICfmt7vliqDmmKDlsITlrZfmrrUnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVzdHJpY3QgZXhwb3J0IHBlciBzZWFyY2gnfSA9ICfpmZDliLblsI7lh7rmr4/lgIvmkJzlsIsnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0IGluZm9ybWF0aW9uJ30gPSAn5bCO5YWl5L+h5oGvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NvdXJjZSBGaWxlJ30gPSAn5rqQ5paH5Lu2JzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1N0YXJ0IEltcG9ydCd9ID0gJ+mWi+Wni+WwjuWFpSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJbXBvcnQgc3VtbWFyeSBmb3IgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVjb3Jkcyd9ID0gJ+e0gOmMhCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTdWNjZXNzJ30gPSAn5oiQ5YqfJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0R1cGxpY2F0ZSBuYW1lcyd9ID0gJ+mHjeikh+eahOWQjeeosSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSd9ID0gJ+WwjuWFpeaWh+S7tuacgOW+jOiZleeQhueahOihjOaVuCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydPayd9ID0gJ09rJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyB0ZW1wbGF0ZSBpdGVtPyd9ID0gJyc7CgogICAgIyBQZXJsIE1vZHVsZTogS2VybmVsL01vZHVsZXMvQWRtaW5JbXBvcnRFeHBvcnQucG0KICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05vIG9iamVjdCBiYWNrZW5kIGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVGVtcGxhdGUgbm90IGZvdW5kISd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDYW5cJ3QgaW5zZXJ0L3VwZGF0ZSB0ZW1wbGF0ZSEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTmVlZGVkIFRlbXBsYXRlSUQhJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0Vycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRXJyb3Igb2NjdXJyZWQuIEV4cG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSBMaXN0J30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J251bWJlcid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydudW1iZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydpbnRlZ2VyJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybyd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbGVtZW50IHJlcXVpcmVkLCBwbGVhc2UgaW5zZXJ0IGRhdGEnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW52YWxpZCBkYXRhLCBwbGVhc2UgaW5zZXJ0IGEgdmFsaWQgJXMnfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IG5vdCBmb3VuZCEnfSA9ICcnOwoKICAgICMgUGVybCBNb2R1bGU6IEtlcm5lbC9TeXN0ZW0vSW1wb3J0RXhwb3J0L0Zvcm1hdEJhY2tlbmQvQ1NWLnBtCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2x1bW4gU2VwYXJhdG9yJ30gPSAn5YiX5YiG6ZqU56ymJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RhYnVsYXRvciAoVEFCKSd9ID0gJ+WItuihqOmNtSAoVEFCKSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZW1pY29sb24gKDspJ30gPSAn5YiG6JmfICg7KSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDb2xvbiAoOiknfSA9ICflhpLomZ8gKDopJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RvdCAoLiknfSA9ICflj6XomZ8gKC4pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NvbW1hICgsKSd9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydDaGFyc2V0J30gPSAn5a2X56ym6ZuGJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnfSA9ICfljIXmi6zliJfmqJnpoYwnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ29sdW1uJ30gPSAn5YiXJzsKCiAgICAjIEpTIEZpbGU6IHZhci9odHRwZC9odGRvY3MvanMvSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQuanMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlbGV0aW5nIHRlbXBsYXRlLi4uJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1RoZXJlIHdhcyBhbiBlcnJvciBkZWxldGluZyB0aGUgdGVtcGxhdGUuIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJ30gPSAnJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRm9ybWF0IGJhY2tlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGltcG9ydC9leHBvcnQgbW9kdWxlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0ltcG9ydCBhbmQgZXhwb3J0IG9iamVjdCBpbmZvcm1hdGlvbi4nfSA9ICflsI7lhaXlkozlsI7lh7rlsI3osaHkv6Hmga8nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnSW1wb3J0L0V4cG9ydCd9ID0gJ+WwjuWFpS/lsI7lh7onOwoKCiAgICBwdXNoIEB7ICRTZWxmLT57SmF2YVNjcmlwdFN0cmluZ3N9IC8vIFtdIH0sICgKICAgICdDYW5jZWwnLAogICAgJ0RlbGV0ZScsCiAgICAnRGVsZXRlIHRoaXMgdGVtcGxhdGUnLAogICAgJ0RlbGV0aW5nIHRlbXBsYXRlLi4uJywKICAgICdUZW1wbGF0ZSB3YXMgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJywKICAgICdUaGVyZSB3YXMgYW4gZXJyb3IgZGVsZXRpbmcgdGhlIHRlbXBsYXRlLiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywKICAgICk7Cgp9CgoxOwo=</File>
        <File Permission="660" Location="Kernel/Modules/AdminImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok1vZHVsZXM6OkFkbWluSW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgcXcoVHJhbnNsYXRhYmxlKTsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbmVlZGVkIG9iamVjdHMKICAgIG15ICRJbXBvcnRFeHBvcnRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0Jyk7CiAgICBteSAkUGFyYW1PYmplY3QgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcpOwogICAgbXkgJExheW91dE9iamVjdCAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICAkUGFyYW17U3ViYWN0aW9ufSA9ICRTZWxmLT57U3ViYWN0aW9ufTsKCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHRlbXBsYXRlIGVkaXQgKGNvbW1vbikKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGlmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdUZW1wbGF0ZUVkaXQxJyApIHsKCiAgICAgICAgIyBnZXQgb2JqZWN0IGxpc3QKICAgICAgICBteSAkT2JqZWN0TGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk9iamVjdExpc3QoKTsKCiAgICAgICAgaWYgKCAhJE9iamVjdExpc3QgKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJyksCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGZvcm1hdCBsaXN0CiAgICAgICAgbXkgJEZvcm1hdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXRMaXN0KCk7CgogICAgICAgIGlmICggISRGb3JtYXRMaXN0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCBwYXJhbXMKICAgICAgICBteSAkVGVtcGxhdGVEYXRhOwogICAgICAgIG15ICRUZW1wbGF0ZUlEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1RlbXBsYXRlSUQnICk7CgogICAgICAgIG15ICRTYXZlQ29udGludWUgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnU3VibWl0TmV4dCcgKTsKCiAgICAgICAgaWYgKCAhJFNhdmVDb250aW51ZSApIHsKCiAgICAgICAgICAgICMgaWYgbmVlZGVkIG5ldyBmb3JtCiAgICAgICAgICAgIGlmICggISRUZW1wbGF0ZUlEICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT5fTWFza1RlbXBsYXRlRWRpdDEoCiAgICAgICAgICAgICAgICAgICAgTmV3ID0+IDEsCiAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBpZiB0aGVyZSBpcyB0ZW1wbGF0ZSBpZAogICAgICAgICAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICAgICAgICAgICRUZW1wbGF0ZURhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUdldCgKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmICggISRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSApIHsKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ1RlbXBsYXRlIG5vdCBmb3VuZCEnKSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgaWYgZWRpdAogICAgICAgICAgICBpZiAoICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+X01hc2tUZW1wbGF0ZUVkaXQxKCAlUGFyYW0sICV7JFRlbXBsYXRlRGF0YX0gKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBpZiBzYXZlICYgY29udGludWUKICAgICAgICBteSAlU2VydmVyRXJyb3I7CgogICAgICAgICMgZ2V0IGFsbCBkYXRhIGZvciBwYXJhbXMgYW5kIGNoZWNrIGZvciBlcnJvcnMKICAgICAgICBmb3IgbXkgJFBhcmFtIChxdyhDb21tZW50IE9iamVjdCBGb3JtYXQgTmFtZSBWYWxpZElEIFRlbXBsYXRlSUQpKSB7CiAgICAgICAgICAgICRUZW1wbGF0ZURhdGEtPnskUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJFBhcmFtICkgfHwgJyc7CiAgICAgICAgfQoKICAgICAgICAjIGlzIGEgbmV3IHRlbXBsYXRlPwogICAgICAgIG15ICROZXc7CiAgICAgICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICAgICAkTmV3ID0gMTsKICAgICAgICB9CgogICAgICAgICMgY2hlY2sgbmVlZGVkIGZpZWxkcwogICAgICAgICMgZm9yIG5ldyB0ZW1wbGF0ZXMKICAgICAgICBpZiAoJE5ldykgewoKICAgICAgICAgICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e09iamVjdH0gKSB7CiAgICAgICAgICAgICAgICAkU2VydmVyRXJyb3J7T2JqZWN0fSA9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggISRUZW1wbGF0ZURhdGEtPntGb3JtYXR9ICkgewogICAgICAgICAgICAgICAgJFNlcnZlckVycm9ye0Zvcm1hdH0gPSAxOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgIyBmb3IgYWxsIHRlbXBsYXRlcwogICAgICAgIGlmICggISRUZW1wbGF0ZURhdGEtPntOYW1lfSApIHsKICAgICAgICAgICAgJFNlcnZlckVycm9ye05hbWV9ID0gMTsKICAgICAgICB9CgogICAgICAgICMgaWYgc29tZSBlcnJvcgogICAgICAgIGlmICggJFNlcnZlckVycm9ye0Zvcm1hdH0gfHwgJFNlcnZlckVycm9ye09iamVjdH0gfHwgJFNlcnZlckVycm9ye05hbWV9ICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPl9NYXNrVGVtcGxhdGVFZGl0MSgKICAgICAgICAgICAgICAgIFNlcnZlckVycm9yID0+IFwlU2VydmVyRXJyb3IsCiAgICAgICAgICAgICAgICBOZXcgICAgICAgICA9PiAkTmV3LAogICAgICAgICAgICAgICAgU3ViYWN0aW9uICAgPT4gJFNlbGYtPntTdWJhY3Rpb259LAogICAgICAgICAgICAgICAgJXskVGVtcGxhdGVEYXRhfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2F2ZSB0byBkYXRhYmFzZQogICAgICAgIG15ICRTdWNjZXNzOwoKICAgICAgICBpZiAoJE5ldykgewogICAgICAgICAgICAkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0gPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUFkZCgKICAgICAgICAgICAgICAgICV7JFRlbXBsYXRlRGF0YX0sCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICAkU3VjY2VzcyA9ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRTdWNjZXNzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+VGVtcGxhdGVVcGRhdGUoCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgJXskVGVtcGxhdGVEYXRhfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIGlmICggISRTdWNjZXNzICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ0NhblwndCBpbnNlcnQvdXBkYXRlIHRlbXBsYXRlIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+CiAgICAgICAgICAgICAgICAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249VGVtcGxhdGVFZGl0MjtUZW1wbGF0ZUlEPSRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHRlbXBsYXRlIGVkaXQgKG9iamVjdCkKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdUZW1wbGF0ZUVkaXQyJyApIHsKCiAgICAgICAgIyBnZXQgb2JqZWN0IGxpc3QKICAgICAgICBteSAkT2JqZWN0TGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk9iamVjdExpc3QoKTsKCiAgICAgICAgaWYgKCAhJE9iamVjdExpc3QgKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTm8gb2JqZWN0IGJhY2tlbmQgZm91bmQhJyksCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGZvcm1hdCBsaXN0CiAgICAgICAgbXkgJEZvcm1hdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXRMaXN0KCk7CgogICAgICAgIGlmICggISRGb3JtYXRMaXN0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCB0ZW1wbGF0ZSBpZAogICAgICAgIG15ICRUZW1wbGF0ZUlEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1RlbXBsYXRlSUQnICk7CgogICAgICAgIGlmICggISRUZW1wbGF0ZUlEICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05lZWRlZCBUZW1wbGF0ZUlEIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBteSAkU3VibWl0TmV4dCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdTdWJtaXROZXh0JyApOwoKICAgICAgICBpZiAoICEkU3VibWl0TmV4dCApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT5fTWFza1RlbXBsYXRlRWRpdDIoCiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICAgICAgU3ViYWN0aW9uICA9PiAkU2VsZi0+e1N1YmFjdGlvbn0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHNhdmUgdGVtcGxhdGUgc3RhcnRzIGhlcmUKCiAgICAgICAgIyBnZXQgb2JqZWN0IGF0dHJpYnV0ZXMKICAgICAgICBteSAkT2JqZWN0QXR0cmlidXRlTGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk9iamVjdEF0dHJpYnV0ZXNHZXQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIG15ICVBdHRyaWJ1dGVWYWx1ZXM7CgogICAgICAgIG15ICRFcnJvciA9IDA7CiAgICAgICAgbXkgJVNlcnZlckVycm9yOwogICAgICAgIG15ICVEYXRhVHlwZUVycm9yOwoKICAgICAgICAjIGdldCBhdHRyaWJ1dGUgdmFsdWVzIGZyb20gZm9ybQogICAgICAgIGZvciBteSAkSXRlbSAoIEB7JE9iamVjdEF0dHJpYnV0ZUxpc3R9ICkgewoKICAgICAgICAgICAgIyBnZXQgZm9ybSBkYXRhCiAgICAgICAgICAgICRBdHRyaWJ1dGVWYWx1ZXN7ICRJdGVtLT57S2V5fSB9ID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybURhdGFHZXQoCiAgICAgICAgICAgICAgICBJdGVtID0+ICRJdGVtLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyByZWxvYWQgZm9ybSBpZiB2YWx1ZSBpcyByZXF1aXJlZCBhbmQgaXMgbm90IHRoZXJlCiAgICAgICAgICAgIGlmICggJEl0ZW0tPntGb3JtfS0+e0ludmFsaWR9ICkgewogICAgICAgICAgICAgICAgJFNlcnZlckVycm9yeyAkSXRlbS0+e05hbWV9IH0gPSAxOwogICAgICAgICAgICAgICAgJEVycm9yID0gMTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCAkQXR0cmlidXRlVmFsdWVzeyAkSXRlbS0+e0tleX0gfSApIHsKCiAgICAgICAgICAgICAgICAjIGxvb2sgZm9yIHJlZ2V4cCBmb3IgZGF0YSB0eXBlIGFsbG93ZWQKICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAkSXRlbS0+e0lucHV0fS0+e1JlZ2V4fQogICAgICAgICAgICAgICAgICAgICYmCiAgICAgICAgICAgICAgICAgICAgISRBdHRyaWJ1dGVWYWx1ZXN7ICRJdGVtLT57S2V5fSB9ID1+ICRJdGVtLT57SW5wdXR9LT57UmVnZXh9CiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAkRGF0YVR5cGVFcnJvcnsgJEl0ZW0tPntOYW1lfSB9ID0gMTsKICAgICAgICAgICAgICAgICAgICAkRXJyb3IgPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHJlbG9hZCB3aXRoIHNlcnZlciBlcnJvcnMKICAgICAgICBpZiAoJEVycm9yKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+X01hc2tUZW1wbGF0ZUVkaXQyKAogICAgICAgICAgICAgICAgU2VydmVyRXJyb3IgICAgICA9PiBcJVNlcnZlckVycm9yLAogICAgICAgICAgICAgICAgRGF0YVR5cGVFcnJvciAgICA9PiBcJURhdGFUeXBlRXJyb3IsCiAgICAgICAgICAgICAgICBUZW1wbGF0ZURhdGFGb3JtID0+IFwlQXR0cmlidXRlVmFsdWVzLAogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICAgICA9PiAkVGVtcGxhdGVJRCwKICAgICAgICAgICAgICAgIFN1YmFjdGlvbiAgICAgICAgPT4gJFNlbGYtPntTdWJhY3Rpb259LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBzYXZlIHRoZSBvYmplY3QgZGF0YQogICAgICAgICRJbXBvcnRFeHBvcnRPYmplY3QtPk9iamVjdERhdGFTYXZlKAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICBPYmplY3REYXRhID0+IFwlQXR0cmlidXRlVmFsdWVzLAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+ICJBY3Rpb249JFNlbGYtPntBY3Rpb259O1N1YmFjdGlvbj1UZW1wbGF0ZUVkaXQzO1RlbXBsYXRlSUQ9JFRlbXBsYXRlSUQiLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyB0ZW1wbGF0ZSBlZGl0IChmb3JtYXQpCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnVGVtcGxhdGVFZGl0MycgKSB7CgogICAgICAgICMgZ2V0IG9iamVjdCBsaXN0CiAgICAgICAgbXkgJE9iamVjdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RMaXN0KCk7CgogICAgICAgIGlmICggISRPYmplY3RMaXN0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIG9iamVjdCBiYWNrZW5kIGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCBmb3JtYXQgbGlzdAogICAgICAgIG15ICRGb3JtYXRMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0TGlzdCgpOwoKICAgICAgICBpZiAoICEkRm9ybWF0TGlzdCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgdGVtcGxhdGUgaWQKICAgICAgICBteSAkVGVtcGxhdGVJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdUZW1wbGF0ZUlEJyApOwoKICAgICAgICBpZiAoICEkVGVtcGxhdGVJRCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdOZWVkZWQgVGVtcGxhdGVJRCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgbXkgJFN1Ym1pdE5leHQgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnU3VibWl0TmV4dCcgKTsKCiAgICAgICAgaWYgKCAhJFN1Ym1pdE5leHQgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+X01hc2tUZW1wbGF0ZUVkaXQzKAogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgICAgICAgICAgICAgIFN1YmFjdGlvbiAgPT4gJFNlbGYtPntTdWJhY3Rpb259LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBzYXZlIHN0YXJ0aW5nIGhlcmUKCiAgICAgICAgIyBnZXQgZm9ybWF0IGF0dHJpYnV0ZXMKICAgICAgICBteSAkRm9ybWF0QXR0cmlidXRlTGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdEF0dHJpYnV0ZXNHZXQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGZvcm1hdCBkYXRhCiAgICAgICAgbXkgJEZvcm1hdERhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXREYXRhR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICBteSAkRXJyb3IgPSAwOwogICAgICAgIG15ICVTZXJ2ZXJFcnJvcjsKCiAgICAgICAgIyBnZXQgYXR0cmlidXRlIHZhbHVlcyBmcm9tIGZvcm0KICAgICAgICBteSAlQXR0cmlidXRlVmFsdWVzOwogICAgICAgIGZvciBteSAkSXRlbSAoIEB7JEZvcm1hdEF0dHJpYnV0ZUxpc3R9ICkgewoKICAgICAgICAgICAgIyBnZXQgZm9ybSBkYXRhCiAgICAgICAgICAgICRBdHRyaWJ1dGVWYWx1ZXN7ICRJdGVtLT57S2V5fSB9ID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybURhdGFHZXQoCiAgICAgICAgICAgICAgICBJdGVtID0+ICRJdGVtLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyByZWxvYWQgZm9ybSBpZiB2YWx1ZSBpcyByZXF1aXJlZAogICAgICAgICAgICBpZiAoICRJdGVtLT57Rm9ybX0tPntJbnZhbGlkfSApIHsKICAgICAgICAgICAgICAgICRTZXJ2ZXJFcnJvcnsgJEl0ZW0tPntOYW1lfSB9ID0gMTsKICAgICAgICAgICAgICAgICRFcnJvciA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgcmVsb2FkIHdpdGggc2VydmVyIGVycm9ycwogICAgICAgIGlmICgkRXJyb3IpIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT5fTWFza1RlbXBsYXRlRWRpdDMoCiAgICAgICAgICAgICAgICBTZXJ2ZXJFcnJvciA9PiBcJVNlcnZlckVycm9yLAogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgICAgICBTdWJhY3Rpb24gICA9PiAkU2VsZi0+e1N1YmFjdGlvbn0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHNhdmUgdGhlIGZvcm1hdCBkYXRhCiAgICAgICAgJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0RGF0YVNhdmUoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gXCVBdHRyaWJ1dGVWYWx1ZXMsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPVRlbXBsYXRlRWRpdDQ7VGVtcGxhdGVJRD0kVGVtcGxhdGVJRCIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHRlbXBsYXRlIGVkaXQgKG1hcHBpbmcpCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnVGVtcGxhdGVFZGl0NCcgKSB7CgogICAgICAgICMgZ2V0IG9iamVjdCBsaXN0CiAgICAgICAgbXkgJE9iamVjdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RMaXN0KCk7CgogICAgICAgIGlmICggISRPYmplY3RMaXN0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIG9iamVjdCBiYWNrZW5kIGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCBmb3JtYXQgbGlzdAogICAgICAgIG15ICRGb3JtYXRMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0TGlzdCgpOwoKICAgICAgICBpZiAoICEkRm9ybWF0TGlzdCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgcGFyYW1zCiAgICAgICAgbXkgJFRlbXBsYXRlRGF0YSA9IHt9OwogICAgICAgICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdUZW1wbGF0ZUlEJyApOwoKICAgICAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICAgICAgJFRlbXBsYXRlRGF0YSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ1RlbXBsYXRlIG5vdCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZW5lcmF0ZSBPYmplY3RPcHRpb25TdHJnCiAgICAgICAgbXkgJE9iamVjdE9wdGlvblN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRPYmplY3RMaXN0LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ09iamVjdCcsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkVGVtcGxhdGVEYXRhLT57T2JqZWN0fSwKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgKTsKCiAgICAgICAgIyBnZW5lcmF0ZSBGb3JtYXRPcHRpb25TdHJnCiAgICAgICAgbXkgJEZvcm1hdE9wdGlvblN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRGb3JtYXRMaXN0LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ0Zvcm1hdCcsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkVGVtcGxhdGVEYXRhLT57Rm9ybWF0fSwKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQgb3ZlcnZpZXcKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXcnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgIE9iamVjdE9wdGlvblN0cmcgPT4gJE9iamVjdE9wdGlvblN0cmcsCiAgICAgICAgICAgICAgICBGb3JtYXRPcHRpb25TdHJnID0+ICRGb3JtYXRPcHRpb25TdHJnLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25MaXN0JyApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25PdmVydmlldycgKTsKCiAgICAgICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgICAgICBLZXkgICA9PiAnVGVtcGxhdGVFZGl0NCcsCiAgICAgICAgICAgIFZhbHVlID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQgaGVhZGxpbmUKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGVtcGxhdGVFZGl0NCcsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJXskVGVtcGxhdGVEYXRhfSwKICAgICAgICAgICAgICAgIE9iamVjdE5hbWUgPT4gJE9iamVjdExpc3QtPnsgJFRlbXBsYXRlRGF0YS0+e09iamVjdH0gfSwKICAgICAgICAgICAgICAgIEZvcm1hdE5hbWUgPT4gJEZvcm1hdExpc3QtPnsgJFRlbXBsYXRlRGF0YS0+e0Zvcm1hdH0gfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIGdldCBtYXBwaW5nIGRhdGEgbGlzdAogICAgICAgIG15ICRNYXBwaW5nTGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdMaXN0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgb2JqZWN0IGF0dHJpYnV0ZXMKICAgICAgICBteSAkTWFwcGluZ09iamVjdEF0dHJpYnV0ZXMgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nT2JqZWN0QXR0cmlidXRlc0dldCgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGZvcm1hdCBhdHRyaWJ1dGVzCiAgICAgICAgbXkgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ0Zvcm1hdEF0dHJpYnV0ZXNHZXQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGNyZWF0ZSBoZWFkZXJzIGZvciBvYmplY3QgYW5kIGFkZCBjb21tb24gaGVhZGVycwogICAgICAgIG15IEBIZWFkZXJzOwoKICAgICAgICBmb3IgbXkgJEhlYWRlciAoIEB7JE1hcHBpbmdPYmplY3RBdHRyaWJ1dGVzfSApIHsKICAgICAgICAgICAgcHVzaCBASGVhZGVycywgJEhlYWRlci0+e05hbWV9OwogICAgICAgIH0KCiAgICAgICAgZm9yIG15ICRDb21tb25IZWFkZXIgKCAnQ29sdW1uJywgJ1VwJywgJ0Rvd24nLCAnRGVsZXRlJyApIHsKICAgICAgICAgICAgcHVzaCBASGVhZGVycywgJENvbW1vbkhlYWRlcjsKICAgICAgICB9CgogICAgICAgIGZvciBteSAkSGVhZGVyIChASGVhZGVycykgewoKICAgICAgICAgICAgIyBvdXRwdXQgYXR0cmlidXRlIHJvdwogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDRUYWJsZUhlYWRlcicsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBIZWFkZXIgPT4gJEhlYWRlciwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHRvIHVzZSBpbiBjb2xzcGFuIGZvciAnbm8gZGF0YSBmb3VuZCcgbWVzc2FnZQogICAgICAgIG15ICRIZWFkZXJDb3VudGVyID0gQEhlYWRlcnM7CgogICAgICAgIG15ICRFbXB0eU1hcCAgICAgICAgICAgID0gMTsKICAgICAgICBteSAkQXR0cmlidXRlUm93Q291bnRlciA9IDA7CiAgICAgICAgZm9yIG15ICRNYXBwaW5nSUQgKCBAeyRNYXBwaW5nTGlzdH0gKSB7CgogICAgICAgICAgICAkRW1wdHlNYXAgPSAwOwoKICAgICAgICAgICAgIyBvdXRwdXQgYXR0cmlidXRlIHJvdwogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDRSb3cnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgTWFwcGluZ0lEID0+ICRNYXBwaW5nSUQsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBnZXQgbWFwcGluZyBvYmplY3QgZGF0YQogICAgICAgICAgICBteSAkTWFwcGluZ09iamVjdERhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nT2JqZWN0RGF0YUdldCgKICAgICAgICAgICAgICAgIE1hcHBpbmdJRCA9PiAkTWFwcGluZ0lELAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgZ2V0IG1hcHBpbmcgZm9ybWF0IGRhdGEKICAgICAgICAgICAgbXkgJE1hcHBpbmdGb3JtYXREYXRhID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ0Zvcm1hdERhdGFHZXQoCiAgICAgICAgICAgICAgICBNYXBwaW5nSUQgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBmb3IgbXkgJEl0ZW0gKCBAeyRNYXBwaW5nT2JqZWN0QXR0cmlidXRlc30gKSB7CgogICAgICAgICAgICAgICAgIyBjcmVhdGUgZm9ybSBpbnB1dAogICAgICAgICAgICAgICAgbXkgJElucHV0U3RyaW5nID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybUlucHV0Q3JlYXRlKAogICAgICAgICAgICAgICAgICAgIEl0ZW0gICA9PiAkSXRlbSwKICAgICAgICAgICAgICAgICAgICBQcmVmaXggPT4gJ09iamVjdDo6JyAuICRBdHRyaWJ1dGVSb3dDb3VudGVyIC4gJzo6JywKICAgICAgICAgICAgICAgICAgICBWYWx1ZSAgPT4gJE1hcHBpbmdPYmplY3REYXRhLT57ICRJdGVtLT57S2V5fSB9LAogICAgICAgICAgICAgICAgICAgIElEICAgICA9PiAkSXRlbS0+e0tleX0gLiAkQXR0cmlidXRlUm93Q291bnRlciwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBvdXRwdXQgYXR0cmlidXRlIHJvdwogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnVGVtcGxhdGVFZGl0NENvbHVtbicsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgICAgICA9PiAkSXRlbS0+e05hbWV9LAogICAgICAgICAgICAgICAgICAgICAgICBJRCAgICAgICAgPT4gJ09iamVjdDo6JyAuICRBdHRyaWJ1dGVSb3dDb3VudGVyIC4gJzo6JyAuICRJdGVtLT57S2V5fSwKICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRTdHJnID0+ICRJbnB1dFN0cmluZywKICAgICAgICAgICAgICAgICAgICAgICAgQ291bnRlciAgID0+ICRBdHRyaWJ1dGVSb3dDb3VudGVyLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmb3IgbXkgJEl0ZW0gKCBAeyRNYXBwaW5nRm9ybWF0QXR0cmlidXRlc30gKSB7CgogICAgICAgICAgICAgICAgIyBvdXRwdXQgY29sdW1uIGNvdW50ZXIKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDRNYXBOdW1iZXJDb2x1bW4nLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBDb3VudGVyID0+ICRBdHRyaWJ1dGVSb3dDb3VudGVyLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGhpZGUgdGhlIHVwIGJ1dHRvbiBmb3IgZmlyc3QgZWxlbWVudCBhbmQgZG93biBidXR0b24gZm9yIHRoZSBsYXN0IGVsZW1lbnQKICAgICAgICAgICAgbXkgJFVwQmxvY2s7CiAgICAgICAgICAgIG15ICREb3duQmxvY2s7CiAgICAgICAgICAgIG15ICROdW1iZXJPZkVsZW1lbnRzID0gQHskTWFwcGluZ0xpc3R9OwoKICAgICAgICAgICAgaWYgKCAkQXR0cmlidXRlUm93Q291bnRlciA9PSAwICkgewogICAgICAgICAgICAgICAgJFVwQmxvY2sgPSAnVGVtcGxhdGVFZGl0NE5vVXBCdXR0b24nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJFVwQmxvY2sgPSAnVGVtcGxhdGVFZGl0NFVwQnV0dG9uJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBjaGVjayBpZiB0aGlzIGlzIHRoZSBsYXN0IGVsZW1lbnQKICAgICAgICAgICAgaWYgKCAkQXR0cmlidXRlUm93Q291bnRlciA9PSAoICROdW1iZXJPZkVsZW1lbnRzIC0gMSApICkgewogICAgICAgICAgICAgICAgJERvd25CbG9jayA9ICdUZW1wbGF0ZUVkaXQ0Tm9Eb3duQnV0dG9uJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICREb3duQmxvY2sgPSAnVGVtcGxhdGVFZGl0NERvd25CdXR0b24nOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHVwIGJ1dHRvbiBibG9jawogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJFVwQmxvY2ssCiAgICAgICAgICAgICAgICBEYXRhID0+IHsgTWFwcGluZ0lEID0+ICRNYXBwaW5nSUQgfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgZG93biBidXR0b24gYmxvY2sKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICREb3duQmxvY2ssCiAgICAgICAgICAgICAgICBEYXRhID0+IHsgTWFwcGluZ0lEID0+ICRNYXBwaW5nSUQgfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRBdHRyaWJ1dGVSb3dDb3VudGVyKys7CiAgICAgICAgfQoKICAgICAgICAjIG91dHB1dCBhbiBlbXB0eSBsaXN0CiAgICAgICAgaWYgKCRFbXB0eU1hcCkgewoKICAgICAgICAgICAgIyBvdXRwdXQgbGlzdAogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDROb01hcEZvdW5kJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIENvbHVtbnMgPT4gJEhlYWRlckNvdW50ZXIsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBvdXRwdXQgaGVhZGVyIGFuZCBuYXZiYXIKICAgICAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5OYXZpZ2F0aW9uQmFyKCk7CgogICAgICAgICMgc3RhcnQgdGVtcGxhdGUgb3V0cHV0CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWRtaW5JbXBvcnRFeHBvcnQnLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVQYXJhbSwKICAgICAgICApOwoKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwogICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgdGVtcGxhdGUgc2F2ZSAobWFwcGluZykKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdUZW1wbGF0ZVNhdmU0JyApIHsKCiAgICAgICAgIyBnZXQgdGVtcGxhdGUgaWQKICAgICAgICBteSAkVGVtcGxhdGVJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdUZW1wbGF0ZUlEJyApOwoKICAgICAgICBteSAlU3VibWl0ID0gKAogICAgICAgICAgICBTdWJtaXROZXh0ID0+ICdUZW1wbGF0ZUVkaXQ1JywKICAgICAgICAgICAgU3VibWl0QmFjayA9PiAnVGVtcGxhdGVFZGl0MycsCiAgICAgICAgICAgIFJlbG9hZCAgICAgPT4gJ1RlbXBsYXRlRWRpdDQnLAogICAgICAgICAgICBNYXBwaW5nQWRkID0+ICdUZW1wbGF0ZUVkaXQ0JywKICAgICAgICApOwoKICAgICAgICAjIGdldCBzdWJtaXQgYWN0aW9uCiAgICAgICAgbXkgJFN1YmFjdGlvbiAgICA9ICRTdWJtaXR7UmVsb2FkfTsKICAgICAgICBteSAkU3VibWl0QnV0dG9uID0gJyc7CgogICAgICAgIFBBUkFNOgogICAgICAgIGZvciBteSAkU3VibWl0S2V5ICggc29ydCBrZXlzICVTdWJtaXQgKSB7CiAgICAgICAgICAgIG5leHQgUEFSQU0gaWYgISRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRTdWJtaXRLZXkgKTsKCiAgICAgICAgICAgICRTdWJhY3Rpb24gICAgPSAkU3VibWl0eyRTdWJtaXRLZXl9OwogICAgICAgICAgICAkU3VibWl0QnV0dG9uID0gJFN1Ym1pdEtleTsKICAgICAgICAgICAgbGFzdCBQQVJBTTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IG1hcHBpbmcgZGF0YSBsaXN0CiAgICAgICAgbXkgJE1hcHBpbmdMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ0xpc3QoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICMgZ2V0IG9iamVjdCBhdHRyaWJ1dGVzCiAgICAgICAgbXkgJE1hcHBpbmdPYmplY3RBdHRyaWJ1dGVzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ09iamVjdEF0dHJpYnV0ZXNHZXQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICMgZ2V0IGZvcm1hdCBhdHRyaWJ1dGVzCiAgICAgICAgbXkgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ0Zvcm1hdEF0dHJpYnV0ZXNHZXQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIG15ICRDb3VudGVyID0gMDsKICAgICAgICBNQVBQSU5HSUQ6CiAgICAgICAgZm9yIG15ICRNYXBwaW5nSUQgKCBAeyRNYXBwaW5nTGlzdH0gKSB7CgogICAgICAgICAgICAjIGdldCBvYmplY3QgYXR0cmlidXRlIHZhbHVlcwogICAgICAgICAgICBteSAlT2JqZWN0QXR0cmlidXRlVmFsdWVzOwogICAgICAgICAgICBmb3IgbXkgJEl0ZW0gKCBAeyRNYXBwaW5nT2JqZWN0QXR0cmlidXRlc30gKSB7CgogICAgICAgICAgICAgICAgIyBnZXQgb2JqZWN0IGZvcm0gZGF0YQogICAgICAgICAgICAgICAgJE9iamVjdEF0dHJpYnV0ZVZhbHVlc3sgJEl0ZW0tPntLZXl9IH0gPSAkTGF5b3V0T2JqZWN0LT5JbXBvcnRFeHBvcnRGb3JtRGF0YUdldCgKICAgICAgICAgICAgICAgICAgICBJdGVtICAgPT4gJEl0ZW0sCiAgICAgICAgICAgICAgICAgICAgUHJlZml4ID0+ICdPYmplY3Q6OicgLiAkQ291bnRlciAuICc6OicsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHNhdmUgdGhlIG1hcHBpbmcgb2JqZWN0IGRhdGEKICAgICAgICAgICAgJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ09iamVjdERhdGFTYXZlKAogICAgICAgICAgICAgICAgTWFwcGluZ0lEICAgICAgICAgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgIE1hcHBpbmdPYmplY3REYXRhID0+IFwlT2JqZWN0QXR0cmlidXRlVmFsdWVzLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBnZXQgZm9ybWF0IGF0dHJpYnV0ZSB2YWx1ZXMKICAgICAgICAgICAgbXkgJUZvcm1hdEF0dHJpYnV0ZVZhbHVlczsKICAgICAgICAgICAgZm9yIG15ICRJdGVtICggQHskTWFwcGluZ0Zvcm1hdEF0dHJpYnV0ZXN9ICkgewoKICAgICAgICAgICAgICAgICMgZ2V0IGZvcm1hdCBmb3JtIGRhdGEKICAgICAgICAgICAgICAgICRGb3JtYXRBdHRyaWJ1dGVWYWx1ZXN7ICRJdGVtLT57S2V5fSB9ID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybURhdGFHZXQoCiAgICAgICAgICAgICAgICAgICAgSXRlbSAgID0+ICRJdGVtLAogICAgICAgICAgICAgICAgICAgIFByZWZpeCA9PiAnRm9ybWF0OjonIC4gJENvdW50ZXIgLiAnOjonLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBzYXZlIHRoZSBtYXBwaW5nIGZvcm1hdCBkYXRhCiAgICAgICAgICAgICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdGb3JtYXREYXRhU2F2ZSgKICAgICAgICAgICAgICAgIE1hcHBpbmdJRCAgICAgICAgID0+ICRNYXBwaW5nSUQsCiAgICAgICAgICAgICAgICBNYXBwaW5nRm9ybWF0RGF0YSA9PiBcJUZvcm1hdEF0dHJpYnV0ZVZhbHVlcywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRDb3VudGVyKys7CiAgICAgICAgfQoKICAgICAgICBNQVBQSU5HSUQ6CiAgICAgICAgZm9yIG15ICRNYXBwaW5nSUQgKCBAeyRNYXBwaW5nTGlzdH0gKSB7CgogICAgICAgICAgICAjIGRlbGV0ZSB0aGlzIG1hcHBpbmcgcm93CiAgICAgICAgICAgIGlmICggJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gIk1hcHBpbmdEZWxldGU6OiRNYXBwaW5nSUQiICkgKSB7CiAgICAgICAgICAgICAgICAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nRGVsZXRlKAogICAgICAgICAgICAgICAgICAgIE1hcHBpbmdJRCAgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBuZXh0IE1BUFBJTkdJRDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBtb3ZlIG1hcHBpbmcgZGF0YSByb3cgdXAKICAgICAgICAgICAgaWYgKCAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAiTWFwcGluZ1VwOjokTWFwcGluZ0lEIiApICkgewogICAgICAgICAgICAgICAgJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ1VwKAogICAgICAgICAgICAgICAgICAgIE1hcHBpbmdJRCAgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBuZXh0IE1BUFBJTkdJRDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBtb3ZlIG1hcHBpbmcgZGF0YSByb3cgZG93bgogICAgICAgICAgICBpZiAoICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJNYXBwaW5nRG93bjo6JE1hcHBpbmdJRCIgKSApIHsKICAgICAgICAgICAgICAgICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdEb3duKAogICAgICAgICAgICAgICAgICAgIE1hcHBpbmdJRCAgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBuZXh0IE1BUFBJTkdJRDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBhZGQgYSBuZXcgbWFwcGluZyByb3cKICAgICAgICBpZiAoICRTdWJtaXRCdXR0b24gZXEgJ01hcHBpbmdBZGQnICkgewogICAgICAgICAgICAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nQWRkKAogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KAogICAgICAgICAgICBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249JFN1YmFjdGlvbjtUZW1wbGF0ZUlEPSRUZW1wbGF0ZUlEIiwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgdGVtcGxhdGUgZWRpdCAoc2VhcmNoKQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1RlbXBsYXRlRWRpdDUnICkgewoKICAgICAgICAjIGdldCBvYmplY3QgbGlzdAogICAgICAgIG15ICRPYmplY3RMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+T2JqZWN0TGlzdCgpOwoKICAgICAgICBpZiAoICEkT2JqZWN0TGlzdCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgZm9ybWF0IGxpc3QKICAgICAgICBteSAkRm9ybWF0TGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdExpc3QoKTsKCiAgICAgICAgaWYgKCAhJEZvcm1hdExpc3QgKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJyksCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgZ2V0IHBhcmFtcwogICAgICAgIG15ICRUZW1wbGF0ZURhdGEgPSB7fTsKICAgICAgICAkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVGVtcGxhdGVJRCcgKTsKCiAgICAgICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgICAgICRUZW1wbGF0ZURhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUdldCgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggISRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdUZW1wbGF0ZSBub3QgZm91bmQhJyksCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgZ2VuZXJhdGUgT2JqZWN0T3B0aW9uU3RyZwogICAgICAgIG15ICRPYmplY3RPcHRpb25TdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiAkT2JqZWN0TGlzdCwKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdPYmplY3QnLAogICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJFRlbXBsYXRlRGF0YS0+e09iamVjdH0sCiAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUnLAogICAgICAgICk7CgogICAgICAgICMgZ2VuZXJhdGUgRm9ybWF0T3B0aW9uU3RyZwogICAgICAgIG15ICRGb3JtYXRPcHRpb25TdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiAkRm9ybWF0TGlzdCwKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdGb3JtYXQnLAogICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJFRlbXBsYXRlRGF0YS0+e0Zvcm1hdH0sCiAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUnLAogICAgICAgICk7CgogICAgICAgICMgb3V0cHV0IG92ZXJ2aWV3CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3JywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICBPYmplY3RPcHRpb25TdHJnID0+ICRPYmplY3RPcHRpb25TdHJnLAogICAgICAgICAgICAgICAgRm9ybWF0T3B0aW9uU3RyZyA9PiAkRm9ybWF0T3B0aW9uU3RyZywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jayggTmFtZSA9PiAnQWN0aW9uTGlzdCcgKTsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jayggTmFtZSA9PiAnQWN0aW9uT3ZlcnZpZXcnICk7CgogICAgICAgICMgZ2V0IHNlYXJjaCBkYXRhCiAgICAgICAgbXkgJFNlYXJjaERhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5TZWFyY2hEYXRhR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBjcmVhdGUgcmVzY3JpY3QgZXhwb3J0IHN0cmluZwogICAgICAgIG15ICRSZXN0cmljdEV4cG9ydFN0cmcgPSAkTGF5b3V0T2JqZWN0LT5JbXBvcnRFeHBvcnRGb3JtSW5wdXRDcmVhdGUoCiAgICAgICAgICAgIEl0ZW0gPT4gewogICAgICAgICAgICAgICAgS2V5ICAgPT4gJ1Jlc3RyaWN0RXhwb3J0JywKICAgICAgICAgICAgICAgIElucHV0ID0+IHsKICAgICAgICAgICAgICAgICAgICBUeXBlID0+ICdDaGVja2JveCcsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICB9LAogICAgICAgICAgICBWYWx1ZSA9PiBzY2FsYXIga2V5cyAleyRTZWFyY2hEYXRhfSwKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dCBsaXN0CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDUnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICV7JFRlbXBsYXRlRGF0YX0sCiAgICAgICAgICAgICAgICBSZXN0cmljdEV4cG9ydFN0cmcgPT4gJFJlc3RyaWN0RXhwb3J0U3RyZywKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIGdldCBzZWFyY2ggYXR0cmlidXRlcwogICAgICAgIG15ICRTZWFyY2hBdHRyaWJ1dGVMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+U2VhcmNoQXR0cmlidXRlc0dldCgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICMgb3V0cHV0IG9iamVjdCBhdHRyaWJ1dGVzCiAgICAgICAgZm9yIG15ICRJdGVtICggQHskU2VhcmNoQXR0cmlidXRlTGlzdH0gKSB7CgogICAgICAgICAgICAjIGNyZWF0ZSBmb3JtIGlucHV0CiAgICAgICAgICAgIG15ICRJbnB1dFN0cmluZyA9ICRMYXlvdXRPYmplY3QtPkltcG9ydEV4cG9ydEZvcm1JbnB1dENyZWF0ZSgKICAgICAgICAgICAgICAgIEl0ZW0gID0+ICRJdGVtLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gJFNlYXJjaERhdGEtPnsgJEl0ZW0tPntLZXl9IH0sCiAgICAgICAgICAgICAgICBDbGFzcyA9PiAnTW9kZXJuaXplJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgb3V0cHV0IGF0dHJpYnV0ZSByb3cKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUZW1wbGF0ZUVkaXQ1RWxlbWVudCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBOYW1lICAgICAgPT4gJEl0ZW0tPntOYW1lfSB8fCAnJywKICAgICAgICAgICAgICAgICAgICBJbnB1dFN0cmcgPT4gJElucHV0U3RyaW5nLAogICAgICAgICAgICAgICAgICAgIElEICAgICAgICA9PiAkSXRlbS0+e0tleX0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBvdXRwdXQgaGVhZGVyIGFuZCBuYXZiYXIKICAgICAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5OYXZpZ2F0aW9uQmFyKCk7CgogICAgICAgICMgc3RhcnQgdGVtcGxhdGUgb3V0cHV0CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWRtaW5JbXBvcnRFeHBvcnQnLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVQYXJhbSwKICAgICAgICApOwoKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwogICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgdGVtcGxhdGUgc2F2ZSAoc2VhcmNoKQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1RlbXBsYXRlU2F2ZTUnICkgewoKICAgICAgICAjIGdldCB0ZW1wbGF0ZSBpZAogICAgICAgIG15ICRUZW1wbGF0ZUlEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1RlbXBsYXRlSUQnICk7CgogICAgICAgIG15ICVTdWJtaXQgPSAoCiAgICAgICAgICAgIFN1Ym1pdE5leHQgPT4gJ092ZXJ2aWV3JywKICAgICAgICAgICAgU3VibWl0QmFjayA9PiAnVGVtcGxhdGVFZGl0NCcsCiAgICAgICAgICAgIFJlbG9hZCAgICAgPT4gJ1RlbXBsYXRlRWRpdDUnLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IHN1Ym1pdCBhY3Rpb24KICAgICAgICBteSAkU3ViYWN0aW9uID0gJFN1Ym1pdHtSZWxvYWR9OwoKICAgICAgICBQQVJBTToKICAgICAgICBmb3IgbXkgJFN1Ym1pdEtleSAoIHNvcnQga2V5cyAlU3VibWl0ICkgewogICAgICAgICAgICBuZXh0IFBBUkFNIGlmICEkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkU3VibWl0S2V5ICk7CgogICAgICAgICAgICAkU3ViYWN0aW9uID0gJFN1Ym1pdHskU3VibWl0S2V5fTsKICAgICAgICAgICAgbGFzdCBQQVJBTTsKICAgICAgICB9CgogICAgICAgICMgZGVsZXRlIGFsbCBzZWFyY2ggcmVzdHJpY3Rpb25zCiAgICAgICAgaWYgKCAhJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1Jlc3RyaWN0RXhwb3J0JyApICkgewoKICAgICAgICAgICAgIyBkZWxldGUgYWxsIHNlYXJjaCBkYXRhCiAgICAgICAgICAgICRJbXBvcnRFeHBvcnRPYmplY3QtPlNlYXJjaERhdGFEZWxldGUoCiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249JFN1YmFjdGlvbjtUZW1wbGF0ZUlEPSRUZW1wbGF0ZUlEIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IHNlYXJjaCBhdHRyaWJ1dGVzCiAgICAgICAgbXkgJFNlYXJjaEF0dHJpYnV0ZUxpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5TZWFyY2hBdHRyaWJ1dGVzR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGdldCBhdHRyaWJ1dGUgdmFsdWVzIGZyb20gZm9ybQogICAgICAgIG15ICVBdHRyaWJ1dGVWYWx1ZXM7CiAgICAgICAgZm9yIG15ICRJdGVtICggQHskU2VhcmNoQXR0cmlidXRlTGlzdH0gKSB7CgogICAgICAgICAgICAjIGdldCBmb3JtIGRhdGEKICAgICAgICAgICAgJEF0dHJpYnV0ZVZhbHVlc3sgJEl0ZW0tPntLZXl9IH0gPSAkTGF5b3V0T2JqZWN0LT5JbXBvcnRFeHBvcnRGb3JtRGF0YUdldCgKICAgICAgICAgICAgICAgIEl0ZW0gPT4gJEl0ZW0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHJlbG9hZCBmb3JtIGlmIHZhbHVlIGlzIHJlcXVpcmVkCiAgICAgICAgICAgIGlmICggJEl0ZW0tPntGb3JtfS0+e0ludmFsaWR9ICkgewogICAgICAgICAgICAgICAgJFN1YmFjdGlvbiA9ICRTdWJtaXR7UmVsb2FkfTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBzYXZlIHRoZSBzZWFyY2ggZGF0YQogICAgICAgICRJbXBvcnRFeHBvcnRPYmplY3QtPlNlYXJjaERhdGFTYXZlKAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICBTZWFyY2hEYXRhID0+IFwlQXR0cmlidXRlVmFsdWVzLAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+ICJBY3Rpb249JFNlbGYtPntBY3Rpb259O1N1YmFjdGlvbj0kU3ViYWN0aW9uO1RlbXBsYXRlSUQ9JFRlbXBsYXRlSUQiLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyB0ZW1wbGF0ZSBkZWxldGUKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdUZW1wbGF0ZURlbGV0ZScgKSB7CgogICAgICAgICMgZ2V0IHRlbXBsYXRlIGlkCiAgICAgICAgbXkgJFRlbXBsYXRlSUQgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVGVtcGxhdGVJRCcgKTsKCiAgICAgICAgIyBkZWxldGUgdGVtcGxhdGUgZnJvbSBkYXRhYmFzZQogICAgICAgIG15ICREZWxldGUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZURlbGV0ZSgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkF0dGFjaG1lbnQoCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICd0ZXh0L2h0bWwnLAogICAgICAgICAgICBDb250ZW50ICAgICA9PiAoJERlbGV0ZSkgPyAkVGVtcGxhdGVJRCA6IDAsCiAgICAgICAgICAgIFR5cGUgICAgICAgID0+ICdpbmxpbmUnLAogICAgICAgICAgICBOb0NhY2hlICAgICA9PiAxLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBpbXBvcnQgaW5mb3JtYXRpb24KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdJbXBvcnRJbmZvcm1hdGlvbicgKSB7CgogICAgICAgICMgZ2V0IG9iamVjdCBsaXN0CiAgICAgICAgbXkgJE9iamVjdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RMaXN0KCk7CgogICAgICAgIGlmICggISRPYmplY3RMaXN0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIG9iamVjdCBiYWNrZW5kIGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCBmb3JtYXQgbGlzdAogICAgICAgIG15ICRGb3JtYXRMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0TGlzdCgpOwoKICAgICAgICBpZiAoICEkRm9ybWF0TGlzdCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdObyBmb3JtYXQgYmFja2VuZCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgcGFyYW1zCiAgICAgICAgbXkgJFRlbXBsYXRlRGF0YSA9IHt9OwogICAgICAgICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdUZW1wbGF0ZUlEJyApOwoKICAgICAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICAgICAgJFRlbXBsYXRlRGF0YSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ1RlbXBsYXRlIG5vdCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZW5lcmF0ZSBPYmplY3RPcHRpb25TdHJnCiAgICAgICAgbXkgJE9iamVjdE9wdGlvblN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRPYmplY3RMaXN0LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ09iamVjdCcsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkVGVtcGxhdGVEYXRhLT57T2JqZWN0fSwKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgKTsKCiAgICAgICAgIyBnZW5lcmF0ZSBGb3JtYXRPcHRpb25TdHJnCiAgICAgICAgbXkgJEZvcm1hdE9wdGlvblN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRGb3JtYXRMaXN0LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ0Zvcm1hdCcsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkVGVtcGxhdGVEYXRhLT57Rm9ybWF0fSwKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQgb3ZlcnZpZXcKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXcnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgIE9iamVjdE9wdGlvblN0cmcgPT4gJE9iamVjdE9wdGlvblN0cmcsCiAgICAgICAgICAgICAgICBGb3JtYXRPcHRpb25TdHJnID0+ICRGb3JtYXRPcHRpb25TdHJnLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25MaXN0JyApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25PdmVydmlldycgKTsKCiAgICAgICAgIyBvdXRwdXQgbGlzdAogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdJbXBvcnRJbmZvcm1hdGlvbicsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJXskVGVtcGxhdGVEYXRhfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dCBoZWFkZXIgYW5kIG5hdmJhcgogICAgICAgIG15ICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoKTsKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAgICAgIyBzdGFydCB0ZW1wbGF0ZSBvdXRwdXQKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkltcG9ydEV4cG9ydCcsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcJVBhcmFtLAogICAgICAgICk7CgogICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCk7CiAgICAgICAgcmV0dXJuICRPdXRwdXQ7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBpbXBvcnQKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdJbXBvcnQnICkgewoKICAgICAgICAjIGdldCBwYXJhbXMKICAgICAgICBteSAkVGVtcGxhdGVEYXRhID0ge307CiAgICAgICAgJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1RlbXBsYXRlSUQnICk7CgogICAgICAgICMgZ2V0IHRlbXBsYXRlIGRhdGEKICAgICAgICAkVGVtcGxhdGVEYXRhID0gJEltcG9ydEV4cG9ydE9iamVjdC0+VGVtcGxhdGVHZXQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICBpZiAoICEkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0gKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnVGVtcGxhdGUgbm90IGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIGdldCBzb3VyY2UgZmlsZQogICAgICAgIG15ICVTb3VyY2VGaWxlID0gJFBhcmFtT2JqZWN0LT5HZXRVcGxvYWRBbGwoCiAgICAgICAgICAgIFBhcmFtICA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgIFNvdXJjZSA9PiAnU3RyaW5nJywKICAgICAgICApOwoKICAgICAgICAkU291cmNlRmlsZXtDb250ZW50fSB8fD0gJyc7CgogICAgICAgICMgaW1wb3J0IGRhdGEKICAgICAgICBteSAkUmVzdWx0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+SW1wb3J0KAogICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiBcJFNvdXJjZUZpbGV7Q29udGVudH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggISRSZXN1bHQgKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnRXJyb3Igb2NjdXJyZWQuIEltcG9ydCBpbXBvc3NpYmxlISBTZWUgU3lzbG9nIGZvciBkZXRhaWxzLicpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIG91dHB1dCBvdmVydmlldwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPdmVydmlldycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgb3V0cHV0IGhlYWRlciBhbmQgbmF2YmFyCiAgICAgICAgbXkgJE91dHB1dCA9ICRMYXlvdXRPYmplY3QtPkhlYWRlcigpOwogICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+TmF2aWdhdGlvbkJhcigpOwoKICAgICAgICAjIG91dHB1dCBpbXBvcnQgcmVzdWx0cwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdJbXBvcnRSZXN1bHQnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICV7JFJlc3VsdH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgYWxsIHJldHVybiBjb2RlcyBhbmQgY29sbGVjdCB0aGUgZHVwbGljYXRlIG5hbWVzCiAgICAgICAgbXkgQER1cGxpY2F0ZU5hbWVzOwogICAgICAgIFJFVFVSTkNPREU6CiAgICAgICAgZm9yIG15ICRSZXRDb2RlICggc29ydCBrZXlzICV7ICRSZXN1bHQtPntSZXRDb2RlfSB9ICkgewoKICAgICAgICAgICAgIyBqdXN0IGdldCB0aGUgZHVwbGljYXRlIG5hbWUKICAgICAgICAgICAgaWYgKCAkUmV0Q29kZSA9fiBteyBcQSBEdXBsaWNhdGVOYW1lIFxzKyAoLispIH14bXMgKSB7CiAgICAgICAgICAgICAgICBwdXNoIEBEdXBsaWNhdGVOYW1lcywgJDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdJbXBvcnRSZXN1bHRSZXR1cm5Db2RlJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuQ29kZU5hbWUgID0+ICRSZXRDb2RlLAogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm5Db2RlQ291bnQgPT4gJFJlc3VsdC0+e1JldENvZGV9LT57JFJldENvZGV9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIG91dHB1dCBkdXBsaWNhdGUgbmFtZXMgaWYgbmVjY2Vzc2FyeQogICAgICAgIGlmIChARHVwbGljYXRlTmFtZXMpIHsKCiAgICAgICAgICAgIG15ICREdXBsaWNhdGVOYW1lc1N0cmluZyA9IGpvaW4gJywgJywgQER1cGxpY2F0ZU5hbWVzOwoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdJbXBvcnRSZXN1bHREdXBsaWNhdGVOYW1lcycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBEdXBsaWNhdGVOYW1lcyA9PiAkRHVwbGljYXRlTmFtZXNTdHJpbmcsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBvdXRwdXQgbGFzdCBwcm9jZXNzZWQgbGluZSBtdW1iZXIgb2YgaW1wb3J0IGZpbGUKICAgICAgICBpZiAoICRSZXN1bHQtPntGYWlsZWR9ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0ltcG9ydFJlc3VsdExhc3RMaW5lTnVtYmVyJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIExhc3RMaW5lTnVtYmVyID0+ICRSZXN1bHQtPntDb3VudGVyfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHN0YXJ0IG91dHB1dAogICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0FkbWluSW1wb3J0RXhwb3J0JywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsKICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwogICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgZXhwb3J0CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnRXhwb3J0JyApIHsKCiAgICAgICAgIyBnZXQgcGFyYW1zCiAgICAgICAgbXkgJFRlbXBsYXRlRGF0YSA9IHt9OwogICAgICAgICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdUZW1wbGF0ZUlEJyApOwoKICAgICAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICAgICAgJFRlbXBsYXRlRGF0YSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZURhdGEtPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ1RlbXBsYXRlIG5vdCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBleHBvcnQgZGF0YQogICAgICAgIG15ICRSZXN1bHQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5FeHBvcnQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICBpZiAoICEkUmVzdWx0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ0Vycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy4nKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgbXkgJEZpbGVDb250ZW50ID0gam9pbiAiXG4iLCBAeyAkUmVzdWx0LT57RGVzdGluYXRpb25Db250ZW50fSB9OwoKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+QXR0YWNobWVudCgKICAgICAgICAgICAgVHlwZSAgICAgICAgPT4gJ2F0dGFjaG1lbnQnLAogICAgICAgICAgICBGaWxlbmFtZSAgICA9PiAnRXhwb3J0LmNzdicsCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICd0ZXh0L2NzdicsCiAgICAgICAgICAgIENvbnRlbnQgICAgID0+ICRGaWxlQ29udGVudCwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgb3ZlcnZpZXcKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2UgewoKICAgICAgICAjIGdldCBvYmplY3QgbGlzdAogICAgICAgIG15ICRPYmplY3RMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+T2JqZWN0TGlzdCgpOwoKICAgICAgICAjIHNob3cgYSBub3RlIHRoYXQgdGhlIHVzZXIgbmVlZHMgdG8gaW5zYXRsbCBhbnkgbW9kdWxlIHRoYXQgcHJvdmlkZXMgYW4gaW1wb3J0L2V4cG9ydCBiYWNrZW5kLgogICAgICAgIGlmICggISRPYmplY3RMaXN0ICkgewoKICAgICAgICAgICAgIyBvdXRwdXQgb3ZlcnZpZXcKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdPdmVydmlldycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soIE5hbWUgPT4gJ05vdGVPYmplY3RCYWNrZW5kJyApOwoKICAgICAgICAgICAgIyBvdXRwdXQgaGVhZGVyIGFuZCBuYXZiYXIKICAgICAgICAgICAgbXkgJE91dHB1dCA9ICRMYXlvdXRPYmplY3QtPkhlYWRlcigpOwogICAgICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAgICAgICAgICMgc3RhcnQgdGVtcGxhdGUgb3V0cHV0CiAgICAgICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkltcG9ydEV4cG9ydCcsCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVQYXJhbSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCk7CiAgICAgICAgICAgIHJldHVybiAkT3V0cHV0OwoKICAgICAgICB9CgogICAgICAgICMgZ2V0IGZvcm1hdCBsaXN0CiAgICAgICAgbXkgJEZvcm1hdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXRMaXN0KCk7CgogICAgICAgIGlmICggISRGb3JtYXRMaXN0ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05vIGZvcm1hdCBiYWNrZW5kIGZvdW5kIScpLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIG91dHB1dCBvdmVydmlldwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPdmVydmlldycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25MaXN0JyApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25BZGQnICk7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soIE5hbWUgPT4gJ05vdGVDcmVhdGVUZW1wbGF0ZScgKTsKCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3UmVzdWx0JywKICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICk7CgogICAgICAgICMgZ2V0IHZhbGlkIGxpc3QKICAgICAgICBteSAlVmFsaWRMaXN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlZhbGlkJyktPlZhbGlkTGlzdCgpOwoKICAgICAgICBteSAkRW1wdHlEYXRhYmFzZSA9IDE7CgogICAgICAgIENMQVNTOgogICAgICAgIGZvciBteSAkT2JqZWN0ICggc29ydCB7ICRPYmplY3RMaXN0LT57JGF9IGNtcCAkT2JqZWN0TGlzdC0+eyRifSB9IGtleXMgJXskT2JqZWN0TGlzdH0gKSB7CgogICAgICAgICAgICAjIGdldCB0ZW1wbGF0ZSBsaXN0CiAgICAgICAgICAgIG15ICRUZW1wbGF0ZUxpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUxpc3QoCiAgICAgICAgICAgICAgICBPYmplY3QgPT4gJE9iamVjdCwKICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAoICEkVGVtcGxhdGVMaXN0IHx8IHJlZiAkVGVtcGxhdGVMaXN0IG5lICdBUlJBWScgfHwgIUB7JFRlbXBsYXRlTGlzdH0gKSB7CiAgICAgICAgICAgICAgICBuZXh0IENMQVNTOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkRW1wdHlEYXRhYmFzZSA9IDA7CgogICAgICAgICAgICAjIG91dHB1dCBsaXN0CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXdMaXN0JywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIE9iamVjdE5hbWUgPT4gJE9iamVjdExpc3QtPnskT2JqZWN0fSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBmb3IgbXkgJFRlbXBsYXRlSUQgKCBAeyRUZW1wbGF0ZUxpc3R9ICkgewoKICAgICAgICAgICAgICAgICMgZ2V0IHRlbXBsYXRlIGRhdGEKICAgICAgICAgICAgICAgIG15ICRUZW1wbGF0ZURhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUdldCgKICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIG91dHB1dCByb3cKICAgICAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3TGlzdFJvdycsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICV7JFRlbXBsYXRlRGF0YX0sCiAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdE5hbWUgPT4gJEZvcm1hdExpc3QtPnsgJFRlbXBsYXRlRGF0YS0+e0Zvcm1hdH0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWQgICAgICA9PiAkVmFsaWRMaXN0eyAkVGVtcGxhdGVEYXRhLT57VmFsaWRJRH0gfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBvdXRwdXQgYW4gZW1wdHkgbGlzdAogICAgICAgIGlmICgkRW1wdHlEYXRhYmFzZSkgewoKICAgICAgICAgICAgIyBvdXRwdXQgbGlzdAogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ092ZXJ2aWV3TGlzdCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBPYmplY3ROYW1lID0+IFRyYW5zbGF0YWJsZSgnVGVtcGxhdGUgTGlzdCcpLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soIE5hbWUgPT4gJ05vRGF0YUZvdW5kTXNnJyApOwogICAgICAgIH0KCiAgICAgICAgIyBvdXRwdXQgaGVhZGVyIGFuZCBuYXZiYXIKICAgICAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5OYXZpZ2F0aW9uQmFyKCk7CgogICAgICAgICMgc3RhcnQgdGVtcGxhdGUgb3V0cHV0CiAgICAgICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWRtaW5JbXBvcnRFeHBvcnQnLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVQYXJhbSwKICAgICAgICApOwoKICAgICAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwogICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgfQp9CgpzdWIgX01hc2tUZW1wbGF0ZUVkaXQxIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJVNlcnZlckVycm9yOwogICAgaWYgKCAkUGFyYW17U2VydmVyRXJyb3J9ICkgewogICAgICAgICVTZXJ2ZXJFcnJvciA9ICV7ICRQYXJhbXtTZXJ2ZXJFcnJvcn0gfTsKICAgIH0KCiAgICAjIGdldCBsYXlvdXQgb2JqZWN0CiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgICMgb3V0cHV0IG92ZXJ2aWV3CiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdPdmVydmlldycsCiAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgKTsKCiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jayggTmFtZSA9PiAnQWN0aW9uTGlzdCcgKTsKICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKCBOYW1lID0+ICdBY3Rpb25PdmVydmlldycgKTsKCiAgICAjIGdlbmVyYXRlIFZhbGlkT3B0aW9uU3RyZwogICAgbXkgJVZhbGlkTGlzdCAgICAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VmFsaWQnKS0+VmFsaWRMaXN0KCk7CiAgICBteSAlVmFsaWRMaXN0UmV2ZXJzZSA9IHJldmVyc2UgJVZhbGlkTGlzdDsKICAgIG15ICRWYWxpZE9wdGlvblN0cmcgID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgTmFtZSAgICAgICA9PiAnVmFsaWRJRCcsCiAgICAgICAgRGF0YSAgICAgICA9PiBcJVZhbGlkTGlzdCwKICAgICAgICBTZWxlY3RlZElEID0+ICRQYXJhbXtWYWxpZElEfSB8fCAkVmFsaWRMaXN0UmV2ZXJzZXt2YWxpZH0sCiAgICAgICAgQ2xhc3MgICAgICA9PiAnTW9kZXJuaXplJywKICAgICk7CgogICAgbXkgJENsYXNzID0gJyBWYWxpZGF0ZV9SZXF1aXJlZCAnOwoKICAgIGlmICggJFNlcnZlckVycm9ye05hbWV9ICkgewogICAgICAgICRDbGFzcyAuPSAnU2VydmVyRXJyb3InOwogICAgfQoKICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDEnLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIFZhbGlkT3B0aW9uU3RyZyA9PiAkVmFsaWRPcHRpb25TdHJnLAogICAgICAgICAgICBOYW1lQ2xhc3MgICAgICAgPT4gJENsYXNzLAogICAgICAgIH0sCiAgICApOwoKICAgIGlmICggJFBhcmFte1RlbXBsYXRlSUR9ICkgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdFZGl0T2JqZWN0Rm9ybWF0JywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICBPYmplY3ROYW1lID0+ICRQYXJhbXtPYmplY3R9LAogICAgICAgICAgICAgICAgRm9ybWF0TmFtZSA9PiAkUGFyYW17Rm9ybWF0fSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJFBhcmFte05ld30gKSB7CgogICAgICAgICMgZ2V0IEltcG9ydEV4cG9ydCBvYmplY3QKICAgICAgICBteSAkSW1wb3J0RXhwb3J0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpOwoKICAgICAgICAjIGdldCBvYmplY3QgbGlzdAogICAgICAgIG15ICRPYmplY3RMaXN0ID0gJEltcG9ydEV4cG9ydE9iamVjdC0+T2JqZWN0TGlzdCgpOwoKICAgICAgICBpZiAoICEkT2JqZWN0TGlzdCApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdObyBvYmplY3QgYmFja2VuZCBmb3VuZCEnKSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgZm9ybWF0IGxpc3QKICAgICAgICBteSAkRm9ybWF0TGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdExpc3QoKTsKCiAgICAgICAgaWYgKCAhJEZvcm1hdExpc3QgKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTm8gZm9ybWF0IGJhY2tlbmQgZm91bmQhJyksCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICRDbGFzcyA9ICcgVmFsaWRhdGVfUmVxdWlyZWQgJzsKCiAgICAgICAgaWYgKCAkU2VydmVyRXJyb3J7T2JqZWN0fSApIHsKICAgICAgICAgICAgJENsYXNzIC49ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgfQoKICAgICAgICAjIGdlbmVyYXRlIE9iamVjdE9wdGlvblN0cmcKICAgICAgICBteSAkT2JqZWN0T3B0aW9uU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gJE9iamVjdExpc3QsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAnT2JqZWN0JywKICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtPYmplY3R9IHx8ICcnLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDEsCiAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAkQ2xhc3MgLiAnIE1vZGVybml6ZScsCiAgICAgICAgKTsKCiAgICAgICAgJENsYXNzID0gJyBWYWxpZGF0ZV9SZXF1aXJlZCAnOwogICAgICAgIGlmICggJFNlcnZlckVycm9ye0Zvcm1hdH0gKSB7CiAgICAgICAgICAgICRDbGFzcyAuPSAnU2VydmVyRXJyb3InOwogICAgICAgIH0KCiAgICAgICAgIyBnZW5lcmF0ZSBGb3JtYXRPcHRpb25TdHJnCiAgICAgICAgbXkgJEZvcm1hdE9wdGlvblN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRGb3JtYXRMaXN0LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ0Zvcm1hdCcsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17Rm9ybWF0fSB8fCAnJywKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJENsYXNzIC4gJyBNb2Rlcm5pemUnLAogICAgICAgICk7CgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdOZXdPYmplY3RGb3JtYXQnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIE9iamVjdE9wdGlvbiA9PiAkT2JqZWN0T3B0aW9uU3RyZywKICAgICAgICAgICAgICAgIEZvcm1hdE9wdGlvbiA9PiAkRm9ybWF0T3B0aW9uU3RyZywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgb3V0cHV0IGhlYWRlciBhbmQgbmF2YmFyCiAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAjIHN0YXJ0IHRlbXBsYXRlIG91dHB1dAogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkltcG9ydEV4cG9ydCcsCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlUGFyYW0sCiAgICApOwoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCk7CiAgICByZXR1cm4gJE91dHB1dDsKfQoKc3ViIF9NYXNrVGVtcGxhdGVFZGl0MiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVTZXJ2ZXJFcnJvcjsKICAgIGlmICggJFBhcmFte1NlcnZlckVycm9yfSApIHsKICAgICAgICAlU2VydmVyRXJyb3IgPSAleyAkUGFyYW17U2VydmVyRXJyb3J9IH07CiAgICB9CgogICAgbXkgJURhdGFUeXBlRXJyb3I7CiAgICBpZiAoICRQYXJhbXtEYXRhVHlwZUVycm9yfSApIHsKICAgICAgICAlRGF0YVR5cGVFcnJvciA9ICV7ICRQYXJhbXtEYXRhVHlwZUVycm9yfSB9OwogICAgfQoKICAgICMgZ2V0IGxheW91dCBvYmplY3QKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgbXkgJFRlbXBsYXRlSUQ7CiAgICBpZiAoICRQYXJhbXtUZW1wbGF0ZUlEfSApIHsKICAgICAgICAkVGVtcGxhdGVJRCA9ICRQYXJhbXtUZW1wbGF0ZUlEfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdOZWVkZWQgVGVtcGxhdGVJRCEnKSwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBJbXBvcnRFeHBvcnQgb2JqZWN0CiAgICBteSAkSW1wb3J0RXhwb3J0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpOwoKICAgICMgZ2V0IHRlbXBsYXRlIGRhdGEKICAgIG15ICRUZW1wbGF0ZURhdGE7CiAgICAkVGVtcGxhdGVEYXRhID0gJEltcG9ydEV4cG9ydE9iamVjdC0+VGVtcGxhdGVHZXQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICk7CgogICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICRMYXlvdXRPYmplY3QtPkZhdGFsRXJyb3IoCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdUZW1wbGF0ZSBub3QgZm91bmQhJyksCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgIEtleSAgID0+ICdCYWNrVVJMJywKICAgICAgICBWYWx1ZSA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249VGVtcGxhdGVFZGl0MTtUZW1wbGF0ZUlEPSRUZW1wbGF0ZUlEIiwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgIEtleSAgID0+ICdCYXNlTGluaycsCiAgICAgICAgVmFsdWUgPT4gJExheW91dE9iamVjdC0+e0Jhc2VsaW5rfSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgIEtleSAgID0+ICdUZW1wbGF0ZU92ZXJ2aWV3JywKICAgICAgICBWYWx1ZSA9PiAxLAogICAgKTsKCiAgICAjIG91dHB1dCBvdmVydmlldwogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXcnLAogICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QmxvY2soIE5hbWUgPT4gJ0FjdGlvbkxpc3QnICk7CiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jayggTmFtZSA9PiAnQWN0aW9uT3ZlcnZpZXcnICk7CgogICAgIyBvdXRwdXQgbGlzdAogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnVGVtcGxhdGVFZGl0MicsCiAgICAgICAgRGF0YSA9PiAkVGVtcGxhdGVEYXRhLAogICAgKTsKCiAgICAjIGdldCBvYmplY3QgYXR0cmlidXRlcwogICAgbXkgJE9iamVjdEF0dHJpYnV0ZUxpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RBdHRyaWJ1dGVzR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICAjIGdldCBvYmplY3QgZGF0YQogICAgbXkgJE9iamVjdERhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3REYXRhR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICAjIGphdmFzY3JpcHQgdmFsaWRhdGlvbiBjbGFzcyBwZXIgZGF0YXR5cGUKICAgIG15ICVKU0NsYXNzOwogICAgbXkgJVByZWRlZmluZWRFcnJvck1lc3NhZ2VzOwoKICAgICRKU0NsYXNze051bWJlcn0gICAgICAgICAgICAgICAgPSAnVmFsaWRhdGVfTnVtYmVyJzsKICAgICRKU0NsYXNze051bWJlckJpZ2dlclRoYW5aZXJvfSAgPSAnVmFsaWRhdGVfTnVtYmVyQmlnZ2VyVGhhblplcm8nOwogICAgJEpTQ2xhc3N7SW50ZWdlcn0gICAgICAgICAgICAgICA9ICdWYWxpZGF0ZV9OdW1iZXJJbnRlZ2VyJzsKICAgICRKU0NsYXNze0ludGVnZXJCaWdnZXJUaGFuWmVyb30gPSAnVmFsaWRhdGVfTnVtYmVySW50ZWdlckJpZ2dlclRoYW5aZXJvJzsKCiAgICAkUHJlZGVmaW5lZEVycm9yTWVzc2FnZXN7TnVtYmVyfSA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnbnVtYmVyJyk7CiAgICAkUHJlZGVmaW5lZEVycm9yTWVzc2FnZXN7TnVtYmVyQmlnZ2VyVGhhblplcm99CiAgICAgICAgPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ251bWJlciBiaWdnZXIgdGhhbiB6ZXJvJyk7CiAgICAkUHJlZGVmaW5lZEVycm9yTWVzc2FnZXN7SW50ZWdlcn0gPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ2ludGVnZXInKTsKICAgICRQcmVkZWZpbmVkRXJyb3JNZXNzYWdlc3tJbnRlZ2VyQmlnZ2VyVGhhblplcm99CiAgICAgICAgPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ2ludGVnZXIgYmlnZ2VyIHRoYW4gemVybycpOwoKICAgICMgb3V0cHV0IG9iamVjdCBhdHRyaWJ1dGVzCiAgICBmb3IgbXkgJEl0ZW0gKCBAeyRPYmplY3RBdHRyaWJ1dGVMaXN0fSApIHsKCiAgICAgICAgbXkgJENsYXNzID0gJyAnOwogICAgICAgIG15ICRWYWx1ZTsKCiAgICAgICAgbXkgJERhdGFUeXBlRXJyb3I7CiAgICAgICAgbXkgJEVycm9yTWVzc2FnZTsKCiAgICAgICAgaWYgKCAkSXRlbS0+e0lucHV0fS0+e1JlcXVpcmVkfSApIHsKICAgICAgICAgICAgJENsYXNzICAgICAgICA9ICdWYWxpZGF0ZV9SZXF1aXJlZCc7CiAgICAgICAgICAgICRFcnJvck1lc3NhZ2UgPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ0VsZW1lbnQgcmVxdWlyZWQsIHBsZWFzZSBpbnNlcnQgZGF0YScpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCAkSXRlbS0+e0lucHV0fS0+e0RhdGFUeXBlfSApIHsKICAgICAgICAgICAgJENsYXNzIC49ICIgJEpTQ2xhc3N7ICRJdGVtLT57SW5wdXR9LT57RGF0YVR5cGV9IH0iOwogICAgICAgICAgICAkRXJyb3JNZXNzYWdlID0gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKAogICAgICAgICAgICAgICAgJ0ludmFsaWQgZGF0YSwgcGxlYXNlIGluc2VydCBhIHZhbGlkICVzJywKICAgICAgICAgICAgICAgICRQcmVkZWZpbmVkRXJyb3JNZXNzYWdlc3sgJEl0ZW0tPntJbnB1dH0tPntEYXRhVHlwZX0gfQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgZGF0YSBmcm9tIGZvcm0gb3IgZnJvbSBkYXRhYmFzZQogICAgICAgICMgU2VydmVyRXJyb3IgPSBzaG93IHRoZSB3cm9uZyBkYXRhIGluIGZvcm0KICAgICAgICAjICFTZXJ2ZXJFcnJvciA9IHNob3cgZGF0YWJhc2UgZGF0YSBvciBuZXcgZmllbGRzCgogICAgICAgIGlmICggJFBhcmFte1NlcnZlckVycm9yfSB8fCAkUGFyYW17RGF0YVR5cGVFcnJvcn0gKSB7CiAgICAgICAgICAgICRWYWx1ZSA9ICRQYXJhbXtUZW1wbGF0ZURhdGFGb3JtfS0+eyAkSXRlbS0+e0tleX0gfTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRWYWx1ZSA9ICRPYmplY3REYXRhLT57ICRJdGVtLT57S2V5fSB9OwogICAgICAgIH0KCiAgICAgICAgIyBlcnJvciBhcmVhCgogICAgICAgICMgcHJlcGFyZSBkaWZmZXJlbnQgZGF0YSAmIG1lc3NhZ2UgcGVyIGVycm9yCiAgICAgICAgaWYgKCAkU2VydmVyRXJyb3J7ICRJdGVtLT57TmFtZX0gfSB8fCAkRGF0YVR5cGVFcnJvcnsgJEl0ZW0tPntOYW1lfSB9ICkgewogICAgICAgICAgICAkQ2xhc3MgLj0gJyBTZXJ2ZXJFcnJvcic7CiAgICAgICAgfQoKICAgICAgICAjIGNyZWF0ZSBmb3JtIGlucHV0CiAgICAgICAgbXkgJElucHV0U3RyaW5nID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybUlucHV0Q3JlYXRlKAogICAgICAgICAgICBJdGVtICA9PiAkSXRlbSwKICAgICAgICAgICAgQ2xhc3MgPT4gJENsYXNzIC4gJyBNb2Rlcm5pemUnLAogICAgICAgICAgICBWYWx1ZSA9PiAkVmFsdWUsCiAgICAgICAgKTsKCiAgICAgICAgIyBidWlsZCBpZAogICAgICAgIG15ICRJRDsKICAgICAgICBpZiAoICRJdGVtLT57UHJlZml4fSApIHsKICAgICAgICAgICAgJElEID0gIiRJdGVtLT57UHJlZml4fSRJdGVtLT57S2V5fSI7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkSUQgPSAkSXRlbS0+e0tleX07CiAgICAgICAgfQoKICAgICAgICAjIG91dHB1dCBhdHRyaWJ1dGUgcm93CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDJFbGVtZW50JywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJEl0ZW0tPntOYW1lfSB8fCAnJywKICAgICAgICAgICAgICAgIElucHV0U3RyZyAgICA9PiAkSW5wdXRTdHJpbmcsCiAgICAgICAgICAgICAgICBJRCAgICAgICAgICAgPT4gJElELAogICAgICAgICAgICAgICAgRXJyb3JNZXNzYWdlID0+ICRFcnJvck1lc3NhZ2UsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgICAgPT4gJEl0ZW0tPntJbnB1dH0tPntSZXF1aXJlZH0gPyAxIDogMCwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgb3V0cHV0IGhlYWRlciBhbmQgbmF2YmFyCiAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAjIHN0YXJ0IHRlbXBsYXRlIG91dHB1dAogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkltcG9ydEV4cG9ydCcsCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlUGFyYW0sCiAgICApOwoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCk7CiAgICByZXR1cm4gJE91dHB1dDsKCn0KCnN1YiBfTWFza1RlbXBsYXRlRWRpdDMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlU2VydmVyRXJyb3I7CiAgICBpZiAoICRQYXJhbXtTZXJ2ZXJFcnJvcn0gKSB7CiAgICAgICAgJVNlcnZlckVycm9yID0gJXsgJFBhcmFte1NlcnZlckVycm9yfSB9OwogICAgfQoKICAgIG15ICRUZW1wbGF0ZUlEOwogICAgaWYgKCAkUGFyYW17VGVtcGxhdGVJRH0gKSB7CiAgICAgICAgJFRlbXBsYXRlSUQgPSAkUGFyYW17VGVtcGxhdGVJRH07CiAgICB9CgogICAgIyBnZXQgbGF5b3V0IG9iamVjdAogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBpZiAoICEkVGVtcGxhdGVJRCApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnVGVtcGxhdGUgbm90IGZvdW5kIScpLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZ2V0IEltcG9ydEV4cG9ydCBvYmplY3QKICAgIG15ICRJbXBvcnRFeHBvcnRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0Jyk7CgogICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgbXkgJFRlbXBsYXRlRGF0YTsKICAgICRUZW1wbGF0ZURhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICBpZiAoICEkVGVtcGxhdGVEYXRhLT57VGVtcGxhdGVJRH0gKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+RmF0YWxFcnJvcigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ1RlbXBsYXRlIG5vdCBmb3VuZCEnKSwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAkUGFyYW17QmFja1VSTH0gPSAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufTtTdWJhY3Rpb249VGVtcGxhdGVFZGl0MjtUZW1wbGF0ZUlEPSRUZW1wbGF0ZUlEIjsKCiAgICAjIG91dHB1dCBvdmVydmlldwogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnT3ZlcnZpZXcnLAogICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QWRkSlNEYXRhKAogICAgICAgIEtleSAgID0+ICdCYWNrVVJMJywKICAgICAgICBWYWx1ZSA9PiAkUGFyYW17QmFja1VSTH0sCiAgICApOwoKICAgICRMYXlvdXRPYmplY3QtPkFkZEpTRGF0YSgKICAgICAgICBLZXkgICA9PiAnQmFzZUxpbmsnLAogICAgICAgIFZhbHVlID0+ICRMYXlvdXRPYmplY3QtPntCYXNlbGlua30sCiAgICApOwoKICAgICRMYXlvdXRPYmplY3QtPkFkZEpTRGF0YSgKICAgICAgICBLZXkgICA9PiAnVGVtcGxhdGVPdmVydmlldycsCiAgICAgICAgVmFsdWUgPT4gMSwKICAgICk7CgogICAgJExheW91dE9iamVjdC0+QmxvY2soIE5hbWUgPT4gJ0FjdGlvbkxpc3QnICk7CiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jayggTmFtZSA9PiAnQWN0aW9uT3ZlcnZpZXcnICk7CgogICAgIyBvdXRwdXQgbGlzdAogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnVGVtcGxhdGVFZGl0MycsCiAgICAgICAgRGF0YSA9PiAkVGVtcGxhdGVEYXRhLAogICAgKTsKCiAgICAjIGdldCBmb3JtYXQgYXR0cmlidXRlcwogICAgbXkgJEZvcm1hdEF0dHJpYnV0ZUxpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXRBdHRyaWJ1dGVzR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICAjIGdldCBmb3JtYXQgZGF0YQogICAgbXkgJEZvcm1hdERhdGEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXREYXRhR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICBpZiAoICEkRm9ybWF0RGF0YSApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5GYXRhbEVycm9yKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnRm9ybWF0IG5vdCBmb3VuZCEnKSwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIG91dHB1dCBmb3JtYXQgYXR0cmlidXRlcwogICAgZm9yIG15ICRJdGVtICggQHskRm9ybWF0QXR0cmlidXRlTGlzdH0gKSB7CgogICAgICAgICMgYnVpbGQgaWQKICAgICAgICBteSAkSUQ7CiAgICAgICAgaWYgKCAkSXRlbS0+e1ByZWZpeH0gKSB7CiAgICAgICAgICAgICRJRCA9ICIkSXRlbS0+e1ByZWZpeH0kSXRlbS0+e0tleX0iOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJElEID0gIiRJdGVtLT57S2V5fSI7CiAgICAgICAgfQoKICAgICAgICBteSAkQ2xhc3MgPSAnICc7CiAgICAgICAgaWYgKCAkSXRlbS0+e0lucHV0fS0+e1JlcXVpcmVkfSApIHsKICAgICAgICAgICAgJENsYXNzID0gJ1ZhbGlkYXRlX1JlcXVpcmVkICc7CiAgICAgICAgfQoKICAgICAgICBpZiAoICRTZXJ2ZXJFcnJvcnsgJEl0ZW0tPntOYW1lfSB9ICkgewogICAgICAgICAgICAkQ2xhc3MgLj0gJyBTZXJ2ZXJFcnJvcic7CiAgICAgICAgfQoKICAgICAgICAjIGNyZWF0ZSBmb3JtIGlucHV0CiAgICAgICAgbXkgJElucHV0U3RyaW5nID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybUlucHV0Q3JlYXRlKAogICAgICAgICAgICBJdGVtICA9PiAkSXRlbSwKICAgICAgICAgICAgQ2xhc3MgPT4gJENsYXNzIC4gJyBNb2Rlcm5pemUnLAogICAgICAgICAgICBWYWx1ZSA9PiAkRm9ybWF0RGF0YS0+eyAkSXRlbS0+e0tleX0gfSwKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dCBhdHRyaWJ1dGUgcm93CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RlbXBsYXRlRWRpdDNFbGVtZW50JywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgPT4gJEl0ZW0tPntOYW1lfSB8fCAnJywKICAgICAgICAgICAgICAgIElucHV0U3RyZyA9PiAkSW5wdXRTdHJpbmcsCiAgICAgICAgICAgICAgICBJRCAgICAgICAgPT4gJElELAogICAgICAgICAgICAgICAgTWFuZGF0b3J5ID0+ICRJdGVtLT57SW5wdXR9LT57UmVxdWlyZWR9ID8gMSA6IDAsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQgcmVxdWlyZWQgbm90aWNlCiAgICAgICAgaWYgKCAkSXRlbS0+e0lucHV0fS0+e1JlcXVpcmVkfSApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUZW1wbGF0ZUVkaXQzRWxlbWVudFJlcXVpcmVkJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJEl0ZW0tPntOYW1lfSB8fCAnJywKICAgICAgICAgICAgICAgICAgICBJRCAgID0+ICRJRCwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgb3V0cHV0IGhlYWRlciBhbmQgbmF2YmFyCiAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAjIHN0YXJ0IHRlbXBsYXRlIG91dHB1dAogICAgJE91dHB1dCAuPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZG1pbkltcG9ydEV4cG9ydCcsCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlUGFyYW0sCiAgICApOwoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+Rm9vdGVyKCk7CiAgICByZXR1cm4gJE91dHB1dDsKCn0KCjE7Cg==</File>
        <File Permission="660" Location="Kernel/Output/HTML/ImportExport/LayoutCheckbox.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRDaGVja2JveDsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2cnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnLAopOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6T3V0cHV0OjpIVE1MOjpJbXBvcnRFeHBvcnQ6OkxheW91dENoZWNrYm94IC0gbGF5b3V0IGJhY2tlbmQgbW9kdWxlCgo9aGVhZDEgREVTQ1JJUFRJT04KCkFsbCBsYXlvdXQgZnVuY3Rpb25zIGZvciBjaGVja2JveCBlbGVtZW50cyBpbiBpbXBvcnQvZXhwb3J0LgoKPWN1dAoKPWhlYWQyIG5ldygpCgpDcmVhdGUgYW4gb2JqZWN0CgogICAgJEJhY2tlbmRPYmplY3QgPSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRDaGVja2JveC0+bmV3KAogICAgICAgICVQYXJhbSwKICAgICk7Cgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKPWhlYWQyIEZvcm1JbnB1dENyZWF0ZSgpCgpDcmVhdGUgYSBpbnB1dCBzdHJpbmcKCiAgICBteSAkVmFsdWUgPSAkQmFja2VuZE9iamVjdC0+Rm9ybUlucHV0Q3JlYXRlKAogICAgICAgIEl0ZW0gICA9PiAkSXRlbVJlZiwKICAgICAgICBQcmVmaXggPT4gJ1ByZWZpeDo6JywgICMgKG9wdGlvbmFsKQogICAgICAgIFZhbHVlICA9PiAnVmFsdWUnLCAgICAgIyAob3B0aW9uYWwpCiAgICApOwoKPWN1dAoKc3ViIEZvcm1JbnB1dENyZWF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17SXRlbX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEl0ZW0hJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAkUGFyYW17UHJlZml4fSB8fD0gJyc7CgogICAgbXkgJENoZWNrZWQgPSAkUGFyYW17VmFsdWV9ID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnOwoKICAgIHJldHVybgogICAgICAgIHFxezxpbnB1dCBpZD0iJFBhcmFte1ByZWZpeH0kUGFyYW17SXRlbX0tPntLZXl9IiB0eXBlPSJjaGVja2JveCIgbmFtZT0iJFBhcmFte1ByZWZpeH0kUGFyYW17SXRlbX0tPntLZXl9IiAkQ2hlY2tlZCAvPn07Cn0KCj1oZWFkMiBGb3JtRGF0YUdldCgpCgpHZXQgZm9ybSBkYXRhCgogICAgbXkgJEZvcm1EYXRhID0gJEJhY2tlbmRPYmplY3QtPkZvcm1EYXRhR2V0KAogICAgICAgIEl0ZW0gICA9PiAkSXRlbVJlZiwKICAgICAgICBQcmVmaXggPT4gJ1ByZWZpeDo6JywgICMgKG9wdGlvbmFsKQogICAgKTsKCj1jdXQKCnN1YiBGb3JtRGF0YUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17SXRlbX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEl0ZW0hJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAkUGFyYW17UHJlZml4fSB8fD0gJyc7CgogICAgIyBnZXQgZm9ybSBkYXRhCiAgICBteSAkRm9ybURhdGEgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0JyktPkdldFBhcmFtKAogICAgICAgIFBhcmFtID0+ICRQYXJhbXtQcmVmaXh9IC4gJFBhcmFte0l0ZW19LT57S2V5fSwKICAgICk7CgogICAgcmV0dXJuICRGb3JtRGF0YTsKfQoKMTsKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVFJTIHByb2plY3QgKEw8aHR0cHM6Ly9vdHJzLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQK</File>
        <File Permission="660" Location="Kernel/Output/HTML/ImportExport/LayoutTT.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRUVDsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpMb2cnLAopOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6T3V0cHV0OjpIVE1MOjpJbXBvcnRFeHBvcnQ6OkxheW91dFRUIC0gbGF5b3V0IGJhY2tlbmQgbW9kdWxlCgo9aGVhZDEgREVTQ1JJUFRJT04KCkFsbCBsYXlvdXQgZnVuY3Rpb25zIGZvciBkaXNwbGF5IEM8VFQ+IGNvZGUKCj1jdXQKCj1oZWFkMiBuZXcoKQoKQ3JlYXRlIGFuIG9iamVjdAoKICAgICRCYWNrZW5kT2JqZWN0ID0gS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkltcG9ydEV4cG9ydDo6TGF5b3V0VFQtPm5ldygKICAgICAgICAlUGFyYW0sCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1oZWFkMiBGb3JtSW5wdXRDcmVhdGUoKQoKQ3JlYXRlIGEgaW5wdXQgc3RyaW5nCgogICAgbXkgJFZhbHVlID0gJEJhY2tlbmRPYmplY3QtPkZvcm1JbnB1dENyZWF0ZSgKICAgICAgICBJdGVtID0+ICRJdGVtUmVmLAogICAgKTsKCj1jdXQKCnN1YiBGb3JtSW5wdXRDcmVhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte0l0ZW19ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBJdGVtIScKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICByZXR1cm4gJFBhcmFte0l0ZW19LT57SW5wdXR9LT57RGF0YX07Cn0KCj1oZWFkMiBGb3JtRGF0YUdldCgpCgpHZXQgZm9ybSBkYXRhCgogICAgbXkgJEZvcm1EYXRhID0gJEJhY2tlbmRPYmplY3QtPkZvcm1EYXRhR2V0KCk7Cgo9Y3V0CgpzdWIgRm9ybURhdGFHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm47Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHBzOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Permission="660" Location="Kernel/Output/HTML/ImportExport/LayoutSelection.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRTZWxlY3Rpb247Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpvdXIgQE9iamVjdERlcGVuZGVuY2llcyA9ICgKICAgICdLZXJuZWw6OlN5c3RlbTo6TG9nJywKICAgICdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0JywKICAgICdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0JywKKTsKCj1oZWFkMSBOQU1FCgpLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRTZWxlY3Rpb24gLSBsYXlvdXQgYmFja2VuZCBtb2R1bGUKCj1oZWFkMSBERVNDUklQVElPTgoKQWxsIGxheW91dCBmdW5jdGlvbnMgZm9yIHNlbGVjdGlvbiBlbGVtZW50cwoKPWN1dAoKPWhlYWQyIG5ldygpCgpDcmVhdGUgYW4gb2JqZWN0CgogICAgJEJhY2tlbmRPYmplY3QgPSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRTZWxlY3Rpb24tPm5ldygKICAgICAgICAlUGFyYW0sCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1oZWFkMiBGb3JtSW5wdXRDcmVhdGUoKQoKQ3JlYXRlIGEgaW5wdXQgc3RyaW5nCgogICAgbXkgJFZhbHVlID0gJEJhY2tlbmRPYmplY3QtPkZvcm1JbnB1dENyZWF0ZSgKICAgICAgICBJdGVtICAgPT4gJEl0ZW1SZWYsCiAgICAgICAgUHJlZml4ID0+ICdQcmVmaXg6OicsICAjIChvcHRpb25hbCkKICAgICAgICBWYWx1ZSAgPT4gJ1ZhbHVlJywgICAgICMgKG9wdGlvbmFsKQogICAgICAgIENsYXNzICA9PiAnTW9kZXJuaXplJyAgIyAob3B0aW9uYWwpCiAgICApOwoKPWN1dAoKc3ViIEZvcm1JbnB1dENyZWF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17SXRlbX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEl0ZW0hJwogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgc2V0IGRlZmF1bHQgdmFsdWUKICAgICRQYXJhbXtQcmVmaXh9IHx8PSAnJzsKICAgICRQYXJhbXtWYWx1ZX0gIHx8PSAkUGFyYW17SXRlbX0tPntJbnB1dH0tPntWYWx1ZURlZmF1bHR9OwoKICAgIGlmICggJFBhcmFte1ZhbHVlfSAmJiAkUGFyYW17VmFsdWV9ID1+IG17ICMjIyMjIH14bXMgKSB7CiAgICAgICAgbXkgQFZhbHVlcyA9IHNwbGl0ICcjIyMjIycsICRQYXJhbXtWYWx1ZX07CiAgICAgICAgJFBhcmFte1ZhbHVlfSA9IFxAVmFsdWVzOwogICAgfQoKICAgICMgZ2VuZXJhdGUgb3B0aW9uIHN0cmluZwogICAgbXkgJFN0cmluZyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgSUQgICAgICAgICAgID0+ICRQYXJhbXtQcmVmaXh9IC4gJFBhcmFte0l0ZW19LT57S2V5fSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJFBhcmFte0NsYXNzfSwKICAgICAgICBOYW1lICAgICAgICAgPT4gJFBhcmFte1ByZWZpeH0gLiAkUGFyYW17SXRlbX0tPntLZXl9LAogICAgICAgIERhdGEgICAgICAgICA9PiAkUGFyYW17SXRlbX0tPntJbnB1dH0tPntEYXRhfSB8fCB7fSwKICAgICAgICBTZWxlY3RlZElEICAgPT4gJFBhcmFte1ZhbHVlfSwKICAgICAgICBUcmFuc2xhdGlvbiAgPT4gJFBhcmFte0l0ZW19LT57SW5wdXR9LT57VHJhbnNsYXRpb259LAogICAgICAgIFRyZWVWaWV3ICAgICA9PiAkUGFyYW17SXRlbX0tPntJbnB1dH0tPntUcmVlVmlld30gfHwgMCwKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gJFBhcmFte0l0ZW19LT57SW5wdXR9LT57UG9zc2libGVOb25lfSwKICAgICAgICBNdWx0aXBsZSAgICAgPT4gJFBhcmFte0l0ZW19LT57SW5wdXR9LT57TXVsdGlwbGV9LAogICAgICAgIFNpemUgICAgICAgICA9PiAkUGFyYW17SXRlbX0tPntJbnB1dH0tPntTaXplfSwKICAgICk7CgogICAgcmV0dXJuICRTdHJpbmc7Cn0KCj1oZWFkMiBGb3JtRGF0YUdldCgpCgpHZXQgZm9ybSBkYXRhCgogICAgbXkgJEZvcm1EYXRhID0gJEJhY2tlbmRPYmplY3QtPkZvcm1EYXRhR2V0KAogICAgICAgIEl0ZW0gICA9PiAkSXRlbVJlZiwKICAgICAgICBQcmVmaXggPT4gJ1ByZWZpeDo6JywgICMgKG9wdGlvbmFsKQogICAgKTsKCj1jdXQKCnN1YiBGb3JtRGF0YUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17SXRlbX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEl0ZW0hJwogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICRQYXJhbXtQcmVmaXh9IHx8PSAnJzsKCiAgICAjIGdldCBmb3JtIGRhdGEKICAgIG15IEBGb3JtRGF0YXMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0JyktPkdldEFycmF5KAogICAgICAgIFBhcmFtID0+ICRQYXJhbXtQcmVmaXh9IC4gJFBhcmFte0l0ZW19LT57S2V5fSwKICAgICk7CgogICAgbXkgJEZvcm1EYXRhID0gam9pbiAnIyMjIyMnLCBARm9ybURhdGFzOwoKICAgIHJldHVybiAkRm9ybURhdGEgaWYgJEZvcm1EYXRhOwogICAgcmV0dXJuICRGb3JtRGF0YSBpZiAhJFBhcmFte0l0ZW19LT57SW5wdXR9LT57UmVxdWlyZWR9OwoKICAgICMgc2V0IGludmFsaWQgcGFyYW0KICAgICRQYXJhbXtJdGVtfS0+e0Zvcm19LT57SW52YWxpZH0gPSAxOwoKICAgIHJldHVybiAkRm9ybURhdGE7Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHBzOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Permission="660" Location="Kernel/Output/HTML/ImportExport/LayoutText.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRUZXh0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKb3VyIEBPYmplY3REZXBlbmRlbmNpZXMgPSAoCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcsCiAgICAnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcsCik7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkltcG9ydEV4cG9ydDo6TGF5b3V0VGV4dCAtIGxheW91dCBiYWNrZW5kIG1vZHVsZQoKPWhlYWQxIERFU0NSSVBUSU9OCgpBbGwgbGF5b3V0IGZ1bmN0aW9ucyBmb3IgdGV4dCBlbGVtZW50cwoKPWN1dAoKPWhlYWQyIG5ldygpCgpDcmVhdGUgYW4gb2JqZWN0CgogICAgJEJhY2tlbmRPYmplY3QgPSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXRUZXh0LT5uZXcoCiAgICAgICAgJVBhcmFtLAogICAgKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aGVhZDIgRm9ybUlucHV0Q3JlYXRlKCkKCkNyZWF0ZSBhIGlucHV0IHN0cmluZwoKICAgIG15ICRWYWx1ZSA9ICRCYWNrZW5kT2JqZWN0LT5Gb3JtSW5wdXRDcmVhdGUoCiAgICAgICAgSXRlbSAgICAgPT4gJEl0ZW1SZWYsCiAgICAgICAgUHJlZml4ICAgPT4gJ1ByZWZpeDo6JywgICMgKG9wdGlvbmFsKQogICAgICAgIFZhbHVlICAgID0+ICdWYWx1ZScsICAgICAjIChvcHRpb25hbCkKICAgICAgICBSZWFkb25seSA9PiAxLCAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICApOwoKPWN1dAoKc3ViIEZvcm1JbnB1dENyZWF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17SXRlbX0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEl0ZW0hJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAkUGFyYW17UHJlZml4fSB8fD0gJyc7CgogICAgbXkgJFZhbHVlID0gJFBhcmFte1ZhbHVlfSAgICAgICAgICAgICAgICAgfHwgJFBhcmFte0l0ZW19LT57SW5wdXR9LT57VmFsdWVEZWZhdWx0fTsKICAgIG15ICRTaXplICA9ICRQYXJhbXtJdGVtfS0+e0lucHV0fS0+e1NpemV9IHx8IDQwOwogICAgbXkgJFNpemVDbGFzczsKICAgIGlmICggJFNpemUgPCAxNSApIHsKICAgICAgICAkU2l6ZUNsYXNzID0gJ1cxMHBjJzsKICAgIH0KICAgIGVsc2lmICggJFNpemUgPCAzNSApIHsKICAgICAgICAkU2l6ZUNsYXNzID0gJ1czM3BjJzsKICAgIH0KICAgIGVsc2lmICggJFNpemUgPCA1MCApIHsKICAgICAgICAkU2l6ZUNsYXNzID0gJ1c1MHBjJzsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRTaXplQ2xhc3MgPSAnVzc1cGMnOwogICAgfQoKICAgICMgcHJlcGFyZSBkYXRhCiAgICBteSAkSUQgICA9ICggJFBhcmFte1ByZWZpeH0gfHwgJycgKSAuICggJFBhcmFte0l0ZW19LT57S2V5fSApOwogICAgbXkgJE5hbWUgPSAoICRQYXJhbXtQcmVmaXh9IHx8ICcnICkgLiAoICRQYXJhbXtOYW1lfSB8fCAkSUQgKTsKICAgIG15ICRDbGFzcyA9ICggJFNpemVDbGFzcyB8fCAnJyApIC4gKCAkUGFyYW17Q2xhc3N9IHx8ICcnICk7CgogICAgbXkgJFN0cmluZyA9ICI8aW5wdXQgaWQ9XCIkSURcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCIkTmFtZVwiIGNsYXNzPVwiJENsYXNzXCIgIjsKCiAgICBpZiAoJFZhbHVlKSB7CgogICAgICAgICMgZ2V0IGxheW91dCBvYmplY3QKICAgICAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgICAgICAjIHRyYW5zbGF0ZQogICAgICAgIGlmICggJFBhcmFte0l0ZW19LT57SW5wdXR9LT57VHJhbnNsYXRpb259ICkgewogICAgICAgICAgICAkVmFsdWUgPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJFZhbHVlKTsKICAgICAgICB9CgogICAgICAgICMgdHJhbnNmb3JtIGFzY2lpIHRvIGh0bWwKICAgICAgICAkVmFsdWUgPSAkTGF5b3V0T2JqZWN0LT5Bc2NpaTJIdG1sKAogICAgICAgICAgICBUZXh0ICAgICAgICAgICA9PiAkVmFsdWUsCiAgICAgICAgICAgIEhUTUxSZXN1bHRNb2RlID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgJFN0cmluZyAuPSAidmFsdWU9XCIkVmFsdWVcIiAiOwogICAgfQoKICAgICMgYWRkIG1heGltdW0gbGVuZ3RoCiAgICBpZiAoICRQYXJhbXtJdGVtfS0+e0lucHV0fS0+e01heExlbmd0aH0gKSB7CiAgICAgICAgJFN0cmluZyAuPSAibWF4bGVuZ3RoPVwiJFBhcmFte0l0ZW19LT57SW5wdXR9LT57TWF4TGVuZ3RofVwiICI7CiAgICB9CgogICAgIyBhZGQgcmVhZG9ubHkKICAgIGlmICggJFBhcmFte0l0ZW19LT57SW5wdXR9LT57UmVhZG9ubHl9ICkgewogICAgICAgICRTdHJpbmcgLj0gJ3JlYWRvbmx5PSJyZWFkb25seSIgJzsKICAgIH0KCiAgICAkU3RyaW5nIC49ICIvPiAiOwoKICAgIHJldHVybiAkU3RyaW5nOwp9Cgo9aGVhZDIgRm9ybURhdGFHZXQoKQoKR2V0IGZvcm0gZGF0YQoKICAgIG15ICRGb3JtRGF0YSA9ICRCYWNrZW5kT2JqZWN0LT5Gb3JtRGF0YUdldCgKICAgICAgICBJdGVtICAgPT4gJEl0ZW1SZWYsCiAgICAgICAgUHJlZml4ID0+ICdQcmVmaXg6OicsICAjIChvcHRpb25hbCkKICAgICk7Cgo9Y3V0CgpzdWIgRm9ybURhdGFHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte0l0ZW19ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBJdGVtIScKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAkUGFyYW17UHJlZml4fSB8fD0gJyc7CgogICAgIyBnZXQgZm9ybSBkYXRhCiAgICBteSAkRm9ybURhdGEgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0JyktPkdldFBhcmFtKAogICAgICAgIFBhcmFtID0+ICRQYXJhbXtQcmVmaXh9IC4gJFBhcmFte0l0ZW19LT57S2V5fSwKICAgICk7CgogICAgIyByZWdleCBjaGVjawogICAgaWYgKCAkUGFyYW17SXRlbX0tPntJbnB1dH0tPntSZWdleH0gJiYgJEZvcm1EYXRhICF+ICRQYXJhbXtJdGVtfS0+e0lucHV0fS0+e1JlZ2V4fSApIHsKCiAgICAgICAgJFBhcmFte0l0ZW19LT57Rm9ybX0tPntJbnZhbGlkfSA9IDE7CiAgICAgICAgcmV0dXJuICRGb3JtRGF0YTsKICAgIH0KCiAgICByZXR1cm4gJEZvcm1EYXRhIGlmICRGb3JtRGF0YTsKICAgIHJldHVybiAkRm9ybURhdGEgaWYgISRQYXJhbXtJdGVtfS0+e0lucHV0fS0+e1JlcXVpcmVkfTsKCiAgICAjIHNldCBpbnZhbGlkIHBhcmFtCiAgICAkUGFyYW17SXRlbX0tPntGb3JtfS0+e0ludmFsaWR9ID0gMTsKCiAgICByZXR1cm4gJEZvcm1EYXRhOwp9CgoxOwoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwczovL290cnMub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQ+LgoKPWN1dAo=</File>
        <File Permission="660" Location="Kernel/Output/HTML/Layout/ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0OjpJbXBvcnRFeHBvcnQ7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpvdXIgJE9iamVjdE1hbmFnZXJEaXNhYmxlZCA9IDE7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dDo6SW1wb3J0RXhwb3J0Cgo9Y3V0Cgo9aGVhZDIgSW1wb3J0RXhwb3J0Rm9ybUlucHV0Q3JlYXRlKCkKClJldHVybnMgYSBpbnB1dCBmaWVsZCBodG1sIHN0cmluZwoKICAgIG15ICRTdHJpbmcgPSAkTGF5b3V0T2JqZWN0LT5JbXBvcnRFeHBvcnRGb3JtSW5wdXRDcmVhdGUoCiAgICAgICAgSXRlbSAgPT4gJEl0ZW1SZWYsCiAgICAgICAgVmFsdWUgPT4gJ1ZhbHVlJywgICAjIChvcHRpb25hbCkKICAgICk7Cgo9Y3V0CgpzdWIgSW1wb3J0RXhwb3J0Rm9ybUlucHV0Q3JlYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtJdGVtfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgSXRlbSEnCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBsb2FkIGJhY2tlbmQKICAgIG15ICRCYWNrZW5kT2JqZWN0ID0gJFNlbGYtPl9JbXBvcnRFeHBvcnRMb2FkTGF5b3V0QmFja2VuZCgKICAgICAgICBUeXBlID0+ICRQYXJhbXtJdGVtfS0+e0lucHV0fS0+e1R5cGV9LAogICAgKTsKCiAgICByZXR1cm4gJycgaWYgISRCYWNrZW5kT2JqZWN0OwoKICAgICMgbG9va3VwIGl0ZW0gdmFsdWUKICAgIG15ICRTdHJpbmcgPSAkQmFja2VuZE9iamVjdC0+Rm9ybUlucHV0Q3JlYXRlKCVQYXJhbSk7CgogICAgcmV0dXJuICRTdHJpbmc7Cn0KCj1oZWFkMiBJbXBvcnRFeHBvcnRGb3JtRGF0YUdldCgpCgpSZXR1cm5zIHRoZSB2YWx1ZXMgZnJvbSB0aGUgaHRtbCBmb3JtIGFzIGhhc2ggcmVmZXJlbmNlCgogICAgbXkgJEZvcm1EYXRhID0gJExheW91dE9iamVjdC0+SW1wb3J0RXhwb3J0Rm9ybURhdGFHZXQoCiAgICAgICAgSXRlbSA9PiAkSXRlbVJlZiwKICAgICk7Cgo9Y3V0CgpzdWIgSW1wb3J0RXhwb3J0Rm9ybURhdGFHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte0l0ZW19ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBJdGVtIScKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGxvYWQgYmFja2VuZAogICAgbXkgJEJhY2tlbmRPYmplY3QgPSAkU2VsZi0+X0ltcG9ydEV4cG9ydExvYWRMYXlvdXRCYWNrZW5kKAogICAgICAgIFR5cGUgPT4gJFBhcmFte0l0ZW19LT57SW5wdXR9LT57VHlwZX0sCiAgICApOwoKICAgIHJldHVybiBpZiAhJEJhY2tlbmRPYmplY3Q7CgogICAgIyBnZXQgZm9ybSBkYXRhCiAgICBteSAkRm9ybURhdGEgPSAkQmFja2VuZE9iamVjdC0+Rm9ybURhdGFHZXQoJVBhcmFtKTsKCiAgICByZXR1cm4gJEZvcm1EYXRhOwp9Cgo9aGVhZDIgX0ltcG9ydEV4cG9ydExvYWRMYXlvdXRCYWNrZW5kKCkKClRvIGxvYWQgYSBpbXBvcnQvZXhwb3J0IGxheW91dCBiYWNrZW5kIG1vZHVsZQoKICAgIG15ICRCYWNrZW5kID0gJExheW91dE9iamVjdC0+X0ltcG9ydEV4cG9ydExvYWRMYXlvdXRCYWNrZW5kKAogICAgICAgIFR5cGUgPT4gJ1NlbGVjdGlvbicsCiAgICApOwoKQW4gaW5zdGFuY2Ugb2YgdGhlIGxvYWRlZCBiYWNrZW5kIG1vZHVsZSBpcyByZXR1cm5lZC4KCj1jdXQKCnN1YiBfSW1wb3J0RXhwb3J0TG9hZExheW91dEJhY2tlbmQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgIGlmICggISRQYXJhbXtUeXBlfSApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFR5cGUhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBteSAkR2VuZXJpY01vZHVsZSA9ICJLZXJuZWw6Ok91dHB1dDo6SFRNTDo6SW1wb3J0RXhwb3J0OjpMYXlvdXQkUGFyYW17VHlwZX0iOwoKICAgICMgbG9hZCB0aGUgYmFja2VuZCBtb2R1bGUKICAgIGlmICggISRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpNYWluJyktPlJlcXVpcmUoJEdlbmVyaWNNb2R1bGUpICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNhbid0IGxvYWQgYmFja2VuZCBtb2R1bGUgJFBhcmFte1R5cGV9ISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjcmVhdGUgbmV3IGluc3RhbmNlCiAgICBteSAkQmFja2VuZE9iamVjdCA9ICRHZW5lcmljTW9kdWxlLT5uZXcoCiAgICAgICAgJXskU2VsZn0sCiAgICAgICAgJVBhcmFtLAogICAgICAgIExheW91dE9iamVjdCA9PiAkU2VsZiwKICAgICk7CgogICAgaWYgKCAhJEJhY2tlbmRPYmplY3QgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiQ2FuJ3QgY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIGJhY2tlbmQgbW9kdWxlICRQYXJhbXtUeXBlfSEiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHJldHVybiAkQmFja2VuZE9iamVjdDsKfQoKMTsKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVFJTIHByb2plY3QgKEw8aHR0cHM6Ly9vdHJzLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQK</File>
        <File Permission="660" Location="Kernel/Output/HTML/Templates/Standard/AdminImportExport.tt" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXciKSAlXQo8ZGl2IGNsYXNzPSJNYWluQm94IEFSSUFSb2xlTWFpbiBMYXlvdXRGaXhlZFNpZGViYXIgU2lkZWJhckZpcnN0IEFjdGlvbnNTaWRlQmFyIEFkbWluTWFuYWdlbWVudCI+CiAgICA8aDEgY2xhc3M9IkludmlzaWJsZVRleHQiPlslIFRyYW5zbGF0ZSgiSW1wb3J0L0V4cG9ydCBNYW5hZ2VtZW50IikgfCBodG1sICVdPC9oMT4KCiAgICA8ZGl2IGNsYXNzPSJTaWRlYmFyQ29sdW1uIEFjdGlvbnNTaWRlQmFyQ29tcCI+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJBY3Rpb25MaXN0IikgJV0KICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZSgiQWN0aW9ucyIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iQWN0aW9uTGlzdCI+ClslIFJlbmRlckJsb2NrU3RhcnQoIkFjdGlvbk92ZXJ2aWV3IikgJV0KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdIiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeSBidG4tbWFpbiBidG4td2lkdGgtbWQiPjxzcGFuPjxpIGNsYXNzPSJmYSBmYS1jYXJldC1sZWZ0Ij48L2k+WyUgVHJhbnNsYXRlKCJHbyB0byBvdmVydmlldyIpIHwgaHRtbCAlXTwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KWyUgUmVuZGVyQmxvY2tFbmQoIkFjdGlvbk92ZXJ2aWV3IikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiQWN0aW9uQWRkIikgJV0KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1UZW1wbGF0ZUVkaXQxIiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeSBidG4tbWFpbiBidG4td2lkdGgtbWQiPjxzcGFuPjxpIGNsYXNzPSJmYSBmYS1wbHVzLXNxdWFyZSI+PC9pPlslIFRyYW5zbGF0ZSgiQWRkIHRlbXBsYXRlIikgfCBodG1sICVdPC9zcGFuPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgpbJSBSZW5kZXJCbG9ja0VuZCgiQWN0aW9uQWRkIikgJV0KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiQWN0aW9uTGlzdCIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJOb3RlQ3JlYXRlVGVtcGxhdGUiKSAlXQogICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJOb3RlIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPgogICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiQ3JlYXRlIGEgdGVtcGxhdGUgdG8gaW1wb3J0IGFuZCBleHBvcnQgb2JqZWN0IGluZm9ybWF0aW9uLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIk5vdGVDcmVhdGVUZW1wbGF0ZSIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJOb3RlT2JqZWN0QmFja2VuZCIpICVdCiAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIk5vdGUiKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUbyB1c2UgdGhpcyBtb2R1bGUsIHlvdSBuZWVkIHRvIGluc3RhbGwgSVRTTUNvbmZpZ3VyYXRpb25NYW5hZ2VtZW50IG9yIGFueSBvdGhlciBwYWNrYWdlIHRoYXQgcHJvdmlkZXMgYmFjayBlbmQgZm9yIG9iamVjdHMgdG8gYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIk5vdGVPYmplY3RCYWNrZW5kIikgJV0KCgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iQ29udGVudENvbHVtbiI+CiAgICAgICAgWyUgQnJlYWRjcnVtYlBhdGggPSBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiBUcmFuc2xhdGUoJ0ltcG9ydC9FeHBvcnQgTWFuYWdlbWVudCcpLAogICAgICAgICAgICAgICAgICAgIExpbmsgPT4gRW52KCJBY3Rpb24iKSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF0KICAgICAgICAlXQoKICAgICAgICBbJSBTV0lUQ0ggRGF0YS5TdWJhY3Rpb24gJV0KICAgICAgICAgICAgWyUgQ0FTRSAnVGVtcGxhdGVFZGl0MScgJV0KICAgICAgICAgICAgICAgIFslIEJyZWFkY3J1bWJQYXRoLnB1c2goeyBOYW1lID0+IFRyYW5zbGF0ZSgiU3RlcCAxIG9mIDUgLSBFZGl0IGNvbW1vbiBpbmZvcm1hdGlvbiIpLH0pICVdCiAgICAgICAgICAgIFslIENBU0UgJ1RlbXBsYXRlRWRpdDInICVdCiAgICAgICAgICAgICAgICBbJSBCcmVhZGNydW1iUGF0aC5wdXNoKHsgTmFtZSA9PiBUcmFuc2xhdGUoIlN0ZXAgMiBvZiA1IC0gRWRpdCBvYmplY3QgaW5mb3JtYXRpb24iKSx9KSAlXQogICAgICAgICAgICBbJSBDQVNFICdUZW1wbGF0ZUVkaXQzJyAlXQogICAgICAgICAgICAgICAgWyUgQnJlYWRjcnVtYlBhdGgucHVzaCh7IE5hbWUgPT4gVHJhbnNsYXRlKCJTdGVwIDMgb2YgNSAtIEVkaXQgZm9ybWF0IGluZm9ybWF0aW9uIiksfSkgJV0KICAgICAgICAgICAgWyUgQ0FTRSAnVGVtcGxhdGVFZGl0NCcgJV0KICAgICAgICAgICAgICAgIFslIEJyZWFkY3J1bWJQYXRoLnB1c2goeyBOYW1lID0+IFRyYW5zbGF0ZSgiU3RlcCA0IG9mIDUgLSBFZGl0IG1hcHBpbmcgaW5mb3JtYXRpb24iKSx9KSAlXQogICAgICAgICAgICBbJSBDQVNFICdUZW1wbGF0ZUVkaXQ1JyAlXQogICAgICAgICAgICAgICAgWyUgQnJlYWRjcnVtYlBhdGgucHVzaCh7IE5hbWUgPT4gVHJhbnNsYXRlKCJTdGVwIDUgb2YgNSAtIEVkaXQgc2VhcmNoIGluZm9ybWF0aW9uIiksfSkgJV0KICAgICAgICBbJSBFTkQgJV0KCiAgICAgICAgWyUgSU5DTFVERSAiQnJlYWRjcnVtYi50dCIgUGF0aCA9IEJyZWFkY3J1bWJQYXRoICVdCiAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiT3ZlcnZpZXdMaXN0IikgJV0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoRGF0YS5PYmplY3ROYW1lKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9IkRhdGFUYWJsZSI+CiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+WyUgVHJhbnNsYXRlKCJOdW1iZXIiKSB8IGh0bWwgJV08L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlslIFRyYW5zbGF0ZSgiTmFtZSIpIHwgaHRtbCAlXTwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+WyUgVHJhbnNsYXRlKCJGb3JtYXQiKSB8IGh0bWwgJV08L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlslIFRyYW5zbGF0ZSgiVmFsaWRpdHkiKSB8IGh0bWwgJV08L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJDZW50ZXIiPlslIFRyYW5zbGF0ZSgiRGVsZXRlIikgfCBodG1sICVdPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5bJSBUcmFuc2xhdGUoIkltcG9ydCIpIHwgaHRtbCAlXTwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+WyUgVHJhbnNsYXRlKCJFeHBvcnQiKSB8IGh0bWwgJV08L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgPHRib2R5PgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJOb0RhdGFGb3VuZE1zZyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk5vIGRhdGEgZm91bmQuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiTm9EYXRhRm91bmRNc2ciKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJPdmVydmlld0xpc3RSb3ciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8dHIgWyUgSUYgRGF0YS5WYWxpZElEICE9IDElXWNsYXNzPSJJbnZhbGlkIlslIEVORCAlXSAgaWQ9IlRlbXBsYXRlSURfWyUgRGF0YS5UZW1wbGF0ZUlEICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQXNCbG9jayIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPVRlbXBsYXRlRWRpdDE7VGVtcGxhdGVJRD1bJSBEYXRhLlRlbXBsYXRlSUQgfCB1cmkgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLk51bWJlciB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlslIERhdGEuTmFtZSB8IGh0bWwgJV08L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlslIFRyYW5zbGF0ZShEYXRhLkZvcm1hdE5hbWUpIHwgaHRtbCAlXTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+WyUgVHJhbnNsYXRlKERhdGEuVmFsaWQpIHwgaHRtbCAlXTwvdGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJEZWxldGVUZW1wbGF0ZUlEWyUgRGF0YS5UZW1wbGF0ZUlEICVdIiBjbGFzcz0iVHJhc2hDYW4gSW1wb3J0RXhwb3J0RGVsZXRlIHRhYmxlLWljb24taG92ZXItbWQiIGhyZWY9IiMiIGRhdGEtaWQ9IlslIERhdGEuVGVtcGxhdGVJRCAlXSIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiRGVsZXRlIHRoaXMgdGVtcGxhdGUiKSB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdHJhc2gtbyI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRhYmxlLWljb24taG92ZXItbWQiIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1bJSBFbnYoIkFjdGlvbiIpICVdO1N1YmFjdGlvbj1JbXBvcnRJbmZvcm1hdGlvbjtUZW1wbGF0ZUlEPVslIERhdGEuVGVtcGxhdGVJRCB8IHVyaSAlXSIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiSW1wb3J0IikgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0Ij48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGFibGUtaWNvbi1ob3Zlci1tZCIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPUV4cG9ydDtUZW1wbGF0ZUlEPVslIERhdGEuVGVtcGxhdGVJRCB8IHVyaSAlXSIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiRXhwb3J0IikgfCBodG1sICVdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0Ij48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KWyUgUmVuZGVyQmxvY2tFbmQoIk92ZXJ2aWV3TGlzdFJvdyIpICVdCiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXdMaXN0IikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDEiKSAlXQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJUZW1wbGF0ZUVkaXQxIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlRlbXBsYXRlSUQiIHZhbHVlPSJbJSBEYXRhLlRlbXBsYXRlSUQgJV0iIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VibWl0TmV4dCIgdmFsdWU9IjEiIC8+CgogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIG5vLXBhZGRpbmciPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJOYW1lIiA+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJOYW1lIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+Cgo8IS0tIFZhbGlkYXRlX1JlcXVpcmVkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iTmFtZSIgY2xhc3M9IlslIERhdGEuTmFtZUNsYXNzICVdIiB0eXBlPSJ0ZXh0IiBuYW1lPSJOYW1lIiB2YWx1ZT0iWyUgRGF0YS5OYW1lIHwgaHRtbCAlXSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjAwIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik5hbWVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIk5hbWUgaXMgcmVxdWlyZWQhIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik5hbWVTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIk5hbWUgaXMgcmVxdWlyZWQhIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiTmV3T2JqZWN0Rm9ybWF0IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJPYmplY3QiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiT2JqZWN0IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuT2JqZWN0T3B0aW9uICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iT2JqZWN0RXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJPYmplY3QgaXMgcmVxdWlyZWQhIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik9iamVjdFNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZSgiT2JqZWN0IGlzIHJlcXVpcmVkISIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZvcm1hdCI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJGb3JtYXQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5Gb3JtYXRPcHRpb24gJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGb3JtYXRFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5bJSBUcmFuc2xhdGUoIkZvcm1hdCBpcyByZXF1aXJlZCEiKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRm9ybWF0U2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKCJGb3JtYXQgaXMgcmVxdWlyZWQhIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIk5ld09iamVjdEZvcm1hdCIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIkVkaXRPYmplY3RGb3JtYXQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIk9iamVjdCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlslIERhdGEuT2JqZWN0TmFtZSB8IGh0bWwgJV08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iT2JqZWN0IiB2YWx1ZT0iWyUgRGF0YS5PYmplY3QgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJGb3JtYXQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5bJSBEYXRhLkZvcm1hdE5hbWUgfCBodG1sICVdPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkZvcm1hdCIgdmFsdWU9IlslIERhdGEuRm9ybWF0IHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkVkaXRPYmplY3RGb3JtYXQiKSAlXQoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJWYWxpZElEIj5bJSBUcmFuc2xhdGUoIlZhbGlkIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5WYWxpZE9wdGlvblN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQ29tbWVudCI+WyUgVHJhbnNsYXRlKCJDb21tZW50IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJDb21tZW50IiB0eXBlPSJ0ZXh0IiBuYW1lPSJDb21tZW50IiB2YWx1ZT0iWyUgRGF0YS5Db21tZW50IHwgaHRtbCAlXSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjAwIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciBmb3JtLWJ1dHRvbi1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFNwYWNpbmdUb3AgYnV0dG9ucy1maWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iUHJpbWFyeSBDYWxsRm9yQWN0aW9uIGJ0bi1wcmltYXJ5IGJ0bi1tYWluIGJ0bi13aWR0aC1tZCIgdHlwZT0ic3VibWl0Ij48c3Bhbj5bJSBUcmFuc2xhdGUoIk5leHQiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJvciIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4tbWFpbiBidG4tY2FuY2VsLWdob3N0IGJ0bi13aWR0aC1tZCIgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPVslIEVudigiQWN0aW9uIikgJV07U3ViYWN0aW9uPSdPdmVydmlldyciPlslIFRyYW5zbGF0ZSgiQ2FuY2VsIikgfCBodG1sICVdIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDEiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0MiIpICVdCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiIGNsYXNzPSJWYWxpZGF0ZSBQcmV2ZW50TXVsdGlwbGVTdWJtaXRzIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9IlRlbXBsYXRlRWRpdDIiIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iVGVtcGxhdGVJRCIgdmFsdWU9IlslIERhdGEuVGVtcGxhdGVJRCB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VibWl0TmV4dCIgdmFsdWU9IjEiIC8+CgogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIG5vLXBhZGRpbmciPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJOYW1lIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5OYW1lIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJPYmplY3QiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLk9iamVjdCB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDJFbGVtZW50IikgJV0KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFslIElGIERhdGEuTWFuZGF0b3J5ICVdY2xhc3M9Ik1hbmRhdG9yeSJbJSBFTkQgJV0gZm9yPSJbJSBEYXRhLklEICVdIj5bJSBJRiBEYXRhLk1hbmRhdG9yeSAlXTxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIEVORCAlXSBbJSBUcmFuc2xhdGUoRGF0YS5OYW1lKSB8IGh0bWwgJV06IDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5JbnB1dFN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJbJSBEYXRhLklEICVdRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKERhdGEuRXJyb3JNZXNzYWdlKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iWyUgRGF0YS5JRCAlXVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZShEYXRhLkVycm9yTWVzc2FnZSkgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVGVtcGxhdGVFZGl0MkVsZW1lbnQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIGZvcm0tYnV0dG9uLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQgU3BhY2luZ1RvcCBidXR0b25zLWZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJCYWNrIENhbGxGb3JBY3Rpb24gYnRuLW1haW4gYnRuLXByaW1hcnktZ2hvc3QgYnRuLXdpZHRoLW1kIiB0eXBlPSJidXR0b24iIG5hbWU9IkJhY2siID48c3Bhbj5bJSBUcmFuc2xhdGUoIkJhY2siKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iUHJpbWFyeSBDYWxsRm9yQWN0aW9uIGJ0bi1wcmltYXJ5IGJ0bi1tYWluIGJ0bi13aWR0aC1tZCIgdHlwZT0ic3VibWl0Ij48c3Bhbj5bJSBUcmFuc2xhdGUoIk5leHQiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJUZW1wbGF0ZUVkaXQyIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDMiKSAlXQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJUZW1wbGF0ZUVkaXQzIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlRlbXBsYXRlSUQiIHZhbHVlPSJbJSBEYXRhLlRlbXBsYXRlSUQgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1Ym1pdE5leHQiIHZhbHVlPSIxIiAvPgoKICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBuby1wYWRkaW5nIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiTmFtZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuTmFtZSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiRm9ybWF0IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5Gb3JtYXQgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUZW1wbGF0ZUVkaXQzRWxlbWVudCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFslIElGIERhdGEuTWFuZGF0b3J5ICVdY2xhc3M9Ik1hbmRhdG9yeSJbJSBFTkQgJV0gZm9yPSJbJSBEYXRhLklEICVdIj5bJSBJRiBEYXRhLk1hbmRhdG9yeSAlXTxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIEVORCAlXSBbJSBUcmFuc2xhdGUoRGF0YS5OYW1lKSB8IGh0bWwgJV06IDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5JbnB1dFN0cmcgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0M0VsZW1lbnRSZXF1aXJlZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iWyUgRGF0YS5JRCAlXUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlslIFRyYW5zbGF0ZShEYXRhLk5hbWUpIHwgaHRtbCAlXSBbJSBUcmFuc2xhdGUoImlzIHJlcXVpcmVkISIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJbJSBEYXRhLklEICVdU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WyUgVHJhbnNsYXRlKERhdGEuTmFtZSkgfCBodG1sICVdIFslIFRyYW5zbGF0ZSgiaXMgcmVxdWlyZWQhIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVGVtcGxhdGVFZGl0M0VsZW1lbnRSZXF1aXJlZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJUZW1wbGF0ZUVkaXQzRWxlbWVudCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIgZm9ybS1idXR0b24tYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBTcGFjaW5nVG9wIGJ1dHRvbnMtZmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkJhY2sgQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeS1naG9zdCBidG4tbWFpbiBidG4td2lkdGgtbWQiIHR5cGU9ImJ1dHRvbiIgbmFtZT0iQmFjayIgPjxzcGFuPlslIFRyYW5zbGF0ZSgiQmFjayIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24gYnRuLXByaW1hcnkgYnRuLW1haW4gYnRuLXdpZHRoLW1kIiB0eXBlPSJzdWJtaXQiPjxzcGFuPlslIFRyYW5zbGF0ZSgiTmV4dCIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDMiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0NCIpICVdCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iTWFwSGVhZGVyUm93IFNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiTmFtZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuTmFtZSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJPYmplY3QiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLk9iamVjdE5hbWUgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiRm9ybWF0IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5Gb3JtYXROYW1lIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IlslIEVudigiQ0dJSGFuZGxlIikgJV0iIG1ldGhvZD0icG9zdCIgY2xhc3M9IlZhbGlkYXRlIFByZXZlbnRNdWx0aXBsZVN1Ym1pdHMiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IlslIEVudigiQWN0aW9uIikgJV0iIC8+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iVGVtcGxhdGVTYXZlNCIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJUZW1wbGF0ZUlEIiB2YWx1ZT0iWyUgRGF0YS5UZW1wbGF0ZUlEIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJNYXBwaW5nQWRkIiB2YWx1ZT0iIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1Ym1pdE5leHQiIHZhbHVlPSIiIC8+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJEYXRhVGFibGUgU3BhY2luZ1RvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0NFRhYmxlSGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9IkNlbnRlciI+WyUgVHJhbnNsYXRlKERhdGEuSGVhZGVyKSB8IGh0bWwgJV08L3RoPgpbJSBSZW5kZXJCbG9ja0VuZCgiVGVtcGxhdGVFZGl0NFRhYmxlSGVhZGVyIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0NE5vTWFwRm91bmQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSJbJSBEYXRhLkNvbHVtbnMgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk5vIG1hcCBlbGVtZW50cyBmb3VuZC4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDROb01hcEZvdW5kIikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDRSb3ciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUZW1wbGF0ZUVkaXQ0Q29sdW1uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuSW5wdXRTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDRDb2x1bW4iKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJUZW1wbGF0ZUVkaXQ0TWFwTnVtYmVyQ29sdW1uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuQ291bnRlciAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+ClslIFJlbmRlckJsb2NrRW5kKCJUZW1wbGF0ZUVkaXQ0TWFwTnVtYmVyQ29sdW1uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+ClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDRVcEJ1dHRvbiIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkFycm93VXAiIHR5cGU9InN1Ym1pdCIgbmFtZT0iTWFwcGluZ1VwOjpbJSBEYXRhLk1hcHBpbmdJRCB8IGh0bWwgJV0iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdIj4gWyUgVHJhbnNsYXRlKCJVcCIpIHwgaHRtbCAlXSA8L2J1dHRvbj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDRVcEJ1dHRvbiIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDROb1VwQnV0dG9uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iQXJyb3dVcCIgdHlwZT0ic3VibWl0IiBkaXNhYmxlZD0iZGlzYWJsZWQiPiBbJSBUcmFuc2xhdGUoIlVwIikgfCBodG1sICVdPC9idXR0b24+ClslIFJlbmRlckJsb2NrRW5kKCJUZW1wbGF0ZUVkaXQ0Tm9VcEJ1dHRvbiIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IkNlbnRlciI+ClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDREb3duQnV0dG9uIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iQXJyb3dEb3duIiB0eXBlPSJzdWJtaXQiIG5hbWU9Ik1hcHBpbmdEb3duOjpbJSBEYXRhLk1hcHBpbmdJRCB8IGh0bWwgJV0iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV0iPiBbJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV08L2J1dHRvbj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDREb3duQnV0dG9uIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0NE5vRG93bkJ1dHRvbiIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkFycm93RG93biIgdHlwZT0ic3VibWl0IiBkaXNhYmxlZD0iZGlzYWJsZWQiPiBbJSBUcmFuc2xhdGUoIkRvd24iKSB8IGh0bWwgJV08L2J1dHRvbj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDROb0Rvd25CdXR0b24iKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iQ2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9IkRlbGV0ZUNvbHVtbiB0YWJsZS1pY29uLWhvdmVyLW1kIiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJEZWxldGUiKSB8IGh0bWwgJV0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRyYXNoLW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJJbnZpc2libGVUZXh0Ij5bJSBUcmFuc2xhdGUoIkRlbGV0ZSIpIHwgaHRtbCAlXTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJNYXBwaW5nRGVsZXRlOjpbJSBEYXRhLk1hcHBpbmdJRCB8IGh0bWwgJV0iIHZhbHVlPSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgpbJSBSZW5kZXJCbG9ja0VuZCgiVGVtcGxhdGVFZGl0NFJvdyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJXMTAwcGMgU3BhY2luZ1RvcFNtYWxsIExlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJDYWxsRm9yQWN0aW9uIGJ0bi1wcmltYXJ5IGJ0bi1tYWluIFBsdXMiIGlkPSJNYXBwaW5nQWRkQnV0dG9uIiB0eXBlPSJzdWJtaXQiIG5hbWU9Ik1hcHBpbmdBZGRCdXR0b24iIHZhbHVlPSJbJSBUcmFuc2xhdGUoIkFkZCIpIHwgaHRtbCAlXSI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLXBsdXMtc3F1YXJlIj48L2k+WyUgVHJhbnNsYXRlKCJBZGQgTWFwcGluZyBFbGVtZW50IikgfCBodG1sICVdPC9zcGFuPiA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtd3JhcHBlciBmb3JtLWJ1dHRvbi1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCBidXR0b25zLWZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkJhY2sgQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeS1naG9zdCBidG4tbWFpbiBidG4td2lkdGgtbWQiIHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0QmFjayIgdmFsdWU9IlN1Ym1pdEJhY2siPjxzcGFuPlslIFRyYW5zbGF0ZSgiQmFjayIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IlByaW1hcnkgQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeSBidG4tbWFpbiBidG4td2lkdGgtbWQiIHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0TmV4dEJ1dHRvbiIgaWQ9IlN1Ym1pdE5leHRCdXR0b24iIHZhbHVlPSIxIj48c3Bhbj5bJSBUcmFuc2xhdGUoIk5leHQiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICA8L2Rpdj4KClslIFJlbmRlckJsb2NrRW5kKCJUZW1wbGF0ZUVkaXQ0IikgJV0KClslIFJlbmRlckJsb2NrU3RhcnQoIlRlbXBsYXRlRWRpdDUiKSAlXQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iWyUgRW52KCJBY3Rpb24iKSAlXSIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJUZW1wbGF0ZVNhdmU1IiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlRlbXBsYXRlSUQiIHZhbHVlPSJbJSBEYXRhLlRlbXBsYXRlSUQgfCBodG1sICVdIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1Ym1pdE5leHQiIHZhbHVlPSIxIiAvPgogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIG5vLXBhZGRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIlRlbXBsYXRlIE5hbWUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLk5hbWUgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlJlc3RyaWN0RXhwb3J0Ij5bJSBUcmFuc2xhdGUoIlJlc3RyaWN0IGV4cG9ydCBwZXIgc2VhcmNoIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBTcGFjaW5nQm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlJlc3RyaWN0RXhwb3J0U3RyZyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiVGVtcGxhdGVFZGl0NUVsZW1lbnQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJbJSBEYXRhLklEICVdIj5bJSBUcmFuc2xhdGUoRGF0YS5OYW1lKSB8IGh0bWwgJV06IDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5JbnB1dFN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlRlbXBsYXRlRWRpdDVFbGVtZW50IikgJV0KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXdyYXBwZXIgZm9ybS1idXR0b24tYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTcGFjaW5nVG9wIGJ1dHRvbnMtZmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkJhY2sgQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeS1naG9zdCBidG4tbWFpbiBidG4td2lkdGgtbWQiIHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0QmFjayIgdmFsdWU9IlN1Ym1pdEJhY2siPjxzcGFuPlslIFRyYW5zbGF0ZSgiQmFjayIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24gYnRuLXByaW1hcnkgYnRuLW1haW4gYnRuLXdpZHRoLW1kIiB0eXBlPSJzdWJtaXQiPjxzcGFuPlslIFRyYW5zbGF0ZSgiRmluaXNoIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVGVtcGxhdGVFZGl0NSIpICVdCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbXBvcnRJbmZvcm1hdGlvbiIpICVdCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJJbXBvcnQgaW5mb3JtYXRpb24iKSB8IGh0bWwgJV06PC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIGNsYXNzPSJWYWxpZGF0ZSBQcmV2ZW50TXVsdGlwbGVTdWJtaXRzIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSJbJSBFbnYoIkFjdGlvbiIpICVdIiAvPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9IkltcG9ydCIgLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJUZW1wbGF0ZUlEIiB2YWx1ZT0iWyUgRGF0YS5UZW1wbGF0ZUlEIHwgaHRtbCAlXSIgLz4KCiAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2Ugbm8tcGFkZGluZyI+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJTb3VyY2VGaWxlIj5bJSBUcmFuc2xhdGUoIk5hbWUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLk5hbWUgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJTb3VyY2VGaWxlIj5bJSBUcmFuc2xhdGUoIlNvdXJjZSBGaWxlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9IlNvdXJjZUZpbGUiIHNpemU9IjQwIiBjbGFzcz0iZml4ZWQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIGZvcm0tYnV0dG9uLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCBidXR0b25zLWZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24gYnRuLXByaW1hcnkgYnRuLW1haW4gYnRuLXdpZHRoLW1kIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlN0YXJ0IEltcG9ydCIpIHwgaHRtbCAlXSI+PHNwYW4+WyUgVHJhbnNsYXRlKCJTdGFydCBJbXBvcnQiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJJbXBvcnRJbmZvcm1hdGlvbiIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIkltcG9ydFJlc3VsdCIpICVdCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+WyUgVHJhbnNsYXRlKCJJbXBvcnQgc3VtbWFyeSBmb3IgJXMiLCBEYXRhLk9iamVjdCkgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJbJSBFbnYoIkNHSUhhbmRsZSIpICVdIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IlslIEVudigiQWN0aW9uIikgJV0iLz4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJPdmVydmlldyIvPgoKICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBuby1wYWRkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiUmVjb3JkcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmFsdWUiPlslIERhdGEuQ291bnRlciB8IGh0bWwgJV08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJTdWNjZXNzIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJWYWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TdWNjZXNzIHwgaHRtbCAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbXBvcnRSZXN1bHRSZXR1cm5Db2RlIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoWyUgVHJhbnNsYXRlKERhdGEuUmV0dXJuQ29kZU5hbWUpIHwgaHRtbCAlXTogWyUgRGF0YS5SZXR1cm5Db2RlQ291bnQgfCBodG1sICVdKQpbJSBSZW5kZXJCbG9ja0VuZCgiSW1wb3J0UmVzdWx0UmV0dXJuQ29kZSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJGYWlsZWQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlZhbHVlIj5bJSBEYXRhLkZhaWxlZCB8IGh0bWwgJV08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbXBvcnRSZXN1bHREdXBsaWNhdGVOYW1lcyIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIkR1cGxpY2F0ZSBuYW1lcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmFsdWUiPlslIERhdGEuRHVwbGljYXRlTmFtZXMgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW1wb3J0UmVzdWx0RHVwbGljYXRlTmFtZXMiKSAlXQoKWyUgUmVuZGVyQmxvY2tTdGFydCgiSW1wb3J0UmVzdWx0TGFzdExpbmVOdW1iZXIiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WyUgVHJhbnNsYXRlKCJMYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmFsdWUiPlslIERhdGEuTGFzdExpbmVOdW1iZXIgfCBodG1sICVdPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW1wb3J0UmVzdWx0TGFzdExpbmVOdW1iZXIiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC13cmFwcGVyIGZvcm0tYnV0dG9uLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCBidXR0b25zLWZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJQcmltYXJ5IENhbGxGb3JBY3Rpb24gYnRuLXByaW1hcnkgYnRuLW1haW4gYnRuLXdpZHRoLW1kIiB0eXBlPSJzdWJtaXQiIG5hbWU9Ik9rIiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJPayIpIHwgaHRtbCAlXSI+PHNwYW4+WyUgVHJhbnNsYXRlKCJPayIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiSW1wb3J0UmVzdWx0IikgJV0KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKPC9kaXY+CgpbJSBSZW5kZXJCbG9ja0VuZCgiT3ZlcnZpZXciKSAlXQoKCjxkaXYgY2xhc3M9IkhpZGRlbiIgaWQ9IkRlbGV0ZUltcG9ydEV4cG9ydERpYWxvZ0NvbnRhaW5lciI+CiAgICA8ZGl2IGlkID0iRGVsZXRlSW1wb3J0RXhwb3J0RGlhbG9nIiBjbGFzcz0iSW5uZXJDb250ZW50Ij4KICAgICAgICA8cCBjbGFzcz0iQ2VudGVyIFNwYWNpbmciPlslIFRyYW5zbGF0ZSgiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIHRlbXBsYXRlIGl0ZW0/IikgfCBodG1sICVdPC9wPgogICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiPjwvZGl2PgogICAgPC9kaXY+CjwvZGl2Pgo=</File>
        <File Permission="660" Location="Kernel/System/ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKb3VyIEBPYmplY3REZXBlbmRlbmNpZXMgPSAoCiAgICAnS2VybmVsOjpTeXN0ZW06OkNhY2hlJywKICAgICdLZXJuZWw6OkNvbmZpZycsCiAgICAnS2VybmVsOjpTeXN0ZW06OkNoZWNrSXRlbScsCiAgICAnS2VybmVsOjpTeXN0ZW06OkRCJywKICAgICdLZXJuZWw6OlN5c3RlbTo6TG9nJywKKTsKCj1oZWFkMSBOQU1FCgpLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0IC0gaW1wb3J0LCBleHBvcnQgbGliCgo9aGVhZDEgREVTQ1JJUFRJT04KCkFsbCBpbXBvcnQgYW5kIGV4cG9ydCBmdW5jdGlvbnMuCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKPWN1dAoKPWhlYWQyIG5ldygpCgpDcmVhdGUgYW4gb2JqZWN0CgogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyOwogICAgbG9jYWwgJEtlcm5lbDo6T00gPSBLZXJuZWw6OlN5c3RlbTo6T2JqZWN0TWFuYWdlci0+bmV3KCk7CiAgICBteSAkSW1wb3J0RXhwb3J0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1oZWFkMiBUZW1wbGF0ZUxpc3QoKQoKUmV0dXJuIGEgbGlzdCBvZiB0ZW1wbGF0ZXMgYXMgYXJyYXkgcmVmZXJlbmNlCgogICAgbXkgJFRlbXBsYXRlTGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlTGlzdCgKICAgICAgICBPYmplY3QgPT4gJ1RpY2tldCcsICAjIChvcHRpb25hbCkKICAgICAgICBGb3JtYXQgPT4gJ0NTVicgICAgICAjIChvcHRpb25hbCkKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgVGVtcGxhdGVMaXN0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtVc2VySUR9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBVc2VySUQhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNyZWF0ZSBzcWwgc3RyaW5nCiAgICBteSAkU1FMID0gJ1NFTEVDVCBpZCBGUk9NIGltZXhwb3J0X3RlbXBsYXRlIFdIRVJFIDE9MSAnOwogICAgbXkgQEJJTkQ7CgogICAgaWYgKCAkUGFyYW17T2JqZWN0fSApIHsKICAgICAgICAkU1FMIC49ICdBTkQgaW1leHBvcnRfb2JqZWN0ID0gPyAnOwogICAgICAgIHB1c2ggQEJJTkQsIFwkUGFyYW17T2JqZWN0fTsKICAgIH0KICAgIGlmICggJFBhcmFte0Zvcm1hdH0gKSB7CiAgICAgICAgJFNRTCAuPSAnQU5EIGltZXhwb3J0X2Zvcm1hdCA9ID8gJzsKICAgICAgICBwdXNoIEBCSU5ELCBcJFBhcmFte0Zvcm1hdH07CiAgICB9CgogICAgIyBhZGQgb3JkZXIgb3B0aW9uCiAgICAkU1FMIC49ICdPUkRFUiBCWSBpZCc7CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJFNRTCwKICAgICAgICBCaW5kID0+IFxAQklORCwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSBAVGVtcGxhdGVMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgcHVzaCBAVGVtcGxhdGVMaXN0LCAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiBcQFRlbXBsYXRlTGlzdDsKfQoKPWhlYWQyIFRlbXBsYXRlR2V0KCkKCkdldCBhIGltcG9ydCBleHBvcnQgdGVtcGxhdGUKClJldHVybgogICAgJFRlbXBsYXRlRGF0YXtUZW1wbGF0ZUlEfQogICAgJFRlbXBsYXRlRGF0YXtOdW1iZXJ9CiAgICAkVGVtcGxhdGVEYXRhe09iamVjdH0KICAgICRUZW1wbGF0ZURhdGF7Rm9ybWF0fQogICAgJFRlbXBsYXRlRGF0YXtOYW1lfQogICAgJFRlbXBsYXRlRGF0YXtWYWxpZElEfQogICAgJFRlbXBsYXRlRGF0YXtDb21tZW50fQogICAgJFRlbXBsYXRlRGF0YXtDcmVhdGVUaW1lfQogICAgJFRlbXBsYXRlRGF0YXtDcmVhdGVCeX0KICAgICRUZW1wbGF0ZURhdGF7Q2hhbmdlVGltZX0KICAgICRUZW1wbGF0ZURhdGF7Q2hhbmdlQnl9CgogICAgbXkgJFRlbXBsYXRlRGF0YVJlZiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFRlbXBsYXRlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNoZWNrIGlmIHJlc3VsdCBpcyBhbHJlYWR5IGNhY2hlZAogICAgcmV0dXJuICRTZWxmLT57Q2FjaGV9LT57VGVtcGxhdGVHZXR9LT57ICRQYXJhbXtUZW1wbGF0ZUlEfSB9CiAgICAgICAgaWYgJFNlbGYtPntDYWNoZX0tPntUZW1wbGF0ZUdldH0tPnsgJFBhcmFte1RlbXBsYXRlSUR9IH07CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnU0VMRUNUIGlkLCBpbWV4cG9ydF9vYmplY3QsIGltZXhwb3J0X2Zvcm1hdCwgbmFtZSwgdmFsaWRfaWQsIGNvbW1lbnRzLCAnCiAgICAgICAgICAgIC4gJ2NyZWF0ZV90aW1lLCBjcmVhdGVfYnksIGNoYW5nZV90aW1lLCBjaGFuZ2VfYnkgRlJPTSBpbWV4cG9ydF90ZW1wbGF0ZSBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtUZW1wbGF0ZUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJVRlbXBsYXRlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRUZW1wbGF0ZURhdGF7VGVtcGxhdGVJRH0gPSAkUm93WzBdOwogICAgICAgICRUZW1wbGF0ZURhdGF7T2JqZWN0fSAgICAgPSAkUm93WzFdOwogICAgICAgICRUZW1wbGF0ZURhdGF7Rm9ybWF0fSAgICAgPSAkUm93WzJdOwogICAgICAgICRUZW1wbGF0ZURhdGF7TmFtZX0gICAgICAgPSAkUm93WzNdOwogICAgICAgICRUZW1wbGF0ZURhdGF7VmFsaWRJRH0gICAgPSAkUm93WzRdOwogICAgICAgICRUZW1wbGF0ZURhdGF7Q29tbWVudH0gICAgPSAkUm93WzVdIHx8ICcnOwogICAgICAgICRUZW1wbGF0ZURhdGF7Q3JlYXRlVGltZX0gPSAkUm93WzZdOwogICAgICAgICRUZW1wbGF0ZURhdGF7Q3JlYXRlQnl9ICAgPSAkUm93WzddOwogICAgICAgICRUZW1wbGF0ZURhdGF7Q2hhbmdlVGltZX0gPSAkUm93WzhdOwogICAgICAgICRUZW1wbGF0ZURhdGF7Q2hhbmdlQnl9ICAgPSAkUm93WzldOwoKICAgICAgICAkVGVtcGxhdGVEYXRhe051bWJlcn0gPSBzcHJpbnRmICIlMDZkIiwgJFRlbXBsYXRlRGF0YXtUZW1wbGF0ZUlEfTsKICAgIH0KCiAgICAjIGNhY2hlIHRoZSByZXN1bHQKICAgICRTZWxmLT57Q2FjaGV9LT57VGVtcGxhdGVHZXR9LT57ICRQYXJhbXtUZW1wbGF0ZUlEfSB9ID0gXCVUZW1wbGF0ZURhdGE7CgogICAgcmV0dXJuIFwlVGVtcGxhdGVEYXRhOwp9Cgo9aGVhZDIgVGVtcGxhdGVBZGQoKQoKQWRkIGEgbmV3IGltcG9ydC9leHBvcnQgdGVtcGxhdGUKCiAgICBteSAkVGVtcGxhdGVJRCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlQWRkKAogICAgICAgIE9iamVjdCAgPT4gJ1RpY2tldCcsCiAgICAgICAgRm9ybWF0ICA9PiAnQ1NWJywKICAgICAgICBOYW1lICAgID0+ICdUZW1wbGF0ZSBOYW1lJywKICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgQ29tbWVudCA9PiAnQ29tbWVudCcsICAgICAgICMgKG9wdGlvbmFsKQogICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgVGVtcGxhdGVBZGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhPYmplY3QgRm9ybWF0IE5hbWUgVmFsaWRJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNldCBkZWZhdWx0IHZhbHVlcwogICAgJFBhcmFte0NvbW1lbnR9IHx8PSAnJzsKCiAgICAjIGdldCBDaGVja0l0ZW0gb2JqZWN0CiAgICBteSAkQ2hlY2tJdGVtT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNoZWNrSXRlbScpOwoKICAgICMgY2xlYW51cCBnaXZlbiBwYXJhbXMKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE9iamVjdCBGb3JtYXQpKSB7CiAgICAgICAgJENoZWNrSXRlbU9iamVjdC0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgIFN0cmluZ1JlZiAgICAgICAgID0+IFwkUGFyYW17JEFyZ3VtZW50fSwKICAgICAgICAgICAgUmVtb3ZlQWxsTmV3bGluZXMgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsVGFicyAgICAgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsU3BhY2VzICAgPT4gMSwKICAgICAgICApOwogICAgfQogICAgZm9yIG15ICRBcmd1bWVudCAocXcoTmFtZSBDb21tZW50KSkgewogICAgICAgICRDaGVja0l0ZW1PYmplY3QtPlN0cmluZ0NsZWFuKAogICAgICAgICAgICBTdHJpbmdSZWYgICAgICAgICA9PiBcJFBhcmFteyRBcmd1bWVudH0sCiAgICAgICAgICAgIFJlbW92ZUFsbE5ld2xpbmVzID0+IDEsCiAgICAgICAgICAgIFJlbW92ZUFsbFRhYnMgICAgID0+IDEsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGdldCBEQiBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZmluZCBleGl0aW5nIHRlbXBsYXRlIHdpdGggc2FtZSBuYW1lCiAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJ1NFTEVDVCBpZCBGUk9NIGltZXhwb3J0X3RlbXBsYXRlIFdIRVJFIGltZXhwb3J0X29iamVjdCA9ID8gQU5EIG5hbWUgPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17T2JqZWN0fSwgXCRQYXJhbXtOYW1lfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJE5vQWRkOwogICAgd2hpbGUgKCAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkTm9BZGQgPSAxOwogICAgfQoKICAgICMgYWJvcnQgaW5zZXJ0IG9mIG5ldyB0ZW1wbGF0ZSwgaWYgdGVtcGxhdGUgbmFtZSBhbHJlYWR5IGV4aXN0cwogICAgaWYgKCROb0FkZCkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSA9PgogICAgICAgICAgICAgICAgIkNhbid0IGFkZCBuZXcgdGVtcGxhdGUhIFRlbXBsYXRlIHdpdGggc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoaXMgb2JqZWN0LiIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBpbnNlcnQgbmV3IHRlbXBsYXRlCiAgICByZXR1cm4gaWYgISREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMID0+ICdJTlNFUlQgSU5UTyBpbWV4cG9ydF90ZW1wbGF0ZSAnCiAgICAgICAgICAgIC4gJyhpbWV4cG9ydF9vYmplY3QsIGltZXhwb3J0X2Zvcm1hdCwgbmFtZSwgdmFsaWRfaWQsIGNvbW1lbnRzLCAnCiAgICAgICAgICAgIC4gJ2NyZWF0ZV90aW1lLCBjcmVhdGVfYnksIGNoYW5nZV90aW1lLCBjaGFuZ2VfYnkpIFZBTFVFUyAnCiAgICAgICAgICAgIC4gJyg/LCA/LCA/LCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPywgY3VycmVudF90aW1lc3RhbXAsID8pJywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtPYmplY3R9LCBcJFBhcmFte0Zvcm1hdH0sIFwkUGFyYW17TmFtZX0sIFwkUGFyYW17VmFsaWRJRH0sCiAgICAgICAgICAgIFwkUGFyYW17Q29tbWVudH0sIFwkUGFyYW17VXNlcklEfSwgXCRQYXJhbXtVc2VySUR9LAogICAgICAgIF0sCiAgICApOwoKICAgICMgZmluZCBpZCBvZiBuZXcgdGVtcGxhdGUKICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgICA9PiAnU0VMRUNUIGlkIEZST00gaW1leHBvcnRfdGVtcGxhdGUgV0hFUkUgaW1leHBvcnRfb2JqZWN0ID0gPyBBTkQgbmFtZSA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtPYmplY3R9LCBcJFBhcmFte05hbWV9IF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkVGVtcGxhdGVJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRUZW1wbGF0ZUlEID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gJFRlbXBsYXRlSUQ7Cn0KCj1oZWFkMiBUZW1wbGF0ZVVwZGF0ZSgpCgpVcGRhdGUgYSBleGlzdGluZyBpbXBvcnQvZXhwb3J0IHRlbXBsYXRlCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZVVwZGF0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBOYW1lICAgICAgID0+ICdUZW1wbGF0ZSBOYW1lJywKICAgICAgICBWYWxpZElEICAgID0+IDEsCiAgICAgICAgQ29tbWVudCAgICA9PiAnQ29tbWVudCcsICAgICAgICAjIChvcHRpb25hbCkKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFRlbXBsYXRlVXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbG9nIG9iamVjdAogICAgbXkgJExvZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBOYW1lIFZhbGlkSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCB2YWx1ZXMKICAgICRQYXJhbXtDb21tZW50fSB8fD0gJyc7CgogICAgIyBjbGVhbnVwIGdpdmVuIHBhcmFtcwogICAgZm9yIG15ICRBcmd1bWVudCAocXcoTmFtZSBDb21tZW50KSkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDaGVja0l0ZW0nKS0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgIFN0cmluZ1JlZiAgICAgICAgID0+IFwkUGFyYW17JEFyZ3VtZW50fSwKICAgICAgICAgICAgUmVtb3ZlQWxsTmV3bGluZXMgPT4gMSwKICAgICAgICAgICAgUmVtb3ZlQWxsVGFicyAgICAgPT4gMSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IERCIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBnZXQgdGhlIG9iamVjdCBvZiB0aGlzIHRlbXBsYXRlIGlkCiAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJ1NFTEVDVCBpbWV4cG9ydF9vYmplY3QgRlJPTSBpbWV4cG9ydF90ZW1wbGF0ZSBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtUZW1wbGF0ZUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJE9iamVjdDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRPYmplY3QgPSAkUm93WzBdOwogICAgfQoKICAgIGlmICggISRPYmplY3QgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiQ2FuJ3QgdXBkYXRlIHRlbXBsYXRlIGJlY2F1c2UgaXQgaGFzbid0IGJlZW4gZm91bmQhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGZpbmQgZXhpdGluZyB0ZW1wbGF0ZSB3aXRoIHNhbWUgbmFtZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICdTRUxFQ1QgaWQgRlJPTSBpbWV4cG9ydF90ZW1wbGF0ZSBXSEVSRSBpbWV4cG9ydF9vYmplY3QgPSA/IEFORCBuYW1lID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJE9iamVjdCwgXCRQYXJhbXtOYW1lfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFVwZGF0ZSA9IDE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBpZiAoICRQYXJhbXtUZW1wbGF0ZUlEfSBuZSAkUm93WzBdICkgewogICAgICAgICAgICAkVXBkYXRlID0gMDsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAhJFVwZGF0ZSApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgPT4KICAgICAgICAgICAgICAgICJDYW4ndCB1cGRhdGUgdGVtcGxhdGUhIFRlbXBsYXRlIHdpdGggc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoaXMgb2JqZWN0LiIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyByZXNldCBjYWNoZQogICAgZGVsZXRlICRTZWxmLT57Q2FjaGV9LT57VGVtcGxhdGVHZXR9LT57ICRQYXJhbXtUZW1wbGF0ZUlEfSB9OwoKICAgICMgdXBkYXRlIHRlbXBsYXRlCiAgICByZXR1cm4gJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgPT4gJ1VQREFURSBpbWV4cG9ydF90ZW1wbGF0ZSBTRVQgbmFtZSA9ID8sJwogICAgICAgICAgICAuICd2YWxpZF9pZCA9ID8sIGNvbW1lbnRzID0gPywgJwogICAgICAgICAgICAuICdjaGFuZ2VfdGltZSA9IGN1cnJlbnRfdGltZXN0YW1wLCBjaGFuZ2VfYnkgPSA/ICcKICAgICAgICAgICAgLiAnV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtOYW1lfSwgXCRQYXJhbXtWYWxpZElEfSwgXCRQYXJhbXtDb21tZW50fSwKICAgICAgICAgICAgXCRQYXJhbXtVc2VySUR9LCBcJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIF0sCiAgICApOwp9Cgo9aGVhZDIgVGVtcGxhdGVEZWxldGUoKQoKRGVsZXRlIGV4aXN0aW5nIGltcG9ydC9leHBvcnQgdGVtcGxhdGVzCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKICAgIG9yCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IFsxLDQ0LDE2Niw1XSwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFRlbXBsYXRlRGVsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbG9nIG9iamVjdAogICAgbXkgJExvZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICFyZWYgJFBhcmFte1RlbXBsYXRlSUR9ICkgewogICAgICAgICRQYXJhbXtUZW1wbGF0ZUlEfSA9IFsgJFBhcmFte1RlbXBsYXRlSUR9IF07CiAgICB9CiAgICBlbHNpZiAoIHJlZiAkUGFyYW17VGVtcGxhdGVJRH0gbmUgJ0FSUkFZJyApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdUZW1wbGF0ZUlEIG11c3QgYmUgYW4gYXJyYXkgcmVmZXJlbmNlIG9yIGEgc3RyaW5nIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBkZWxldGUgZXhpc3Rpbmcgc2VhcmNoIGRhdGEKICAgICRTZWxmLT5TZWFyY2hEYXRhRGVsZXRlKAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgICMgZGVsZXRlIGFsbCBtYXBwaW5nIGRhdGEKICAgIGZvciBteSAkVGVtcGxhdGVJRCAoIEB7ICRQYXJhbXtUZW1wbGF0ZUlEfSB9ICkgewogICAgICAgICRTZWxmLT5NYXBwaW5nRGVsZXRlKAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICB9CgogICAgIyBkZWxldGUgZXhpc3RpbmcgZm9ybWF0IGRhdGEKICAgICRTZWxmLT5Gb3JtYXREYXRhRGVsZXRlKAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgICMgZGVsZXRlIGV4aXN0aW5nIG9iamVjdCBkYXRhCiAgICAkU2VsZi0+T2JqZWN0RGF0YURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGNyZWF0ZSB0aGUgdGVtcGxhdGUgaWQgc3RyaW5nCiAgICBteSAkVGVtcGxhdGVJRFN0cmluZyA9IGpvaW4gcXssIH0sIG1hcCB7Jz8nfSBAeyAkUGFyYW17VGVtcGxhdGVJRH0gfTsKCiAgICAjIGNyZWF0ZSBhbmQgYWRkIGJpbmQgcGFyYW1ldGVycwogICAgbXkgQEJJTkQgPSBtYXAgeyBcJF8gfSBAeyAkUGFyYW17VGVtcGxhdGVJRH0gfTsKCiAgICAjIHJlc2V0IGNhY2hlCiAgICBkZWxldGUgJFNlbGYtPntDYWNoZX0tPntUZW1wbGF0ZUdldH07CgogICAgIyBkZWxldGUgdGVtcGxhdGVzCiAgICByZXR1cm4gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgIFNRTCAgPT4gIkRFTEVURSBGUk9NIGltZXhwb3J0X3RlbXBsYXRlIFdIRVJFIGlkIElOICggJFRlbXBsYXRlSURTdHJpbmcgKSIsCiAgICAgICAgQmluZCA9PiBcQEJJTkQsCiAgICApOwp9Cgo9aGVhZDIgT2JqZWN0TGlzdCgpCgpSZXR1cm4gYSBsaXN0IG9mIGF2YWlsYWJsZSBvYmplY3RzIGFzIGhhc2ggcmVmZXJlbmNlCgogICAgbXkgJE9iamVjdExpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RMaXN0KCk7Cgo9Y3V0CgpzdWIgT2JqZWN0TGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGNvbmZpZwogICAgbXkgJE1vZHVsZUxpc3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0ltcG9ydEV4cG9ydDo6T2JqZWN0QmFja2VuZFJlZ2lzdHJhdGlvbicpOwoKICAgIHJldHVybiBpZiAhJE1vZHVsZUxpc3Q7CiAgICByZXR1cm4gaWYgcmVmICRNb2R1bGVMaXN0IG5lICdIQVNIJzsKCiAgICAjIGNyZWF0ZSB0aGUgb2JqZWN0IGxpc3QKICAgIG15ICRPYmplY3RMaXN0ID0ge307CiAgICBmb3IgbXkgJE1vZHVsZSAoIHNvcnQga2V5cyAleyRNb2R1bGVMaXN0fSApIHsKICAgICAgICAkT2JqZWN0TGlzdC0+eyRNb2R1bGV9ID0gJE1vZHVsZUxpc3QtPnskTW9kdWxlfS0+e05hbWV9OwogICAgfQoKICAgIHJldHVybiAkT2JqZWN0TGlzdDsKfQoKPWhlYWQyIE9iamVjdEF0dHJpYnV0ZXNHZXQoKQoKR2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGFuIG9iamVjdCBiYWNrZW5kIGFzIGFycmF5L2hhc2ggcmVmZXJlbmNlCgogICAgbXkgJEF0dHJpYnV0ZXMgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RBdHRyaWJ1dGVzR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gMTIzLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgT2JqZWN0QXR0cmlidXRlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgbXkgJFRlbXBsYXRlRGF0YSA9ICRTZWxmLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGNoZWNrIHRlbXBsYXRlIGRhdGEKICAgIGlmICggISRUZW1wbGF0ZURhdGEgfHwgISRUZW1wbGF0ZURhdGEtPntPYmplY3R9ICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlRlbXBsYXRlIHdpdGggSUQgJFBhcmFte1RlbXBsYXRlSUR9IGlzIGluY29tcGxldGUhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGxvYWQgYmFja2VuZAogICAgbXkgJEJhY2tlbmQgPSAkS2VybmVsOjpPTS0+R2V0KAogICAgICAgICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpPYmplY3RCYWNrZW5kOjonIC4gJFRlbXBsYXRlRGF0YS0+e09iamVjdH0KICAgICk7CgogICAgcmV0dXJuIGlmICEkQmFja2VuZDsKCiAgICAjIGdldCBhbiBhdHRyaWJ1dGUgbGlzdCBvZiB0aGUgb2JqZWN0CiAgICBteSAkQXR0cmlidXRlcyA9ICRCYWNrZW5kLT5PYmplY3RBdHRyaWJ1dGVzR2V0KAogICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgcmV0dXJuICRBdHRyaWJ1dGVzOwp9Cgo9aGVhZDIgT2JqZWN0RGF0YUdldCgpCgpHZXQgdGhlIG9iamVjdCBkYXRhIGZyb20gYSB0ZW1wbGF0ZQoKICAgIG15ICRPYmplY3REYXRhUmVmID0gJEltcG9ydEV4cG9ydE9iamVjdC0+T2JqZWN0RGF0YUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+IDMsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBPYmplY3REYXRhR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBEQiBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgYXNrIGRhdGFiYXNlCiAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMICA9PiAnU0VMRUNUIGRhdGFfa2V5LCBkYXRhX3ZhbHVlIEZST00gaW1leHBvcnRfb2JqZWN0IFdIRVJFIHRlbXBsYXRlX2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17VGVtcGxhdGVJRH0gXSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAlT2JqZWN0RGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRPYmplY3REYXRheyAkUm93WzBdIH0gPSAkUm93WzFdOwogICAgfQoKICAgIHJldHVybiBcJU9iamVjdERhdGE7Cn0KCj1oZWFkMiBPYmplY3REYXRhU2F2ZSgpCgpTYXZlIHRoZSBvYmplY3QgZGF0YSBvZiBhIHRlbXBsYXRlCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3REYXRhU2F2ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBPYmplY3REYXRhID0+ICRIYXNoUmVmLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgT2JqZWN0RGF0YVNhdmUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhUZW1wbGF0ZUlEIE9iamVjdERhdGEgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCByZWYgJFBhcmFte09iamVjdERhdGF9IG5lICdIQVNIJyApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdPYmplY3REYXRhIG11c3QgYmUgYSBoYXNoIHJlZmVyZW5jZSEnLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZGVsZXRlIGV4aXN0aW5nIG9iamVjdCBkYXRhCiAgICAkU2VsZi0+T2JqZWN0RGF0YURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICBEQVRBS0VZOgogICAgZm9yIG15ICREYXRhS2V5ICggc29ydCBrZXlzICV7ICRQYXJhbXtPYmplY3REYXRhfSB9ICkgewoKICAgICAgICBteSAkRGF0YVZhbHVlID0gJFBhcmFte09iamVjdERhdGF9LT57JERhdGFLZXl9OwoKICAgICAgICBuZXh0IERBVEFLRVkgaWYgIWRlZmluZWQgJERhdGFLZXk7CiAgICAgICAgbmV4dCBEQVRBS0VZIGlmICFkZWZpbmVkICREYXRhVmFsdWU7CgogICAgICAgICMgaW5zZXJ0IG9uZSByb3cKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgICAgIFNRTCA9PiAnSU5TRVJUIElOVE8gaW1leHBvcnRfb2JqZWN0ICcKICAgICAgICAgICAgICAgIC4gJyh0ZW1wbGF0ZV9pZCwgZGF0YV9rZXksIGRhdGFfdmFsdWUpIFZBTFVFUyAnCiAgICAgICAgICAgICAgICAuICcoPywgPywgPyknLAogICAgICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtUZW1wbGF0ZUlEfSwgXCREYXRhS2V5LCBcJERhdGFWYWx1ZSBdLAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBPYmplY3REYXRhRGVsZXRlKCkKCkRlbGV0ZSB0aGUgZXhpc3Rpbmcgb2JqZWN0IGRhdGEgb2YgYSB0ZW1wbGF0ZQoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+T2JqZWN0RGF0YURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKICAgIG9yCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3REYXRhRGVsZXRlKAogICAgICAgIFRlbXBsYXRlSUQgPT4gWzEsNDQsMTY2LDVdLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgT2JqZWN0RGF0YURlbGV0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAhcmVmICRQYXJhbXtUZW1wbGF0ZUlEfSApIHsKICAgICAgICAkUGFyYW17VGVtcGxhdGVJRH0gPSBbICRQYXJhbXtUZW1wbGF0ZUlEfSBdOwogICAgfQogICAgZWxzaWYgKCByZWYgJFBhcmFte1RlbXBsYXRlSUR9IG5lICdBUlJBWScgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnVGVtcGxhdGVJRCBtdXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZSBvciBhIHN0cmluZyEnLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY3JlYXRlIHRoZSB0ZW1wbGF0ZSBpZCBzdHJpbmcKICAgIG15ICRUZW1wbGF0ZUlEU3RyaW5nID0gam9pbiBxeywgfSwgbWFwIHsnPyd9IEB7ICRQYXJhbXtUZW1wbGF0ZUlEfSB9OwoKICAgICMgY3JlYXRlIGFuZCBhZGQgYmluZCBwYXJhbWV0ZXJzCiAgICBteSBAQklORCA9IG1hcCB7IFwkXyB9IEB7ICRQYXJhbXtUZW1wbGF0ZUlEfSB9OwoKICAgICMgZGVsZXRlIHRlbXBsYXRlcwogICAgcmV0dXJuICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5EbygKICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSBpbWV4cG9ydF9vYmplY3QgV0hFUkUgdGVtcGxhdGVfaWQgSU4gKCAkVGVtcGxhdGVJRFN0cmluZyApIiwKICAgICAgICBCaW5kID0+IFxAQklORCwKICAgICk7Cn0KCj1oZWFkMiBGb3JtYXRMaXN0KCkKClJldHVybiBhIGxpc3Qgb2YgYXZhaWxhYmxlIGZvcm1hdHMgYXMgaGFzaCByZWZlcmVuY2UKCiAgICBteSAkRm9ybWF0TGlzdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdExpc3QoKTsKCj1jdXQKCnN1YiBGb3JtYXRMaXN0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgY29uZmlnCiAgICBteSAkTW9kdWxlTGlzdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnSW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kUmVnaXN0cmF0aW9uJyk7CgogICAgcmV0dXJuIGlmICEkTW9kdWxlTGlzdDsKICAgIHJldHVybiBpZiByZWYgJE1vZHVsZUxpc3QgbmUgJ0hBU0gnOwoKICAgICMgY3JlYXRlIHRoZSBmb3JtYXQgbGlzdAogICAgbXkgJEZvcm1hdExpc3QgPSB7fTsKICAgIGZvciBteSAkTW9kdWxlICggc29ydCBrZXlzICV7JE1vZHVsZUxpc3R9ICkgewogICAgICAgICRGb3JtYXRMaXN0LT57JE1vZHVsZX0gPSAkTW9kdWxlTGlzdC0+eyRNb2R1bGV9LT57TmFtZX07CiAgICB9CgogICAgcmV0dXJuICRGb3JtYXRMaXN0Owp9Cgo9aGVhZDIgRm9ybWF0QXR0cmlidXRlc0dldCgpCgpHZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSBmb3JtYXQgYmFja2VuZCBhcyBhcnJheS9oYXNoIHJlZmVyZW5jZQoKICAgIG15ICRBdHRyaWJ1dGVzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0QXR0cmlidXRlc0dldCgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEZvcm1hdEF0dHJpYnV0ZXNHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhUZW1wbGF0ZUlEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IHRlbXBsYXRlIGRhdGEKICAgIG15ICRUZW1wbGF0ZURhdGEgPSAkU2VsZi0+VGVtcGxhdGVHZXQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgIyBjaGVjayB0ZW1wbGF0ZSBkYXRhCiAgICBpZiAoICEkVGVtcGxhdGVEYXRhIHx8ICEkVGVtcGxhdGVEYXRhLT57Rm9ybWF0fSApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJUZW1wbGF0ZSB3aXRoIElEICRQYXJhbXtUZW1wbGF0ZUlEfSBpcyBpbmNvbXBsZXRlISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBsb2FkIGJhY2tlbmQKICAgIG15ICRCYWNrZW5kID0gJEtlcm5lbDo6T00tPkdldCgKICAgICAgICAnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydDo6Rm9ybWF0QmFja2VuZDo6JyAuICRUZW1wbGF0ZURhdGEtPntGb3JtYXR9CiAgICApOwoKICAgIHJldHVybiBpZiAhJEJhY2tlbmQ7CgogICAgIyBnZXQgYW4gYXR0cmlidXRlIGxpc3Qgb2YgdGhlIGZvcm1hdAogICAgbXkgJEF0dHJpYnV0ZXMgPSAkQmFja2VuZC0+Rm9ybWF0QXR0cmlidXRlc0dldCgKICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgIHJldHVybiAkQXR0cmlidXRlczsKfQoKPWhlYWQyIEZvcm1hdERhdGFHZXQoKQoKR2V0IHRoZSBmb3JtYXQgZGF0YSBmcm9tIGEgdGVtcGxhdGUKCiAgICBteSAkRm9ybWF0RGF0YVJlZiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdERhdGFHZXQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAzLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgRm9ybWF0RGF0YUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhUZW1wbGF0ZUlEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJ1NFTEVDVCBkYXRhX2tleSwgZGF0YV92YWx1ZSBGUk9NIGltZXhwb3J0X2Zvcm1hdCBXSEVSRSB0ZW1wbGF0ZV9pZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1RlbXBsYXRlSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJUZvcm1hdERhdGE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkRm9ybWF0RGF0YXsgJFJvd1swXSB9ID0gJFJvd1sxXTsKICAgIH0KCiAgICByZXR1cm4gXCVGb3JtYXREYXRhOwp9Cgo9aGVhZDIgRm9ybWF0RGF0YVNhdmUoKQoKU2F2ZSB0aGUgZm9ybWF0IGRhdGEgb2YgYSB0ZW1wbGF0ZQoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0RGF0YVNhdmUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgRm9ybWF0RGF0YSA9PiAkSGFzaFJlZiwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEZvcm1hdERhdGFTYXZlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbG9nIG9iamVjdAogICAgbXkgJExvZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBGb3JtYXREYXRhIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggcmVmICRQYXJhbXtGb3JtYXREYXRhfSBuZSAnSEFTSCcgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnRm9ybWF0RGF0YSBtdXN0IGJlIGEgaGFzaCByZWZlcmVuY2UhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGRlbGV0ZSBleGlzdGluZyBmb3JtYXQgZGF0YQogICAgJFNlbGYtPkZvcm1hdERhdGFEZWxldGUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgREFUQUtFWToKICAgIGZvciBteSAkRGF0YUtleSAoIHNvcnQga2V5cyAleyAkUGFyYW17Rm9ybWF0RGF0YX0gfSApIHsKCiAgICAgICAgbXkgJERhdGFWYWx1ZSA9ICRQYXJhbXtGb3JtYXREYXRhfS0+eyREYXRhS2V5fTsKCiAgICAgICAgbmV4dCBEQVRBS0VZIGlmICFkZWZpbmVkICREYXRhS2V5OwogICAgICAgIG5leHQgREFUQUtFWSBpZiAhZGVmaW5lZCAkRGF0YVZhbHVlOwoKICAgICAgICAjIGluc2VydCBvbmUgcm93CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgICAgICBTUUwgPT4gJ0lOU0VSVCBJTlRPIGltZXhwb3J0X2Zvcm1hdCAnCiAgICAgICAgICAgICAgICAuICcodGVtcGxhdGVfaWQsIGRhdGFfa2V5LCBkYXRhX3ZhbHVlKSBWQUxVRVMgKD8sID8sID8pJywKICAgICAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17VGVtcGxhdGVJRH0sIFwkRGF0YUtleSwgXCREYXRhVmFsdWUgXSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgRm9ybWF0RGF0YURlbGV0ZSgpCgpEZWxldGUgdGhlIGV4aXN0aW5nIGZvcm1hdCBkYXRhIG9mIGEgdGVtcGxhdGUKCiAgICBteSAkVHJ1ZSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdERhdGFEZWxldGUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCiAgICBvcgoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0RGF0YURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IFsxLDQ0LDE2Niw1XSwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEZvcm1hdERhdGFEZWxldGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhUZW1wbGF0ZUlEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggIXJlZiAkUGFyYW17VGVtcGxhdGVJRH0gKSB7CiAgICAgICAgJFBhcmFte1RlbXBsYXRlSUR9ID0gWyAkUGFyYW17VGVtcGxhdGVJRH0gXTsKICAgIH0KICAgIGVsc2lmICggcmVmICRQYXJhbXtUZW1wbGF0ZUlEfSBuZSAnQVJSQVknICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ1RlbXBsYXRlSUQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2Ugb3IgYSBzdHJpbmchJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNyZWF0ZSB0aGUgdGVtcGxhdGUgaWQgc3RyaW5nCiAgICBteSAkVGVtcGxhdGVJRFN0cmluZyA9IGpvaW4gcXssIH0sIG1hcCB7Jz8nfSBAeyAkUGFyYW17VGVtcGxhdGVJRH0gfTsKCiAgICAjIGNyZWF0ZSBhbmQgYWRkIGJpbmQgcGFyYW1ldGVycwogICAgbXkgQEJJTkQgPSBtYXAgeyBcJF8gfSBAeyAkUGFyYW17VGVtcGxhdGVJRH0gfTsKCiAgICAjIGRlbGV0ZSB0ZW1wbGF0ZXMKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gaW1leHBvcnRfZm9ybWF0IFdIRVJFIHRlbXBsYXRlX2lkIElOICggJFRlbXBsYXRlSURTdHJpbmcgKSIsCiAgICAgICAgQmluZCA9PiBcQEJJTkQsCiAgICApOwp9Cgo9aGVhZDIgTWFwcGluZ0xpc3QoKQoKUmV0dXJuIGEgbGlzdCBvZiBtYXBwaW5nIGRhdGEgaWRzIHNvcnRlZCBieSBwb3NpdGlvbiBhcyBhcnJheSByZWZlcmVuY2UKCiAgICBteSAkTWFwcGluZ0xpc3QgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nTGlzdCgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdMaXN0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBEQiBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgYXNrIGRhdGFiYXNlCiAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMICA9PiAnU0VMRUNUIGlkIEZST00gaW1leHBvcnRfbWFwcGluZyBXSEVSRSB0ZW1wbGF0ZV9pZCA9ID8gT1JERVIgQlkgcG9zaXRpb24nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1RlbXBsYXRlSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgQE1hcHBpbmdMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgcHVzaCBATWFwcGluZ0xpc3QsICRSb3dbMF07CiAgICB9CgogICAgcmV0dXJuIFxATWFwcGluZ0xpc3Q7Cn0KCj1oZWFkMiBNYXBwaW5nQWRkKCkKCkFkZCBhIG5ldyBtYXBwaW5nIGRhdGEgcm93CgogICAgbXkgJE1hcHBpbmdJRCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdBZGQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBNYXBwaW5nQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBEQiBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgICMgZmluZCBtYXhpbXVtIHBvc2l0aW9uCiAgICAkREJPYmplY3QtPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJ1NFTEVDVCBtYXgocG9zaXRpb24pIEZST00gaW1leHBvcnRfbWFwcGluZyBXSEVSRSB0ZW1wbGF0ZV9pZCA9ID8nLAogICAgICAgIEJpbmQgID0+IFsgXCRQYXJhbXtUZW1wbGF0ZUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEsCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJE5ld1Bvc2l0aW9uID0gMDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewoKICAgICAgICBpZiAoIGRlZmluZWQgJFJvd1swXSApIHsKICAgICAgICAgICAgJE5ld1Bvc2l0aW9uID0gJFJvd1swXTsKICAgICAgICAgICAgJE5ld1Bvc2l0aW9uKys7CiAgICAgICAgfQogICAgfQoKICAgICMgaW5zZXJ0IGEgbmV3IG1hcHBpbmcgZGF0YSByb3cKICAgIHJldHVybiBpZiAhJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgID0+ICdJTlNFUlQgSU5UTyBpbWV4cG9ydF9tYXBwaW5nICh0ZW1wbGF0ZV9pZCwgcG9zaXRpb24pIFZBTFVFUyAoPywgPyknLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1RlbXBsYXRlSUR9LCBcJE5ld1Bvc2l0aW9uIF0sCiAgICApOwoKICAgICMgZmluZCBpZCBvZiBuZXcgbWFwcGluZyBkYXRhIHJvdwogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICdTRUxFQ1QgaWQgRlJPTSBpbWV4cG9ydF9tYXBwaW5nIFdIRVJFIHRlbXBsYXRlX2lkID0gPyBBTkQgcG9zaXRpb24gPSA/JywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17VGVtcGxhdGVJRH0sIFwkTmV3UG9zaXRpb24gXSwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICRNYXBwaW5nSUQ7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkTWFwcGluZ0lEID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gJE1hcHBpbmdJRDsKfQoKPWhlYWQyIE1hcHBpbmdEZWxldGUoKQoKRGVsZXRlIGV4aXN0aW5nIG1hcHBpbmcgZGF0YSByb3dzCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nRGVsZXRlKAogICAgICAgIE1hcHBpbmdJRCAgPT4gMTIzLAogICAgICAgIFRlbXBsYXRlSUQgPT4gMzIxLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7CgogICAgb3IKCiAgICBteSAkVHJ1ZSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdEZWxldGUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAzMjEsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBNYXBwaW5nRGVsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBEQiBvYmplY3QKICAgIG15ICREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpOwoKICAgIGlmICggZGVmaW5lZCAkUGFyYW17TWFwcGluZ0lEfSApIHsKCiAgICAgICAgIyBkZWxldGUgZXhpc3Rpbmcgb2JqZWN0IG1hcHBpbmcgZGF0YQogICAgICAgICRTZWxmLT5NYXBwaW5nT2JqZWN0RGF0YURlbGV0ZSgKICAgICAgICAgICAgTWFwcGluZ0lEID0+ICRQYXJhbXtNYXBwaW5nSUR9LAogICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBkZWxldGUgZXhpc3RpbmcgZm9ybWF0IG1hcHBpbmcgZGF0YQogICAgICAgICRTZWxmLT5NYXBwaW5nRm9ybWF0RGF0YURlbGV0ZSgKICAgICAgICAgICAgTWFwcGluZ0lEID0+ICRQYXJhbXtNYXBwaW5nSUR9LAogICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBkZWxldGUgb25lIG1hcHBpbmcgcm93CiAgICAgICAgJERCT2JqZWN0LT5EbygKICAgICAgICAgICAgU1FMICA9PiAnREVMRVRFIEZST00gaW1leHBvcnRfbWFwcGluZyBXSEVSRSBpZCA9ID8nLAogICAgICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtNYXBwaW5nSUR9IF0sCiAgICAgICAgKTsKCiAgICAgICAgIyByZWJ1aWxkIG1hcHBpbmcgcG9zaXRpb25zCiAgICAgICAgJFNlbGYtPk1hcHBpbmdQb3NpdGlvblJlYnVpbGQoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzZSB7CgogICAgICAgICMgZ2V0IG1hcHBpbmcgbGlzdAogICAgICAgIG15ICRNYXBwaW5nTGlzdCA9ICRTZWxmLT5NYXBwaW5nTGlzdCgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgZm9yIG15ICRNYXBwaW5nSUQgKCBAeyRNYXBwaW5nTGlzdH0gKSB7CgogICAgICAgICAgICAjIGRlbGV0ZSBleGlzdGluZyBvYmplY3QgbWFwcGluZyBkYXRhCiAgICAgICAgICAgICRTZWxmLT5NYXBwaW5nT2JqZWN0RGF0YURlbGV0ZSgKICAgICAgICAgICAgICAgIE1hcHBpbmdJRCA9PiAkTWFwcGluZ0lELAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBkZWxldGUgZXhpc3RpbmcgZm9ybWF0IG1hcHBpbmcgZGF0YQogICAgICAgICAgICAkU2VsZi0+TWFwcGluZ0Zvcm1hdERhdGFEZWxldGUoCiAgICAgICAgICAgICAgICBNYXBwaW5nSUQgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZGVsZXRlIGFsbCBtYXBwaW5nIHJvd3Mgb2YgdGhpcyB0ZW1wbGF0ZQogICAgICAgIHJldHVybiAkREJPYmplY3QtPkRvKAogICAgICAgICAgICBTUUwgID0+ICdERUxFVEUgRlJPTSBpbWV4cG9ydF9tYXBwaW5nIFdIRVJFIHRlbXBsYXRlX2lkID0gPycsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1RlbXBsYXRlSUR9IF0sCiAgICAgICAgKTsKICAgIH0KfQoKPWhlYWQyIE1hcHBpbmdVcCgpCgpNb3ZlIGFuIG1hcHBpbmcgZGF0YSByb3cgdXAKCiAgICBteSAkVHJ1ZSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdVcCgKICAgICAgICBNYXBwaW5nSUQgID0+IDEyMywKICAgICAgICBUZW1wbGF0ZUlEID0+IDMyMSwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdVcCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhNYXBwaW5nSUQgVGVtcGxhdGVJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IG1hcHBpbmcgZGF0YSBsaXN0CiAgICBteSAkTWFwcGluZ0xpc3QgPSAkU2VsZi0+TWFwcGluZ0xpc3QoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgcmV0dXJuIDEgaWYgJFBhcmFte01hcHBpbmdJRH0gPT0gJE1hcHBpbmdMaXN0LT5bMF07CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJ1NFTEVDVCBwb3NpdGlvbiBGUk9NIGltZXhwb3J0X21hcHBpbmcgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtNYXBwaW5nSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFBvc2l0aW9uOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFBvc2l0aW9uID0gJFJvd1swXTsKICAgIH0KCiAgICByZXR1cm4gMSBpZiAhJFBvc2l0aW9uOwoKICAgIG15ICRQb3NpdGlvblVwcGVyID0gJFBvc2l0aW9uIC0gMTsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbnMKICAgICREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMICA9PiAnVVBEQVRFIGltZXhwb3J0X21hcHBpbmcgU0VUIHBvc2l0aW9uID0gPyBXSEVSRSB0ZW1wbGF0ZV9pZCA9ID8gQU5EIHBvc2l0aW9uID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUG9zaXRpb24sIFwkUGFyYW17VGVtcGxhdGVJRH0sIFwkUG9zaXRpb25VcHBlciBdLAogICAgKTsKICAgICREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMICA9PiAnVVBEQVRFIGltZXhwb3J0X21hcHBpbmcgU0VUIHBvc2l0aW9uID0gPyBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBvc2l0aW9uVXBwZXIsIFwkUGFyYW17TWFwcGluZ0lEfSBdLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIE1hcHBpbmdEb3duKCkKCk1vdmUgYW4gbWFwcGluZyBkYXRhIHJvdyBkb3duCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nRG93bigKICAgICAgICBNYXBwaW5nSUQgID0+IDEyMywKICAgICAgICBUZW1wbGF0ZUlEID0+IDMyMSwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdEb3duIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE1hcHBpbmdJRCBUZW1wbGF0ZUlEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgbWFwcGluZyBkYXRhIGxpc3QKICAgIG15ICRNYXBwaW5nTGlzdCA9ICRTZWxmLT5NYXBwaW5nTGlzdCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICByZXR1cm4gMSBpZiAkUGFyYW17TWFwcGluZ0lEfSA9PSAkTWFwcGluZ0xpc3QtPlstMV07CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJ1NFTEVDVCBwb3NpdGlvbiBGUk9NIGltZXhwb3J0X21hcHBpbmcgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtNYXBwaW5nSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJFBvc2l0aW9uOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJFBvc2l0aW9uID0gJFJvd1swXTsKICAgIH0KCiAgICBteSAkUG9zaXRpb25Eb3duID0gJFBvc2l0aW9uICsgMTsKCiAgICAjIHVwZGF0ZSBwb3NpdGlvbnMKICAgICREQk9iamVjdC0+RG8oCiAgICAgICAgU1FMICA9PiAnVVBEQVRFIGltZXhwb3J0X21hcHBpbmcgU0VUIHBvc2l0aW9uID0gPyBXSEVSRSB0ZW1wbGF0ZV9pZCA9ID8gQU5EIHBvc2l0aW9uID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUG9zaXRpb24sIFwkUGFyYW17VGVtcGxhdGVJRH0sIFwkUG9zaXRpb25Eb3duIF0sCiAgICApOwogICAgJERCT2JqZWN0LT5EbygKICAgICAgICBTUUwgID0+ICdVUERBVEUgaW1leHBvcnRfbWFwcGluZyBTRVQgcG9zaXRpb24gPSA/IFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUG9zaXRpb25Eb3duLCBcJFBhcmFte01hcHBpbmdJRH0gXSwKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBNYXBwaW5nUG9zaXRpb25SZWJ1aWxkKCkKClJlYnVpbGQgdGhlIHBvc2l0aW9ucyBvZiBhIG1hcHBpbmcgbGlzdAoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ1Bvc2l0aW9uUmVidWlsZCgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdQb3NpdGlvblJlYnVpbGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IG1hcHBpbmcgZGF0YSBsaXN0CiAgICBteSAkTWFwcGluZ0xpc3QgPSAkU2VsZi0+TWFwcGluZ0xpc3QoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgIyB1cGRhdGUgcG9zaXRpb24KICAgIG15ICRDb3VudGVyID0gMDsKICAgIGZvciBteSAkTWFwcGluZ0lEICggQHskTWFwcGluZ0xpc3R9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5EbygKICAgICAgICAgICAgU1FMICA9PiAnVVBEQVRFIGltZXhwb3J0X21hcHBpbmcgU0VUIHBvc2l0aW9uID0gPyBXSEVSRSBpZCA9ID8nLAogICAgICAgICAgICBCaW5kID0+IFsgXCRDb3VudGVyLCBcJE1hcHBpbmdJRCBdLAogICAgICAgICk7CiAgICAgICAgJENvdW50ZXIrKzsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIE1hcHBpbmdPYmplY3RBdHRyaWJ1dGVzR2V0KCkKCkdldCB0aGUgYXR0cmlidXRlcyBvZiBhbiBvYmplY3QgYmFja2VuZCBhcyBhcnJheS9oYXNoIHJlZmVyZW5jZQoKICAgIG15ICRBdHRyaWJ1dGVzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ09iamVjdEF0dHJpYnV0ZXNHZXQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBNYXBwaW5nT2JqZWN0QXR0cmlidXRlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgbXkgJFRlbXBsYXRlRGF0YSA9ICRTZWxmLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGNoZWNrIHRlbXBsYXRlIGRhdGEKICAgIGlmICggISRUZW1wbGF0ZURhdGEgfHwgISRUZW1wbGF0ZURhdGEtPntPYmplY3R9ICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlRlbXBsYXRlIHdpdGggSUQgJFBhcmFte1RlbXBsYXRlSUR9IGlzIGluY29tcGxldGUhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGxvYWQgYmFja2VuZAogICAgbXkgJEJhY2tlbmQgPSAkS2VybmVsOjpPTS0+R2V0KAogICAgICAgICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpPYmplY3RCYWNrZW5kOjonIC4gJFRlbXBsYXRlRGF0YS0+e09iamVjdH0KICAgICk7CgogICAgcmV0dXJuIGlmICEkQmFja2VuZDsKCiAgICAjIGdldCBhbiBhdHRyaWJ1dGUgbGlzdCBvZiB0aGUgb2JqZWN0CiAgICBteSAkQXR0cmlidXRlcyA9ICRCYWNrZW5kLT5NYXBwaW5nT2JqZWN0QXR0cmlidXRlc0dldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICByZXR1cm4gJEF0dHJpYnV0ZXM7Cn0KCj1oZWFkMiBNYXBwaW5nT2JqZWN0RGF0YURlbGV0ZSgpCgpEZWxldGUgdGhlIGV4aXN0aW5nIG9iamVjdCBkYXRhIG9mIGEgbWFwcGluZwoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ09iamVjdERhdGFEZWxldGUoCiAgICAgICAgTWFwcGluZ0lEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgPT4gMSwKICAgICk7CgogICAgb3IKCiAgICBteSAkVHJ1ZSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdPYmplY3REYXRhRGVsZXRlKAogICAgICAgIE1hcHBpbmdJRCA9PiBbMSw0NCwxNjYsNV0sCiAgICAgICAgVXNlcklEICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdPYmplY3REYXRhRGVsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbG9nIG9iamVjdAogICAgbXkgJExvZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoTWFwcGluZ0lEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggIXJlZiAkUGFyYW17TWFwcGluZ0lEfSApIHsKICAgICAgICAkUGFyYW17TWFwcGluZ0lEfSA9IFsgJFBhcmFte01hcHBpbmdJRH0gXTsKICAgIH0KICAgIGVsc2lmICggcmVmICRQYXJhbXtNYXBwaW5nSUR9IG5lICdBUlJBWScgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTWFwcGluZ0lEIG11c3QgYmUgYW4gYXJyYXkgcmVmZXJlbmNlIG9yIGEgc3RyaW5nIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjcmVhdGUgdGhlIHRlbXBsYXRlIGlkIHN0cmluZwogICAgbXkgJE1hcHBpbmdJRFN0cmluZyA9IGpvaW4gcXssIH0sIG1hcCB7Jz8nfSBAeyAkUGFyYW17TWFwcGluZ0lEfSB9OwoKICAgICMgY3JlYXRlIGFuZCBhZGQgYmluZCBwYXJhbWV0ZXJzCiAgICBteSBAQklORCA9IG1hcCB7IFwkXyB9IEB7ICRQYXJhbXtNYXBwaW5nSUR9IH07CgogICAgIyBkZWxldGUgbWFwcGluZyBvYmplY3QgZGF0YQogICAgcmV0dXJuICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEQicpLT5EbygKICAgICAgICBTUUwgID0+ICJERUxFVEUgRlJPTSBpbWV4cG9ydF9tYXBwaW5nX29iamVjdCBXSEVSRSBtYXBwaW5nX2lkIElOICggJE1hcHBpbmdJRFN0cmluZyApIiwKICAgICAgICBCaW5kID0+IFxAQklORCwKICAgICk7Cn0KCj1oZWFkMiBNYXBwaW5nT2JqZWN0RGF0YVNhdmUoKQoKU2F2ZSB0aGUgb2JqZWN0IGRhdGEgb2YgYSBtYXBwaW5nCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nT2JqZWN0RGF0YVNhdmUoCiAgICAgICAgTWFwcGluZ0lEICAgICAgICAgPT4gMTIzLAogICAgICAgIE1hcHBpbmdPYmplY3REYXRhID0+ICRIYXNoUmVmLAogICAgICAgIFVzZXJJRCAgICAgICAgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdPYmplY3REYXRhU2F2ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE1hcHBpbmdJRCBNYXBwaW5nT2JqZWN0RGF0YSBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoIHJlZiAkUGFyYW17TWFwcGluZ09iamVjdERhdGF9IG5lICdIQVNIJyApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdNYXBwaW5nT2JqZWN0RGF0YSBtdXN0IGJlIGEgaGFzaCByZWZlcmVuY2UhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGRlbGV0ZSBleGlzdGluZyBvYmplY3QgbWFwcGluZyBkYXRhCiAgICAkU2VsZi0+TWFwcGluZ09iamVjdERhdGFEZWxldGUoCiAgICAgICAgTWFwcGluZ0lEID0+ICRQYXJhbXtNYXBwaW5nSUR9LAogICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgREFUQUtFWToKICAgIGZvciBteSAkRGF0YUtleSAoIHNvcnQga2V5cyAleyAkUGFyYW17TWFwcGluZ09iamVjdERhdGF9IH0gKSB7CgogICAgICAgIG15ICREYXRhVmFsdWUgPSAkUGFyYW17TWFwcGluZ09iamVjdERhdGF9LT57JERhdGFLZXl9OwoKICAgICAgICBuZXh0IERBVEFLRVkgaWYgIWRlZmluZWQgJERhdGFLZXk7CiAgICAgICAgbmV4dCBEQVRBS0VZIGlmICFkZWZpbmVkICREYXRhVmFsdWU7CgogICAgICAgICMgaW5zZXJ0IG9uZSBtYXBwaW5nIG9iamVjdCByb3cKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgICAgIFNRTCA9PiAnSU5TRVJUIElOVE8gaW1leHBvcnRfbWFwcGluZ19vYmplY3QgJwogICAgICAgICAgICAgICAgLiAnKG1hcHBpbmdfaWQsIGRhdGFfa2V5LCBkYXRhX3ZhbHVlKSBWQUxVRVMgKD8sID8sID8pJywKICAgICAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TWFwcGluZ0lEfSwgXCREYXRhS2V5LCBcJERhdGFWYWx1ZSBdLAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCj1oZWFkMiBNYXBwaW5nT2JqZWN0RGF0YUdldCgpCgpHZXQgdGhlIG9iamVjdCBkYXRhIG9mIGEgbWFwcGluZwoKICAgIG15ICRPYmplY3REYXRhUmVmID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ09iamVjdERhdGFHZXQoCiAgICAgICAgTWFwcGluZ0lEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgTWFwcGluZ09iamVjdERhdGFHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoTWFwcGluZ0lEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJ1NFTEVDVCBkYXRhX2tleSwgZGF0YV92YWx1ZSBGUk9NIGltZXhwb3J0X21hcHBpbmdfb2JqZWN0IFdIRVJFIG1hcHBpbmdfaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtNYXBwaW5nSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJU1hcHBpbmdPYmplY3REYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJE1hcHBpbmdPYmplY3REYXRheyAkUm93WzBdIH0gPSAkUm93WzFdOwogICAgfQoKICAgIHJldHVybiBcJU1hcHBpbmdPYmplY3REYXRhOwp9Cgo9aGVhZDIgTWFwcGluZ0Zvcm1hdEF0dHJpYnV0ZXNHZXQoKQoKR2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGFuIGZvcm1hdCBiYWNrZW5kIGFzIGFycmF5L2hhc2ggcmVmZXJlbmNlCgogICAgbXkgJEF0dHJpYnV0ZXMgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldCgKICAgICAgICBUZW1wbGF0ZUlEID0+IDEyMywKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbG9nIG9iamVjdAogICAgbXkgJExvZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICBteSAkVGVtcGxhdGVEYXRhID0gJFNlbGYtPlRlbXBsYXRlR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgICMgY2hlY2sgdGVtcGxhdGUgZGF0YQogICAgaWYgKCAhJFRlbXBsYXRlRGF0YSB8fCAhJFRlbXBsYXRlRGF0YS0+e0Zvcm1hdH0gKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiVGVtcGxhdGUgd2l0aCBJRCAkUGFyYW17VGVtcGxhdGVJRH0gaXMgaW5jb21wbGV0ZSEiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgbG9hZCBiYWNrZW5kCiAgICBteSAkQmFja2VuZCA9ICRLZXJuZWw6Ok9NLT5HZXQoCiAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQ6OkZvcm1hdEJhY2tlbmQ6OicgLiAkVGVtcGxhdGVEYXRhLT57Rm9ybWF0fQogICAgKTsKCiAgICByZXR1cm4gaWYgISRCYWNrZW5kOwoKICAgICMgZ2V0IGFuIGF0dHJpYnV0ZSBsaXN0IG9mIHRoZSBmb3JtYXQKICAgIG15ICRBdHRyaWJ1dGVzID0gJEJhY2tlbmQtPk1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0KAogICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgcmV0dXJuICRBdHRyaWJ1dGVzOwp9Cgo9aGVhZDIgTWFwcGluZ0Zvcm1hdERhdGFEZWxldGUoKQoKRGVsZXRlIHRoZSBleGlzdGluZyBmb3JtYXQgZGF0YSBvZiBhIG1hcHBpbmcKCiAgICBteSAkVHJ1ZSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdGb3JtYXREYXRhRGVsZXRlKAogICAgICAgIE1hcHBpbmdJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgID0+IDEsCiAgICApOwoKICAgIG9yCgogICAgbXkgJFRydWUgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nRm9ybWF0RGF0YURlbGV0ZSgKICAgICAgICBNYXBwaW5nSUQgPT4gWzEsNDQsMTY2LDVdLAogICAgICAgIFVzZXJJRCAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBNYXBwaW5nRm9ybWF0RGF0YURlbGV0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE1hcHBpbmdJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkQXJndW1lbnQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICFyZWYgJFBhcmFte01hcHBpbmdJRH0gKSB7CiAgICAgICAgJFBhcmFte01hcHBpbmdJRH0gPSBbICRQYXJhbXtNYXBwaW5nSUR9IF07CiAgICB9CiAgICBlbHNpZiAoIHJlZiAkUGFyYW17TWFwcGluZ0lEfSBuZSAnQVJSQVknICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ01hcHBpbmdJRCBtdXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZSBvciBhIHN0cmluZyEnLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY3JlYXRlIHRoZSB0ZW1wbGF0ZSBpZCBzdHJpbmcKICAgIG15ICRNYXBwaW5nSURTdHJpbmcgPSBqb2luIHF7LCB9LCBtYXAgeyc/J30gQHsgJFBhcmFte01hcHBpbmdJRH0gfTsKCiAgICAjIGNyZWF0ZSBhbmQgYWRkIGJpbmQgcGFyYW1ldGVycwogICAgbXkgQEJJTkQgPSBtYXAgeyBcJF8gfSBAeyAkUGFyYW17TWFwcGluZ0lEfSB9OwoKICAgICMgZGVsZXRlIG1hcHBpbmcgZm9ybWF0IGRhdGEKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gaW1leHBvcnRfbWFwcGluZ19mb3JtYXQgV0hFUkUgbWFwcGluZ19pZCBJTiAoICRNYXBwaW5nSURTdHJpbmcgKSIsCiAgICAgICAgQmluZCA9PiBcQEJJTkQsCiAgICApOwp9Cgo9aGVhZDIgTWFwcGluZ0Zvcm1hdERhdGFTYXZlKCkKClNhdmUgdGhlIGZvcm1hdCBkYXRhIG9mIGEgbWFwcGluZwoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+TWFwcGluZ0Zvcm1hdERhdGFTYXZlKAogICAgICAgIE1hcHBpbmdJRCAgICAgICAgID0+IDEyMywKICAgICAgICBNYXBwaW5nRm9ybWF0RGF0YSA9PiAkSGFzaFJlZiwKICAgICAgICBVc2VySUQgICAgICAgICAgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBNYXBwaW5nRm9ybWF0RGF0YVNhdmUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhNYXBwaW5nSUQgTWFwcGluZ0Zvcm1hdERhdGEgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCByZWYgJFBhcmFte01hcHBpbmdGb3JtYXREYXRhfSBuZSAnSEFTSCcgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTWFwcGluZ0Zvcm1hdERhdGEgbXVzdCBiZSBhIGhhc2ggcmVmZXJlbmNlIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBkZWxldGUgZXhpc3RpbmcgZm9ybWF0IG1hcHBpbmcgZGF0YQogICAgJFNlbGYtPk1hcHBpbmdGb3JtYXREYXRhRGVsZXRlKAogICAgICAgIE1hcHBpbmdJRCA9PiAkUGFyYW17TWFwcGluZ0lEfSwKICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgIERBVEFLRVk6CiAgICBmb3IgbXkgJERhdGFLZXkgKCBzb3J0IGtleXMgJXsgJFBhcmFte01hcHBpbmdGb3JtYXREYXRhfSB9ICkgewoKICAgICAgICBteSAkRGF0YVZhbHVlID0gJFBhcmFte01hcHBpbmdGb3JtYXREYXRhfS0+eyREYXRhS2V5fTsKCiAgICAgICAgbmV4dCBEQVRBS0VZIGlmICFkZWZpbmVkICREYXRhS2V5OwogICAgICAgIG5leHQgREFUQUtFWSBpZiAhZGVmaW5lZCAkRGF0YVZhbHVlOwoKICAgICAgICAjIGluc2VydCBvbmUgbWFwcGluZyBmb3JtYXQgcm93CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgICAgICBTUUwgPT4gJ0lOU0VSVCBJTlRPIGltZXhwb3J0X21hcHBpbmdfZm9ybWF0ICcKICAgICAgICAgICAgICAgIC4gJyhtYXBwaW5nX2lkLCBkYXRhX2tleSwgZGF0YV92YWx1ZSkgVkFMVUVTICg/LCA/LCA/KScsCiAgICAgICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte01hcHBpbmdJRH0sIFwkRGF0YUtleSwgXCREYXRhVmFsdWUgXSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgTWFwcGluZ0Zvcm1hdERhdGFHZXQoKQoKR2V0IHRoZSBmb3JtYXQgZGF0YSBvZiBhIG1hcHBpbmcKCiAgICBteSAkT2JqZWN0RGF0YVJlZiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdGb3JtYXREYXRhR2V0KAogICAgICAgIE1hcHBpbmdJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIE1hcHBpbmdGb3JtYXREYXRhR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE1hcHBpbmdJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IERCIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgIyBhc2sgZGF0YWJhc2UKICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICBTUUwgID0+ICdTRUxFQ1QgZGF0YV9rZXksIGRhdGFfdmFsdWUgRlJPTSBpbWV4cG9ydF9tYXBwaW5nX2Zvcm1hdCBXSEVSRSBtYXBwaW5nX2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TWFwcGluZ0lEfSBdLAogICAgKTsKCiAgICAjIGZldGNoIHRoZSByZXN1bHQKICAgIG15ICVNYXBwaW5nRm9ybWF0RGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICREQk9iamVjdC0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRNYXBwaW5nRm9ybWF0RGF0YXsgJFJvd1swXSB9ID0gJFJvd1sxXTsKICAgIH0KCiAgICByZXR1cm4gXCVNYXBwaW5nRm9ybWF0RGF0YTsKfQoKPWhlYWQyIFNlYXJjaEF0dHJpYnV0ZXNHZXQoKQoKR2V0IHRoZSBzZWFyY2ggYXR0cmlidXRlcyBvZiBhIG9iamVjdCBiYWNrZW5kIGFzIGFycmF5L2hhc2ggcmVmZXJlbmNlCgogICAgbXkgJEF0dHJpYnV0ZXMgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5TZWFyY2hBdHRyaWJ1dGVzR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gMTIzLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgU2VhcmNoQXR0cmlidXRlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgbXkgJFRlbXBsYXRlRGF0YSA9ICRTZWxmLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGNoZWNrIHRlbXBsYXRlIGRhdGEKICAgIGlmICggISRUZW1wbGF0ZURhdGEgfHwgISRUZW1wbGF0ZURhdGEtPntPYmplY3R9ICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlRlbXBsYXRlIHdpdGggSUQgJFBhcmFte1RlbXBsYXRlSUR9IGlzIGluY29tcGxldGUhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGxvYWQgYmFja2VuZAogICAgbXkgJEJhY2tlbmQgPSAkS2VybmVsOjpPTS0+R2V0KAogICAgICAgICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpPYmplY3RCYWNrZW5kOjonIC4gJFRlbXBsYXRlRGF0YS0+e09iamVjdH0KICAgICk7CgogICAgcmV0dXJuIGlmICEkQmFja2VuZDsKCiAgICAjIGdldCBhbiBzZWFyY2ggYXR0cmlidXRlIGxpc3Qgb2YgYW4gb2JqZWN0CiAgICBteSAkQXR0cmlidXRlcyA9ICRCYWNrZW5kLT5TZWFyY2hBdHRyaWJ1dGVzR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgIHJldHVybiAkQXR0cmlidXRlczsKfQoKPWhlYWQyIFNlYXJjaERhdGFHZXQoKQoKR2V0IHRoZSBzZWFyY2ggZGF0YSBmcm9tIGEgdGVtcGxhdGUKCiAgICBteSAkU2VhcmNoRGF0YVJlZiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlNlYXJjaERhdGFHZXQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAzLAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgU2VhcmNoRGF0YUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhUZW1wbGF0ZUlEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgREIgb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICAjIGFzayBkYXRhYmFzZQogICAgJERCT2JqZWN0LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJ1NFTEVDVCBkYXRhX2tleSwgZGF0YV92YWx1ZSBGUk9NIGltZXhwb3J0X3NlYXJjaCBXSEVSRSB0ZW1wbGF0ZV9pZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1RlbXBsYXRlSUR9IF0sCiAgICApOwoKICAgICMgZmV0Y2ggdGhlIHJlc3VsdAogICAgbXkgJVNlYXJjaERhdGE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkREJPYmplY3QtPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkU2VhcmNoRGF0YXsgJFJvd1swXSB9ID0gJFJvd1sxXTsKICAgIH0KCiAgICByZXR1cm4gXCVTZWFyY2hEYXRhOwp9Cgo9aGVhZDIgU2VhcmNoRGF0YVNhdmUoKQoKU2F2ZSB0aGUgc2VhcmNoIGRhdGEgb2YgYSB0ZW1wbGF0ZQoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+U2VhcmNoRGF0YVNhdmUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgU2VhcmNoRGF0YSA9PiAkSGFzaFJlZiwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFNlYXJjaERhdGFTYXZlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbG9nIG9iamVjdAogICAgbXkgJExvZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBTZWFyY2hEYXRhIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggcmVmICRQYXJhbXtTZWFyY2hEYXRhfSBuZSAnSEFTSCcgKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnU2VhcmNoRGF0YSBtdXN0IGJlIGEgaGFzaCByZWZlcmVuY2UhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGRlbGV0ZSBleGlzdGluZyBzZWFyY2ggZGF0YQogICAgJFNlbGYtPlNlYXJjaERhdGFEZWxldGUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgREFUQUtFWToKICAgIGZvciBteSAkRGF0YUtleSAoIHNvcnQga2V5cyAleyAkUGFyYW17U2VhcmNoRGF0YX0gfSApIHsKCiAgICAgICAgIyBxdW90ZQogICAgICAgIG15ICREYXRhVmFsdWUgPSAkUGFyYW17U2VhcmNoRGF0YX0tPnskRGF0YUtleX07CgogICAgICAgIG5leHQgREFUQUtFWSBpZiAhJERhdGFLZXk7CiAgICAgICAgbmV4dCBEQVRBS0VZIGlmICEkRGF0YVZhbHVlOwoKICAgICAgICAjIGluc2VydCBvbmUgcm93CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgICAgICBTUUwgPT4gJ0lOU0VSVCBJTlRPIGltZXhwb3J0X3NlYXJjaCAnCiAgICAgICAgICAgICAgICAuICcodGVtcGxhdGVfaWQsIGRhdGFfa2V5LCBkYXRhX3ZhbHVlKSBWQUxVRVMgKD8sID8sID8pJywKICAgICAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17VGVtcGxhdGVJRH0sIFwkRGF0YUtleSwgXCREYXRhVmFsdWUgXSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgU2VhcmNoRGF0YURlbGV0ZSgpCgpEZWxldGUgdGhlIGV4aXN0aW5nIHNlYXJjaCBkYXRhIG9mIGEgdGVtcGxhdGUKCiAgICBteSAkVHJ1ZSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlNlYXJjaERhdGFEZWxldGUoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCiAgICBvcgoKICAgIG15ICRUcnVlID0gJEltcG9ydEV4cG9ydE9iamVjdC0+U2VhcmNoRGF0YURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+IFsxLDQ0LDE2Niw1XSwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFNlYXJjaERhdGFEZWxldGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBsb2cgb2JqZWN0CiAgICBteSAkTG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhUZW1wbGF0ZUlEIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggIXJlZiAkUGFyYW17VGVtcGxhdGVJRH0gKSB7CiAgICAgICAgJFBhcmFte1RlbXBsYXRlSUR9ID0gWyAkUGFyYW17VGVtcGxhdGVJRH0gXTsKICAgIH0KICAgIGVsc2lmICggcmVmICRQYXJhbXtUZW1wbGF0ZUlEfSBuZSAnQVJSQVknICkgewogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ1RlbXBsYXRlSUQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2Ugb3IgYSBzdHJpbmchJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNyZWF0ZSB0aGUgdGVtcGxhdGUgaWQgc3RyaW5nCiAgICBteSAkVGVtcGxhdGVJRFN0cmluZyA9IGpvaW4gcXssIH0sIG1hcCB7Jz8nfSBAeyAkUGFyYW17VGVtcGxhdGVJRH0gfTsKCiAgICAjIGNyZWF0ZSBhbmQgYWRkIGJpbmQgcGFyYW1ldGVycwogICAgbXkgQEJJTkQgPSBtYXAgeyBcJF8gfSBAeyAkUGFyYW17VGVtcGxhdGVJRH0gfTsKCiAgICAjIGRlbGV0ZSB0ZW1wbGF0ZXMKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKS0+RG8oCiAgICAgICAgU1FMICA9PiAiREVMRVRFIEZST00gaW1leHBvcnRfc2VhcmNoIFdIRVJFIHRlbXBsYXRlX2lkIElOICggJFRlbXBsYXRlSURTdHJpbmcgKSIsCiAgICAgICAgQmluZCA9PiBcQEJJTkQsCiAgICApOwp9Cgo9aGVhZDIgRXhwb3J0KCkKCkV4cG9ydCBmdW5jdGlvbgoKICAgIG15ICRSZXN1bHRSZWYgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5FeHBvcnQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAxMjMsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCnJldHVybnMgc29tZXRoaW5nIGxpa2UKCiAgICAkUmVzdWx0UmVmID0gewogICAgICAgIFN1Y2Nlc3MgICA9PiAyLAogICAgICAgIEZhaWxlZCAgICA9PiAwLAogICAgICAgIERlc3RpbmF0aW9uQ29udGVudCA9PiBbCiAgICAgICAgICAgIFsgJ0F0dHJfMWEnLCAnQXR0cl8xYicsICdBdHRyXzFjJywgXSwKICAgICAgICAgICAgWyAnQXR0cl8yYScsICdBdHRyXzJiJywgJ0F0dHJfM2MnLCBdLAogICAgICAgIF0sCiAgICB9OwoKPWN1dAoKc3ViIEV4cG9ydCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgbXkgJFRlbXBsYXRlRGF0YSA9ICRTZWxmLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGNoZWNrIHRlbXBsYXRlIGRhdGEKICAgIGlmICggISRUZW1wbGF0ZURhdGEgfHwgISRUZW1wbGF0ZURhdGEtPntPYmplY3R9IHx8ICEkVGVtcGxhdGVEYXRhLT57Rm9ybWF0fSApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJUZW1wbGF0ZSB3aXRoIElEICRQYXJhbXtUZW1wbGF0ZUlEfSBpcyBpbmNvbXBsZXRlISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBsb2FkIG9iamVjdCBiYWNrZW5kCiAgICBteSAkT2JqZWN0QmFja2VuZCA9ICRLZXJuZWw6Ok9NLT5HZXQoCiAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQ6Ok9iamVjdEJhY2tlbmQ6OicgLiAkVGVtcGxhdGVEYXRhLT57T2JqZWN0fQogICAgKTsKCiAgICByZXR1cm4gaWYgISRPYmplY3RCYWNrZW5kOwoKICAgICMgbG9hZCBmb3JtYXQgYmFja2VuZAogICAgbXkgJEZvcm1hdEJhY2tlbmQgPSAkS2VybmVsOjpPTS0+R2V0KAogICAgICAgICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kOjonIC4gJFRlbXBsYXRlRGF0YS0+e0Zvcm1hdH0KICAgICk7CgogICAgcmV0dXJuIGlmICEkRm9ybWF0QmFja2VuZDsKCiAgICAjIGdldCBleHBvcnQgZGF0YQogICAgbXkgJEV4cG9ydERhdGEgPSAkT2JqZWN0QmFja2VuZC0+RXhwb3J0RGF0YUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGdldCBmb3JtYXQgZGF0YQogICAgbXkgJEZvcm1hdERhdGEgPSAkU2VsZi0+Rm9ybWF0RGF0YUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGlmIGNvbHVtbiBoZWFkZXJzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgZXhwb3J0CiAgICBpZiAoICRGb3JtYXREYXRhLT57SW5jbHVkZUNvbHVtbkhlYWRlcnN9ICkgewoKICAgICAgICAjIGdldCBvYmplY3QgYXR0cmlidXRlcyAodGhlIG5hbWUgb2YgdGhlIGNvbHVtbnMpCiAgICAgICAgbXkgJE1hcHBpbmdPYmplY3RBdHRyaWJ1dGVzID0gJFNlbGYtPk1hcHBpbmdPYmplY3RBdHRyaWJ1dGVzR2V0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGNyZWF0ZSBhIGxvb2t1cCBoYXNoIGZvciB0aGUgb2JqZWN0IGF0dHJpYnV0ZSBuYW1lcwogICAgICAgIG15ICVBdHRyaWJ1dGVMb29rdXAgPSBtYXAgeyAkXy0+e0tleX0gPT4gJF8tPntWYWx1ZX0gfSBAeyAkTWFwcGluZ09iamVjdEF0dHJpYnV0ZXMtPlswXS0+e0lucHV0fS0+e0RhdGF9IH07CgogICAgICAgICMgZ2V0IG1hcHBpbmcgZGF0YSBsaXN0CiAgICAgICAgbXkgJE1hcHBpbmdMaXN0ID0gJFNlbGYtPk1hcHBpbmdMaXN0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGdldCB0aGUgY29sdW1uIG5hbWVzCiAgICAgICAgbXkgQENvbHVtbk5hbWVzOwogICAgICAgIGZvciBteSAkTWFwcGluZ0lEICggQHskTWFwcGluZ0xpc3R9ICkgewoKICAgICAgICAgICAgIyBnZXQgbWFwcGluZyBvYmplY3QgZGF0YQogICAgICAgICAgICBteSAkTWFwcGluZ09iamVjdERhdGEgPSAkU2VsZi0+TWFwcGluZ09iamVjdERhdGFHZXQoCiAgICAgICAgICAgICAgICBNYXBwaW5nSUQgPT4gJE1hcHBpbmdJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgZ2V0IHRoZSBjb2x1bW4gbmFtZQogICAgICAgICAgICBteSAkQ29sdW1uTmFtZSA9ICRBdHRyaWJ1dGVMb29rdXB7ICRNYXBwaW5nT2JqZWN0RGF0YS0+e0tleX0gfTsKCiAgICAgICAgICAgIHB1c2ggQENvbHVtbk5hbWVzLCAkQ29sdW1uTmFtZTsKICAgICAgICB9CgogICAgICAgICMgYWRkIGNvbHVtbiBoZWFkZXJzIGFzIGZpcnN0IHJvdwogICAgICAgIHVuc2hpZnQgQHskRXhwb3J0RGF0YX0sIFxAQ29sdW1uTmFtZXM7CiAgICB9CgogICAgbXkgJVJlc3VsdCA9ICgKICAgICAgICBTdWNjZXNzICAgICAgICAgICAgPT4gMCwKICAgICAgICBGYWlsZWQgICAgICAgICAgICAgPT4gMCwKICAgICAgICBEZXN0aW5hdGlvbkNvbnRlbnQgPT4gW10sCiAgICApOwoKICAgIEVYUE9SVERBVEFST1c6CiAgICBmb3IgbXkgJEV4cG9ydERhdGFSb3cgKCBAeyRFeHBvcnREYXRhfSApIHsKCiAgICAgICAgIyBleHBvcnQgb25lIHJvdwogICAgICAgIG15ICREZXN0aW5hdGlvbkNvbnRlbnRSb3cgPSAkRm9ybWF0QmFja2VuZC0+RXhwb3J0RGF0YVNhdmUoCiAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+ICRFeHBvcnREYXRhUm93LAogICAgICAgICAgICBVc2VySUQgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggIWRlZmluZWQgJERlc3RpbmF0aW9uQ29udGVudFJvdyApIHsKICAgICAgICAgICAgJFJlc3VsdHtGYWlsZWR9Kys7CiAgICAgICAgICAgIG5leHQgRVhQT1JUREFUQVJPVzsKICAgICAgICB9CgogICAgICAgICMgYWRkIHJvdyB0byBkZXN0aW5hdGlvbiBjb250ZW50CiAgICAgICAgcHVzaCBAeyAkUmVzdWx0e0Rlc3RpbmF0aW9uQ29udGVudH0gfSwgJERlc3RpbmF0aW9uQ29udGVudFJvdzsKICAgICAgICAkUmVzdWx0e1N1Y2Nlc3N9Kys7CiAgICB9CgogICAgIyBsb2cgcmVzdWx0CiAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgUHJpb3JpdHkgPT4gJ25vdGljZScsCiAgICAgICAgTWVzc2FnZSAgPT4gIkV4cG9ydCBvZiAkUmVzdWx0e0ZhaWxlZH0gcmVjb3JkcyAoJFRlbXBsYXRlRGF0YS0+e09iamVjdH0pOiBmYWlsZWQhIiwKICAgICk7CiAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgUHJpb3JpdHkgPT4gJ25vdGljZScsCiAgICAgICAgTWVzc2FnZSAgPT4gIkV4cG9ydCBvZiAkUmVzdWx0e1N1Y2Nlc3N9IHJlY29yZHMgKCRUZW1wbGF0ZURhdGEtPntPYmplY3R9KTogc3VjY2Vzc2Z1bCEiLAogICAgKTsKCiAgICByZXR1cm4gXCVSZXN1bHQ7Cn0KCj1oZWFkMiBJbXBvcnQoKQoKSW1wb3J0IGZ1bmN0aW9uCgogICAgbXkgJFJlc3VsdFJlZiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkltcG9ydCgKICAgICAgICBUZW1wbGF0ZUlEICAgID0+IDEyMywKICAgICAgICBTb3VyY2VDb250ZW50ID0+ICRTdHJpbmdSZWYsICAjIChvcHRpb25hbCkKICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEltcG9ydCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRDYWNoZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpOwoKICAgICMgRGlzYWJsZSB0aGUgY2FjaGUgZm9yIGZhc3RlciBpbXBvcnQuCiAgICAkQ2FjaGVPYmplY3QtPkNvbmZpZ3VyZSgKICAgICAgICBDYWNoZUluTWVtb3J5ICA9PiAwLAogICAgICAgIENhY2hlSW5CYWNrZW5kID0+IDAsCiAgICApOwoKICAgICMgZ2V0IGxvZyBvYmplY3QKICAgIG15ICRMb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyk7CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KFRlbXBsYXRlSUQgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskQXJndW1lbnR9ICkgewogICAgICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgdGVtcGxhdGUgZGF0YQogICAgbXkgJFRlbXBsYXRlRGF0YSA9ICRTZWxmLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGNoZWNrIHRlbXBsYXRlIGRhdGEKICAgIGlmICggISRUZW1wbGF0ZURhdGEgfHwgISRUZW1wbGF0ZURhdGEtPntPYmplY3R9IHx8ICEkVGVtcGxhdGVEYXRhLT57Rm9ybWF0fSApIHsKICAgICAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJUZW1wbGF0ZSB3aXRoIElEICRQYXJhbXtUZW1wbGF0ZUlEfSBpcyBpbmNvbXBsZXRlISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBsb2FkIG9iamVjdCBiYWNrZW5kCiAgICBteSAkT2JqZWN0QmFja2VuZCA9ICRLZXJuZWw6Ok9NLT5HZXQoCiAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQ6Ok9iamVjdEJhY2tlbmQ6OicgLiAkVGVtcGxhdGVEYXRhLT57T2JqZWN0fQogICAgKTsKCiAgICByZXR1cm4gaWYgISRPYmplY3RCYWNrZW5kOwoKICAgICMgbG9hZCBmb3JtYXQgYmFja2VuZAogICAgbXkgJEZvcm1hdEJhY2tlbmQgPSAkS2VybmVsOjpPTS0+R2V0KAogICAgICAgICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kOjonIC4gJFRlbXBsYXRlRGF0YS0+e0Zvcm1hdH0KICAgICk7CgogICAgcmV0dXJuIGlmICEkRm9ybWF0QmFja2VuZDsKCiAgICAjIGdldCBpbXBvcnQgZGF0YQogICAgbXkgJEltcG9ydERhdGEgPSAkRm9ybWF0QmFja2VuZC0+SW1wb3J0RGF0YUdldCgKICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRQYXJhbXtUZW1wbGF0ZUlEfSwKICAgICAgICBTb3VyY2VDb250ZW50ID0+ICRQYXJhbXtTb3VyY2VDb250ZW50fSwKICAgICAgICBVc2VySUQgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICByZXR1cm4gaWYgISRJbXBvcnREYXRhOwoKICAgICMgZ2V0IGZvcm1hdCBkYXRhCiAgICBteSAkRm9ybWF0RGF0YSA9ICRTZWxmLT5Gb3JtYXREYXRhR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgICMgaWYgY29sdW1uIGhlYWRlcnMgYXJlIGFjdGl2YXRlZCwgdGhlIGZpcnN0IHJvdyBtdXN0IGJlIHJlbW92ZWQKICAgIGlmICggJEZvcm1hdERhdGEtPntJbmNsdWRlQ29sdW1uSGVhZGVyc30gKSB7CiAgICAgICAgc2hpZnQgQHskSW1wb3J0RGF0YX07CiAgICB9CgogICAgIyBOdW1iZXIgb2Ygc3VjY2Vzc2Z1bGx5IGFuZCBub3Qgc3VjY2Vzc2Z1bGx5IGltcG9ydGVkIHJvd3MKICAgIG15ICVSZXN1bHQgPSAoCiAgICAgICAgT2JqZWN0ICA9PiAkVGVtcGxhdGVEYXRhLT57T2JqZWN0fSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICAgICAgRmFpbGVkICA9PiAwLAogICAgICAgIFJldENvZGUgPT4ge30sCiAgICAgICAgQ291bnRlciA9PiAwLAogICAgKTsKICAgIElNUE9SVERBVEFST1c6CiAgICBmb3IgbXkgJEltcG9ydERhdGFSb3cgKCBAeyRJbXBvcnREYXRhfSApIHsKCiAgICAgICAgJFJlc3VsdHtDb3VudGVyfSsrOwoKICAgICAgICAjIGltcG9ydCBhIHNpbmdsZSByb3cKICAgICAgICBteSAoICRJRCwgJFJldENvZGUgKSA9ICRPYmplY3RCYWNrZW5kLT5JbXBvcnREYXRhU2F2ZSgKICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkUGFyYW17VGVtcGxhdGVJRH0sCiAgICAgICAgICAgIEltcG9ydERhdGFSb3cgPT4gJEltcG9ydERhdGFSb3csCiAgICAgICAgICAgIENvdW50ZXIgICAgICAgPT4gJFJlc3VsdHtDb3VudGVyfSwKICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICBpZiAoICEkSUQgKSB7CgogICAgICAgICAgICAjIGNvdW50IER1cGxpY2F0ZU5hbWUgZW50cmllcyBhcyBlcnJvcnMKICAgICAgICAgICAgaWYgKCAkUmV0Q29kZSAmJiAkUmV0Q29kZSA9fiBteyBcQSBEdXBsaWNhdGVOYW1lIH14bXMgKSB7CiAgICAgICAgICAgICAgICAkUmVzdWx0e1JldENvZGV9LT57JFJldENvZGV9Kys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJFJlc3VsdHtGYWlsZWR9Kys7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkUmVzdWx0e1JldENvZGV9LT57JFJldENvZGV9Kys7CiAgICAgICAgICAgICRSZXN1bHR7U3VjY2Vzc30rKzsKICAgICAgICB9CiAgICB9CgogICAgIyBsb2cgcmVzdWx0CiAgICAkTG9nT2JqZWN0LT5Mb2coCiAgICAgICAgUHJpb3JpdHkgPT4gJ25vdGljZScsCiAgICAgICAgTWVzc2FnZSA9PgogICAgICAgICAgICAiSW1wb3J0IG9mICRSZXN1bHR7Q291bnRlcn0gJFJlc3VsdHtPYmplY3R9IHJlY29yZHM6ICIKICAgICAgICAgICAgLiAiJFJlc3VsdHtGYWlsZWR9IGZhaWxlZCwgJFJlc3VsdHtTdWNjZXNzfSBzdWNjZWVkZWQiLAogICAgKTsKICAgIGZvciBteSAkUmV0Q29kZSAoIHNvcnQga2V5cyAleyAkUmVzdWx0e1JldENvZGV9IH0gKSB7CiAgICAgICAgbXkgJENvdW50ID0gJFJlc3VsdHtSZXRDb2RlfS0+eyRSZXRDb2RlfSB8fCAwOwogICAgICAgICRMb2dPYmplY3QtPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ25vdGljZScsCiAgICAgICAgICAgIE1lc3NhZ2UgPT4KICAgICAgICAgICAgICAgICJJbXBvcnQgb2YgJFJlc3VsdHtDb3VudGVyfSAkUmVzdWx0e09iamVjdH0gcmVjb3JkczogJENvdW50ICRSZXRDb2RlIiwKICAgICAgICApOwogICAgfQogICAgaWYgKCAkUmVzdWx0e0ZhaWxlZH0gKSB7CiAgICAgICAgJExvZ09iamVjdC0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnbm90aWNlJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkxhc3QgcHJvY2Vzc2VkIGxpbmUgbnVtYmVyIG9mIGltcG9ydCBmaWxlOiAkUmVzdWx0e0NvdW50ZXJ9IiwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiBcJVJlc3VsdDsKfQoKMTsKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBTb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVFJTIHByb2plY3QgKEw8aHR0cDovL290cnMub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQ+LgoKPWN1dAo=</File>
        <File Permission="660" Location="Kernel/System/ImportExport/FormatBackend/CSV.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kOjpDU1Y7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpMYW5ndWFnZSBxdyhUcmFuc2xhdGFibGUpOwoKb3VyIEBPYmplY3REZXBlbmRlbmNpZXMgPSAoCiAgICAnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcsCiAgICAnS2VybmVsOjpTeXN0ZW06OkxvZycsCiAgICAnS2VybmVsOjpTeXN0ZW06Ok1haW4nLAopOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQ6OkZvcm1hdEJhY2tlbmQ6OkNTViAtIGltcG9ydC9leHBvcnQgYmFja2VuZCBmb3IgQ1NWCgo9aGVhZDEgREVTQ1JJUFRJT04KCkFsbCBmdW5jdGlvbnMgdG8gaW1wb3J0IGFuZCBleHBvcnQgYSBjc3YgZm9ybWF0Cgo9Y3V0Cgo9aGVhZDIgbmV3KCkKCkNyZWF0ZSBhbiBvYmplY3QKCiAgICB1c2UgS2VybmVsOjpTeXN0ZW06Ok9iamVjdE1hbmFnZXI7CiAgICBsb2NhbCAkS2VybmVsOjpPTSA9IEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyLT5uZXcoKTsKICAgIG15ICRJbXBvcnRFeHBvcnRDU1ZCYWNrZW5kT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydDo6Rm9ybWF0QmFja2VuZDo6Q1NWJyk7Cgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgIGlmICggISRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpNYWluJyktPlJlcXVpcmUoJ1RleHQ6OkNTVicpICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiQ1BBTiBtb2R1bGUgVGV4dDo6Q1NWIGlzIHJlcXVpcmVkIHRvIHVzZSB0aGUgQ1NWIGltcG9ydC9leHBvcnQgbW9kdWxlISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBkZWZpbmUgYXZhaWxhYmxlIHNlcGFyYXRvcnMKICAgICRTZWxmLT57QXZhaWxhYmxlU2VwYXJhdG9yc30gPSB7CiAgICAgICAgVGFidWxhdG9yID0+ICJcdCIsCiAgICAgICAgU2VtaWNvbG9uID0+ICc7JywKICAgICAgICBDb2xvbiAgICAgPT4gJzonLAogICAgICAgIERvdCAgICAgICA9PiAnLicsCiAgICAgICAgQ29tbWEgICAgID0+ICcsJywKICAgIH07CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aGVhZDIgRm9ybWF0QXR0cmlidXRlc0dldCgpCgpHZXQgdGhlIGZvcm1hdCBhdHRyaWJ1dGVzIG9mIGEgZm9ybWF0IGFzIGFycmF5L2hhc2ggcmVmZXJlbmNlCgogICAgbXkgJEF0dHJpYnV0ZXMgPSAkRm9ybWF0QmFja2VuZC0+Rm9ybWF0QXR0cmlidXRlc0dldCgKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgRm9ybWF0QXR0cmlidXRlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17VXNlcklEfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05lZWQgVXNlcklEIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgJEF0dHJpYnV0ZXMgPSBbCiAgICAgICAgewogICAgICAgICAgICBLZXkgICA9PiAnQ29sdW1uU2VwYXJhdG9yJywKICAgICAgICAgICAgTmFtZSAgPT4gVHJhbnNsYXRhYmxlKCdDb2x1bW4gU2VwYXJhdG9yJyksCiAgICAgICAgICAgIElucHV0ID0+IHsKICAgICAgICAgICAgICAgIFR5cGUgPT4gJ1NlbGVjdGlvbicsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBUYWJ1bGF0b3IgPT4gVHJhbnNsYXRhYmxlKCdUYWJ1bGF0b3IgKFRBQiknKSwKICAgICAgICAgICAgICAgICAgICBTZW1pY29sb24gPT4gVHJhbnNsYXRhYmxlKCdTZW1pY29sb24gKDspJyksCiAgICAgICAgICAgICAgICAgICAgQ29sb24gICAgID0+IFRyYW5zbGF0YWJsZSgnQ29sb24gKDopJyksCiAgICAgICAgICAgICAgICAgICAgRG90ICAgICAgID0+IFRyYW5zbGF0YWJsZSgnRG90ICguKScpLAogICAgICAgICAgICAgICAgICAgIENvbW1hICAgICA9PiBUcmFuc2xhdGFibGUoJ0NvbW1hICgsKScpLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFJlcXVpcmVkICAgICA9PiAxLAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDEsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgS2V5ICAgPT4gJ0NoYXJzZXQnLAogICAgICAgICAgICBOYW1lICA9PiBUcmFuc2xhdGFibGUoJ0NoYXJzZXQnKSwKICAgICAgICAgICAgSW5wdXQgPT4gewogICAgICAgICAgICAgICAgVHlwZSAgICAgICAgID0+ICdUZXh0JywKICAgICAgICAgICAgICAgIFZhbHVlRGVmYXVsdCA9PiAnVVRGLTgnLAogICAgICAgICAgICAgICAgUmVxdWlyZWQgICAgID0+IDEsCiAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICAgICAgICAgICAgIFNpemUgICAgICAgICA9PiAyMCwKICAgICAgICAgICAgICAgIE1heExlbmd0aCAgICA9PiAyMCwKICAgICAgICAgICAgICAgIFJlYWRvbmx5ICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBLZXkgICA9PiAnSW5jbHVkZUNvbHVtbkhlYWRlcnMnLAogICAgICAgICAgICBOYW1lICA9PiBUcmFuc2xhdGFibGUoJ0luY2x1ZGUgQ29sdW1uIEhlYWRlcnMnKSwKICAgICAgICAgICAgSW5wdXQgPT4gewogICAgICAgICAgICAgICAgVHlwZSA9PiAnU2VsZWN0aW9uJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIDAgPT4gVHJhbnNsYXRhYmxlKCdObycpLAogICAgICAgICAgICAgICAgICAgIDEgPT4gVHJhbnNsYXRhYmxlKCdZZXMnKSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAwLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICBdOwoKICAgIHJldHVybiAkQXR0cmlidXRlczsKfQoKPWhlYWQyIE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0KCkKCkdldCB0aGUgbWFwcGluZyBhdHRyaWJ1dGVzIG9mIGFuIGZvcm1hdCBhcyBhcnJheS9oYXNoIHJlZmVyZW5jZQoKICAgIG15ICRBdHRyaWJ1dGVzID0gJEZvcm1hdEJhY2tlbmQtPk1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0KAogICAgICAgIFVzZXJJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIG9iamVjdAogICAgaWYgKCAhJFBhcmFte1VzZXJJRH0gKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFVzZXJJRCEnLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIG15ICRBdHRyaWJ1dGVzID0gWwogICAgICAgIHsKICAgICAgICAgICAgS2V5ICAgPT4gJ0NvbHVtbicsCiAgICAgICAgICAgIE5hbWUgID0+IFRyYW5zbGF0YWJsZSgnQ29sdW1uJyksCiAgICAgICAgICAgIElucHV0ID0+IHsKICAgICAgICAgICAgICAgIFR5cGUgICAgID0+ICdUVCcsCiAgICAgICAgICAgICAgICBEYXRhICAgICA9PiAnJywKICAgICAgICAgICAgICAgIFJlcXVpcmVkID0+IDAsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIF07CgogICAgcmV0dXJuICRBdHRyaWJ1dGVzOwp9Cgo9aGVhZDIgSW1wb3J0RGF0YUdldCgpCgpHZXQgaW1wb3J0IGRhdGEgYXMgQzwyRC1hcnJheT4gcmVmZXJlbmNlCgogICAgbXkgJEltcG9ydERhdGEgPSAkRm9ybWF0QmFja2VuZC0+SW1wb3J0RGF0YUdldCgKICAgICAgICBUZW1wbGF0ZUlEICAgID0+IDEyMywKICAgICAgICBTb3VyY2VDb250ZW50ID0+ICRTdHJpbmdSZWYsICAjIChvcHRpb25hbCkKICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEltcG9ydERhdGFHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBbXSBpZiAhZGVmaW5lZCAkUGFyYW17U291cmNlQ29udGVudH07CgogICAgIyBjaGVjayBzb3VyY2UgY29udGVudAogICAgaWYgKCByZWYgJFBhcmFte1NvdXJjZUNvbnRlbnR9IG5lICdTQ0FMQVInICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnU291cmNlQ29udGVudCBtdXN0IGJlIGEgc2NhbGFyIHJlZmVyZW5jZScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZm9ybWF0IGRhdGEKICAgIG15ICRGb3JtYXREYXRhID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpLT5Gb3JtYXREYXRhR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgICMgY2hlY2sgZm9ybWF0IGRhdGEKICAgIGlmICggISRGb3JtYXREYXRhIHx8IHJlZiAkRm9ybWF0RGF0YSBuZSAnSEFTSCcgKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJObyBmb3JtYXQgZGF0YSBmb3VuZCBmb3IgdGhlIHRlbXBsYXRlIGlkICRQYXJhbXtUZW1wbGF0ZUlEfSIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgY2hhcnNldAogICAgbXkgJENoYXJzZXQgPSAkRm9ybWF0RGF0YS0+e0NoYXJzZXR9IHx8PSAnJzsKCiAgICAjIGNoZWNrIHRoZSBjaGFyc2V0CiAgICBpZiAoICRDaGFyc2V0IG5lICdVVEYtOCcgKSB7CgogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTm8gdmFsaWQgY2hhcnNldCBmb3VuZCBmb3IgdGhlIHRlbXBsYXRlIGlkICRQYXJhbXtUZW1wbGF0ZUlEfS4gQ2hhcnNldCBtdXN0IGJlIFVURi04ISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgc2VwYXJhdG9yCiAgICAkRm9ybWF0RGF0YS0+e0NvbHVtblNlcGFyYXRvcn0gfHw9ICcnOwogICAgbXkgJFNlcGFyYXRvciA9ICRTZWxmLT57QXZhaWxhYmxlU2VwYXJhdG9yc30tPnsgJEZvcm1hdERhdGEtPntDb2x1bW5TZXBhcmF0b3J9IH0gfHwgJyc7CgogICAgIyBjaGVjayB0aGUgc2VwYXJhdG9yCiAgICBpZiAoICEkU2VwYXJhdG9yICkgewoKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5vIHZhbGlkIHNlcGFyYXRvciBmb3VuZCBmb3IgdGhlIHRlbXBsYXRlIGlkICRQYXJhbXtUZW1wbGF0ZUlEfSIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjcmVhdGUgdGhlIHBhcnNlciBvYmplY3QKICAgIG15ICRQYXJzZU9iamVjdCA9IFRleHQ6OkNTVi0+bmV3KAogICAgICAgIHsKICAgICAgICAgICAgcXVvdGVfY2hhciAgICAgICAgICA9PiAnIicsCiAgICAgICAgICAgIGVzY2FwZV9jaGFyICAgICAgICAgPT4gJyInLAogICAgICAgICAgICBzZXBfY2hhciAgICAgICAgICAgID0+ICRTZXBhcmF0b3IsCiAgICAgICAgICAgIGVvbCAgICAgICAgICAgICAgICAgPT4gJycsCiAgICAgICAgICAgIGFsd2F5c19xdW90ZSAgICAgICAgPT4gMSwKICAgICAgICAgICAgYmluYXJ5ICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBrZWVwX21ldGFfaW5mbyAgICAgID0+IDAsCiAgICAgICAgICAgIGFsbG93X2xvb3NlX3F1b3RlcyAgPT4gMCwKICAgICAgICAgICAgYWxsb3dfbG9vc2VfZXNjYXBlcyA9PiAwLAogICAgICAgICAgICBhbGxvd193aGl0ZXNwYWNlICAgID0+IDAsCiAgICAgICAgICAgIGJsYW5rX2lzX3VuZGVmICAgICAgPT4gMCwKICAgICAgICAgICAgdmVyYmF0aW0gICAgICAgICAgICA9PiAwLAogICAgICAgIH0KICAgICk7CgogICAgIyBjcmVhdGUgYW4gaW4gbWVtb3J5IHRlbXAgZmlsZSBhbmQgb3BlbiBpdAogICAgbXkgJEZpbGVDb250ZW50ID0gJyc7CiAgICBvcGVuIG15ICRGSCwgJys8JywgXCRGaWxlQ29udGVudDsgICAgIyMgbm8gY3JpdGljCgogICAgIyB3cml0ZSBzb3VyY2UgY29udGVudAogICAgcHJpbnQgJEZIICR7ICRQYXJhbXtTb3VyY2VDb250ZW50fSB9OwoKICAgICMgcmV3aW5kIGZpbGUgaGFuZGxlCiAgICBzZWVrICRGSCwgMCwgMDsKCiAgICAjIHBhcnNlIHRoZSBjb250ZW50CiAgICBteSAkTGluZUNvdW50ID0gMTsKICAgIG15IEBJbXBvcnREYXRhOwoKICAgICMgaXQgaXMgaW1wb3J0YW50IHRvIHVzZSB0aGlzIHN5bnRheCAid2hpbGUgKCAhZW9mKCRGSCkgKSIKICAgICMgYXMgdGhlIENQQU4gbW9kdWxlIFRleHQ6OkNTVl9YUyBtaWdodCBzaG93IGVycm9ycyBpZiB0aGUKICAgICMgZ2V0bGluZSBjYWxsIGlzIHdpdGhpbiB0aGUgd2hpbGUgdGVzdAogICAgIyBoYXZlIGEgbG9vayBhdCBodHRwOi8vYnVncy5vdHJzLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3MAogICAgd2hpbGUgKCAhZW9mKCRGSCkgKSB7CiAgICAgICAgbXkgJENvbHVtbiA9ICRQYXJzZU9iamVjdC0+Z2V0bGluZSgkRkgpOwogICAgICAgIHB1c2ggQEltcG9ydERhdGEsICRDb2x1bW47CiAgICAgICAgJExpbmVDb3VudCsrOwogICAgfQoKICAgICMgZXJyb3IgaGFuZGxpbmcKICAgIG15ICggJFBhcnNlRXJyb3JDb2RlLCAkUGFyc2VFcnJvclN0cmluZyApID0gJFBhcnNlT2JqZWN0LT5lcnJvcl9kaWFnKCk7CiAgICBpZiAoJFBhcnNlRXJyb3JDb2RlKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJJbXBvcnRFcnJvciBhdCBsaW5lICRMaW5lQ291bnQsICIKICAgICAgICAgICAgICAgIC4gIkVycm9yQ29kZTogJFBhcnNlRXJyb3JDb2RlICckUGFyc2VFcnJvclN0cmluZycgIiwKICAgICAgICApOwogICAgfQoKICAgICMgY2xvc2UgdGhlIGluIG1lbW9yeSBmaWxlIGhhbmRsZQogICAgY2xvc2UgJEZIOwoKICAgICMgc2V0IHV0ZjggZmxhZwogICAgZm9yIG15ICRSb3cgKEBJbXBvcnREYXRhKSB7CiAgICAgICAgZm9yIG15ICRDZWxsICggQHskUm93fSApIHsKICAgICAgICAgICAgRW5jb2RlOjpfdXRmOF9vbigkQ2VsbCk7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBcQEltcG9ydERhdGE7Cn0KCj1oZWFkMiBFeHBvcnREYXRhU2F2ZSgpCgpFeHBvcnQgb25lIHJvdyBvZiB0aGUgZXhwb3J0IGRhdGEKCiAgICBteSAkRGVzdGluYXRpb25Db250ZW50ID0gJEZvcm1hdEJhY2tlbmQtPkV4cG9ydERhdGFTYXZlKAogICAgICAgIFRlbXBsYXRlSUQgICAgPT4gMTIzLAogICAgICAgIEV4cG9ydERhdGFSb3cgPT4gJEFycmF5UmVmLAogICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgRXhwb3J0RGF0YVNhdmUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoVGVtcGxhdGVJRCBFeHBvcnREYXRhUm93IFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBleHBvcnQgZGF0YSByb3cKICAgIGlmICggcmVmICRQYXJhbXtFeHBvcnREYXRhUm93fSBuZSAnQVJSQVknICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnRXhwb3J0RGF0YVJvdyBtdXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgZm9ybWF0IGRhdGEKICAgIG15ICRGb3JtYXREYXRhID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpLT5Gb3JtYXREYXRhR2V0KAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFBhcmFte1RlbXBsYXRlSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwoKICAgICMgY2hlY2sgZm9ybWF0IGRhdGEKICAgIGlmICggISRGb3JtYXREYXRhIHx8IHJlZiAkRm9ybWF0RGF0YSBuZSAnSEFTSCcgKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJObyBmb3JtYXQgZGF0YSBmb3VuZCBmb3IgdGhlIHRlbXBsYXRlIGlkICRQYXJhbXtUZW1wbGF0ZUlEfSIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgY2hhcnNldAogICAgbXkgJENoYXJzZXQgPSAkRm9ybWF0RGF0YS0+e0NoYXJzZXR9IHx8PSAnJzsKCiAgICAjIGNoZWNrIHRoZSBjaGFyc2V0CiAgICBpZiAoICRDaGFyc2V0IG5lICdVVEYtOCcgKSB7CgogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTm8gdmFsaWQgY2hhcnNldCBmb3VuZCBmb3IgdGhlIHRlbXBsYXRlIGlkICRQYXJhbXtUZW1wbGF0ZUlEfS4gQ2hhcnNldCBtdXN0IGJlIFVURi04ISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgY29sdW1ubiBzZXBhcmF0b3IKICAgICRGb3JtYXREYXRhLT57Q29sdW1uU2VwYXJhdG9yfSB8fD0gJyc7CiAgICBteSAkU2VwYXJhdG9yID0gJFNlbGYtPntBdmFpbGFibGVTZXBhcmF0b3JzfS0+eyAkRm9ybWF0RGF0YS0+e0NvbHVtblNlcGFyYXRvcn0gfSB8fCAnJzsKCiAgICAjIGNoZWNrIHRoZSBzZXBhcmF0b3IKICAgIGlmICggISRTZXBhcmF0b3IgKSB7CgogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTm8gdmFsaWQgc2VwYXJhdG9yIGZvdW5kIGZvciB0aGUgdGVtcGxhdGUgaWQgJFBhcmFte1RlbXBsYXRlSUR9IiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNyZWF0ZSB0aGUgcGFyc2VyIG9iamVjdAogICAgbXkgJFBhcnNlT2JqZWN0ID0gVGV4dDo6Q1NWLT5uZXcoCiAgICAgICAgewogICAgICAgICAgICBxdW90ZV9jaGFyICAgICAgICAgID0+ICciJywKICAgICAgICAgICAgZXNjYXBlX2NoYXIgICAgICAgICA9PiAnIicsCiAgICAgICAgICAgIHNlcF9jaGFyICAgICAgICAgICAgPT4gJFNlcGFyYXRvciwKICAgICAgICAgICAgZW9sICAgICAgICAgICAgICAgICA9PiAnJywKICAgICAgICAgICAgYWx3YXlzX3F1b3RlICAgICAgICA9PiAxLAogICAgICAgICAgICBiaW5hcnkgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIGtlZXBfbWV0YV9pbmZvICAgICAgPT4gMCwKICAgICAgICAgICAgYWxsb3dfbG9vc2VfcXVvdGVzICA9PiAwLAogICAgICAgICAgICBhbGxvd19sb29zZV9lc2NhcGVzID0+IDAsCiAgICAgICAgICAgIGFsbG93X3doaXRlc3BhY2UgICAgPT4gMCwKICAgICAgICAgICAgYmxhbmtfaXNfdW5kZWYgICAgICA9PiAwLAogICAgICAgICAgICB2ZXJiYXRpbSAgICAgICAgICAgID0+IDAsCiAgICAgICAgfQogICAgKTsKCiAgICBpZiAoICEkUGFyc2VPYmplY3QtPmNvbWJpbmUoIEB7ICRQYXJhbXtFeHBvcnREYXRhUm93fSB9ICkgKSB7CgogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiQ2FuJ3QgY29tYmluZSB0aGUgZXhwb3J0IGRhdGEgdG8gYSBzdHJpbmchIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNyZWF0ZSB0aGUgQ1NWIHN0cmluZwogICAgbXkgJFN0cmluZyA9ICRQYXJzZU9iamVjdC0+c3RyaW5nKCk7CgogICAgIyBzZXQgdXRmOCBmbGFnCiAgICBFbmNvZGU6Ol91dGY4X29uKCRTdHJpbmcpOwoKICAgIHJldHVybiAkU3RyaW5nOwp9CgoxOwoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwczovL290cnMub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQ+LgoKPWN1dAo=</File>
        <File Permission="660" Location="Kernel/System/Console/Command/Admin/ITSM/ImportExport/Import.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6Q29uc29sZTo6Q29tbWFuZDo6QWRtaW46OklUU006OkltcG9ydEV4cG9ydDo6SW1wb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIHBhcmVudCBxdyhLZXJuZWw6OlN5c3RlbTo6Q29uc29sZTo6QmFzZUNvbW1hbmQpOwoKb3VyIEBPYmplY3REZXBlbmRlbmNpZXMgPSAoCiAgICAnS2VybmVsOjpTeXN0ZW06Ok1haW4nLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQnLAopOwoKc3ViIENvbmZpZ3VyZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT5EZXNjcmlwdGlvbignVGhlIHRvb2wgZm9yIGltcG9ydGluZyBjb25maWcgaXRlbXMnKTsKICAgICRTZWxmLT5BZGRPcHRpb24oCiAgICAgICAgTmFtZSAgICAgICAgPT4gJ3RlbXBsYXRlLW51bWJlcicsCiAgICAgICAgRGVzY3JpcHRpb24gPT4gIlNwZWNpZnkgYSB0ZW1wbGF0ZSBudW1iZXIgdG8gYmUgaW1wb2VydGVkLiIsCiAgICAgICAgUmVxdWlyZWQgICAgPT4gMSwKICAgICAgICBIYXNWYWx1ZSAgICA9PiAxLAogICAgICAgIFZhbHVlUmVnZXggID0+IHFyL1xkKy9zbXgsCiAgICApOwogICAgJFNlbGYtPkFkZEFyZ3VtZW50KAogICAgICAgIE5hbWUgICAgICAgID0+ICdzb3VyY2UnLAogICAgICAgIERlc2NyaXB0aW9uID0+ICJTcGVjaWZ5IHRoZSBwYXRoIHRvIHRoZSBmaWxlIHdoaWNoIGNvbnRhaW5pbmcgdGhlIGNvbmZpZyBpdGVtIGRhdGEgZm9yIGltcG9ydGluZy4iLAogICAgICAgIFJlcXVpcmVkICAgID0+IDEsCiAgICAgICAgVmFsdWVSZWdleCAgPT4gcXIvLiovc214LAogICAgKTsKCiAgICByZXR1cm47Cn0KCnN1YiBQcmVSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkU291cmNlUGF0aCA9ICRTZWxmLT5HZXRBcmd1bWVudCgnc291cmNlJyk7CiAgICBpZiAoICRTb3VyY2VQYXRoICYmICEtciAkU291cmNlUGF0aCApIHsKICAgICAgICBkaWUgIkZpbGUgJFNvdXJjZVBhdGggZG9lcyBub3QgZXhpc3QsIGNhbiBub3QgYmUgcmVhZC5cbiI7CiAgICB9CgogICAgcmV0dXJuOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFRlbXBsYXRlSUQgPSAkU2VsZi0+R2V0T3B0aW9uKCd0ZW1wbGF0ZS1udW1iZXInKTsKCiAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICBteSAkVGVtcGxhdGVEYXRhID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7CgogICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICRTZWxmLT5QcmludEVycm9yKCJUZW1wbGF0ZSAkVGVtcGxhdGVJRCBub3QgZm91bmQhLlxuIik7CiAgICAgICAgJFNlbGYtPlByaW50RXJyb3IoIkV4cG9ydCBhYm9ydGVkLi5cbiIpOwogICAgICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVFcnJvcigpOwogICAgfQoKICAgICRTZWxmLT5QcmludCgiPHllbGxvdz5JbXBvcnRpbmcgY29uZmlnIGl0ZW1zLi4uPC95ZWxsb3c+XG4iKTsKICAgICRTZWxmLT5QcmludCggIjx5ZWxsb3c+IiAuICggJz0nIHggNjkgKSAuICI8L3llbGxvdz5cbiIgKTsKCiAgICBteSAkU291cmNlQ29udGVudDsKICAgIG15ICRTb3VyY2VGaWxlID0gJFNlbGYtPkdldEFyZ3VtZW50KCdzb3VyY2UnKTsKCiAgICBpZiAoJFNvdXJjZUZpbGUpIHsKCiAgICAgICAgJFNlbGYtPlByaW50KCI8eWVsbG93PlJlYWQgRmlsZSAkU291cmNlRmlsZS48L3llbGxvdz5cbiIpOwoKICAgICAgICAjIHJlYWQgc291cmNlIGZpbGUKICAgICAgICAkU291cmNlQ29udGVudCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpNYWluJyktPkZpbGVSZWFkKAogICAgICAgICAgICBMb2NhdGlvbiA9PiAkU291cmNlRmlsZSwKICAgICAgICAgICAgUmVzdWx0ICAgPT4gJ1NDQUxBUicsCiAgICAgICAgICAgIE1vZGUgICAgID0+ICdiaW5tb2RlJywKICAgICAgICApOwoKICAgICAgICBpZiAoICEkU291cmNlQ29udGVudCApIHsKICAgICAgICAgICAgJFNlbGYtPlByaW50RXJyb3IoIkNhbid0IHJlYWQgZmlsZSAkU291cmNlRmlsZS5cbkltcG9ydCBhYm9ydGVkLlxuIikgaWYgISRTb3VyY2VDb250ZW50OwogICAgICAgICAgICByZXR1cm4gJFNlbGYtPkV4aXRDb2RlRXJyb3IoKTsKICAgICAgICB9CgogICAgfQoKICAgICMgaW1wb3J0IGRhdGEKICAgIG15ICRSZXN1bHQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0JyktPkltcG9ydCgKICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlELAogICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJFNvdXJjZUNvbnRlbnQsCiAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgKTsKCiAgICBpZiAoICEkUmVzdWx0ICkgewogICAgICAgICRTZWxmLT5QcmludEVycm9yKCJcbkVycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIHRoZSBPVFJTIGxvZyBmb3IgZGV0YWlscy5cbiIpOwogICAgICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVFcnJvcigpOwogICAgfQoKICAgICMgcHJpbnQgcmVzdWx0CiAgICAkU2VsZi0+UHJpbnQoIlxuPGdyZWVuPkltcG9ydCBvZiAkUmVzdWx0LT57Q291bnRlcn0gJFJlc3VsdC0+e09iamVjdH0gcmVjb3Jkczo8L2dyZWVuPlxuIik7CiAgICAkU2VsZi0+UHJpbnQoICI8Z3JlZW4+IiAuICggJy0nIHggNjkgKSAuICI8L2dyZWVuPlxuIiApOwogICAgJFNlbGYtPlByaW50KCI8Z3JlZW4+U3VjY2VzczogJFJlc3VsdC0+e1N1Y2Nlc3N9IHN1Y2NlZWRlZDwvZ3JlZW4+XG4iKTsKICAgIGlmICggJFJlc3VsdC0+e0ZhaWxlZH0gKSB7CiAgICAgICAgJFNlbGYtPlByaW50RXJyb3IoIiRSZXN1bHQtPntGYWlsZWR9IGZhaWxlZC5cbiIpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFNlbGYtPlByaW50KCI8Z3JlZW4+RXJyb3I6ICRSZXN1bHQtPntGYWlsZWR9IGZhaWxlZC48L2dyZWVuPlxuIik7CiAgICB9CgogICAgZm9yIG15ICRSZXRDb2RlICggc29ydCBrZXlzICV7ICRSZXN1bHQtPntSZXRDb2RlfSB9ICkgewogICAgICAgIG15ICRDb3VudCA9ICRSZXN1bHQtPntSZXRDb2RlfS0+eyRSZXRDb2RlfSB8fCAwOwogICAgICAgICRTZWxmLT5QcmludCgiPGdyZWVuPkltcG9ydCBvZiAkUmVzdWx0LT57Q291bnRlcn0gJFJlc3VsdC0+e09iamVjdH0gcmVjb3JkczogJENvdW50ICRSZXRDb2RlPC9ncmVlbj5cbiIpOwogICAgfQogICAgaWYgKCAkUmVzdWx0LT57RmFpbGVkfSApIHsKICAgICAgICAkU2VsZi0+UHJpbnQoIjxncmVlbj5MYXN0IHByb2Nlc3NlZCBsaW5lIG51bWJlciBvZiBpbXBvcnQgZmlsZTogJFJlc3VsdC0+e0NvdW50ZXJ9PC9ncmVlbj5cbiIpOwogICAgfQoKICAgICRTZWxmLT5QcmludCgiPGdyZWVuPkltcG9ydCBjb21wbGV0ZS48L2dyZWVuPlxuIik7CiAgICAkU2VsZi0+UHJpbnQoICI8Z3JlZW4+IiAuICggJy0nIHggNjkgKSAuICI8L2dyZWVuPlxuIiApOwogICAgJFNlbGYtPlByaW50KCI8Z3JlZW4+RG9uZS48L2dyZWVuPlxuIik7CgogICAgcmV0dXJuICRTZWxmLT5FeGl0Q29kZU9rKCk7Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHBzOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cg==</File>
        <File Permission="660" Location="Kernel/System/Console/Command/Admin/ITSM/ImportExport/Export.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6Q29uc29sZTo6Q29tbWFuZDo6QWRtaW46OklUU006OkltcG9ydEV4cG9ydDo6RXhwb3J0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIHBhcmVudCBxdyhLZXJuZWw6OlN5c3RlbTo6Q29uc29sZTo6QmFzZUNvbW1hbmQpOwoKb3VyIEBPYmplY3REZXBlbmRlbmNpZXMgPSAoCiAgICAnS2VybmVsOjpTeXN0ZW06Ok1haW4nLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQnLAopOwoKc3ViIENvbmZpZ3VyZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT5EZXNjcmlwdGlvbignVGhlIHRvb2wgZm9yIGV4cG9ydGluZyBjb25maWcgaXRlbXMnKTsKICAgICRTZWxmLT5BZGRPcHRpb24oCiAgICAgICAgTmFtZSAgICAgICAgPT4gJ3RlbXBsYXRlLW51bWJlcicsCiAgICAgICAgRGVzY3JpcHRpb24gPT4gIlNwZWNpZnkgYSB0ZW1wbGF0ZSBudW1iZXIgdG8gYmUgZXhwb3J0ZWQuIiwKICAgICAgICBSZXF1aXJlZCAgICA9PiAxLAogICAgICAgIEhhc1ZhbHVlICAgID0+IDEsCiAgICAgICAgVmFsdWVSZWdleCAgPT4gcXIvXGQrL3NteCwKICAgICk7CiAgICAkU2VsZi0+QWRkQXJndW1lbnQoCiAgICAgICAgTmFtZSAgICAgICAgPT4gJ2Rlc3RpbmF0aW9uJywKICAgICAgICBEZXNjcmlwdGlvbiA9PiAiU3BlY2lmeSB0aGUgcGF0aCB0byBhIGZpbGUgd2hlcmUgY29uZmlnIGl0ZW0gZGF0YSBzaG91bGQgYmUgZXhwb3J0ZWQuIiwKICAgICAgICBSZXF1aXJlZCAgICA9PiAxLAogICAgICAgIFZhbHVlUmVnZXggID0+IHFyLy4qL3NteCwKICAgICk7CgogICAgcmV0dXJuOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFRlbXBsYXRlSUQgPSAkU2VsZi0+R2V0T3B0aW9uKCd0ZW1wbGF0ZS1udW1iZXInKTsKCiAgICAjIGdldCB0ZW1wbGF0ZSBkYXRhCiAgICBteSAkVGVtcGxhdGVEYXRhID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpLT5UZW1wbGF0ZUdldCgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7CgogICAgaWYgKCAhJFRlbXBsYXRlRGF0YS0+e1RlbXBsYXRlSUR9ICkgewogICAgICAgICRTZWxmLT5QcmludEVycm9yKCJUZW1wbGF0ZSAkVGVtcGxhdGVJRCBub3QgZm91bmQhLlxuIik7CiAgICAgICAgJFNlbGYtPlByaW50RXJyb3IoIkV4cG9ydCBhYm9ydGVkLi5cbiIpOwogICAgICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVFcnJvcigpOwogICAgfQoKICAgICRTZWxmLT5QcmludCgiPHllbGxvdz5FeHBvcnRpbmcgY29uZmlnIGl0ZW1zLi4uPC95ZWxsb3c+XG4iKTsKICAgICRTZWxmLT5QcmludCggIjx5ZWxsb3c+IiAuICggJz0nIHggNjkgKSAuICI8L3llbGxvdz5cbiIgKTsKCiAgICAjIGV4cG9ydCBkYXRhCiAgICBteSAkUmVzdWx0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpLT5FeHBvcnQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKICAgIGlmICggISRSZXN1bHQgKSB7CiAgICAgICAgJFNlbGYtPlByaW50RXJyb3IoIkVycm9yIG9jY3VycmVkLiBFeHBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy5cbiIpOwogICAgICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVFcnJvcigpOwogICAgfQoKICAgICRTZWxmLT5QcmludCggIjxncmVlbj4iIC4gKCAnLScgeCA2OSApIC4gIjwvZ3JlZW4+XG4iICk7CiAgICAkU2VsZi0+UHJpbnQoIjxncmVlbj5TdWNjZXNzOiAkUmVzdWx0LT57U3VjY2Vzc30gc3VjY2VlZGVkPC9ncmVlbj5cbiIpOwogICAgaWYgKCAkUmVzdWx0LT57RmFpbGVkfSApIHsKICAgICAgICAkU2VsZi0+UHJpbnRFcnJvcigiJFJlc3VsdC0+e0ZhaWxlZH0gZmFpbGVkLlxuIik7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkU2VsZi0+UHJpbnQoIjxncmVlbj5FcnJvcjogJFJlc3VsdC0+e0ZhaWxlZH0gZmFpbGVkLjwvZ3JlZW4+XG4iKTsKICAgIH0KCiAgICBteSAkRGVzdGluYXRpb25GaWxlID0gJFNlbGYtPkdldEFyZ3VtZW50KCdkZXN0aW5hdGlvbicpOwoKICAgIGlmICgkRGVzdGluYXRpb25GaWxlKSB7CgogICAgICAgIG15ICRGaWxlQ29udGVudCA9IGpvaW4gIlxuIiwgQHsgJFJlc3VsdC0+e0Rlc3RpbmF0aW9uQ29udGVudH0gfTsKCiAgICAgICAgIyBzYXZlIGRlc3RpbmF0aW9uIGNvbnRlbnQgdG8gZmlsZQogICAgICAgIG15ICRTdWNjZXNzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKS0+RmlsZVdyaXRlKAogICAgICAgICAgICBMb2NhdGlvbiA9PiAkRGVzdGluYXRpb25GaWxlLAogICAgICAgICAgICBDb250ZW50ICA9PiBcJEZpbGVDb250ZW50LAogICAgICAgICk7CgogICAgICAgIGlmICggISRTdWNjZXNzICkgewogICAgICAgICAgICAkU2VsZi0+UHJpbnRFcnJvcigiQ2FuJ3Qgd3JpdGUgZmlsZSAkRGVzdGluYXRpb25GaWxlLlxuRXhwb3J0IGFib3J0ZWQuXG4iKTsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT5FeGl0Q29kZUVycm9yKCk7CiAgICAgICAgfQoKICAgICAgICAkU2VsZi0+UHJpbnQoIjxncmVlbj5GaWxlICREZXN0aW5hdGlvbkZpbGUgc2F2ZWQuPC9ncmVlbj5cbiIpOwoKICAgIH0KCiAgICAkU2VsZi0+UHJpbnQoIjxncmVlbj5FeHBvcnQgY29tcGxldGUuPC9ncmVlbj5cbiIpOwogICAgJFNlbGYtPlByaW50KCAiPGdyZWVuPiIgLiAoICctJyB4IDY5ICkgLiAiPC9ncmVlbj5cbiIgKTsKICAgICRTZWxmLT5QcmludCgiPGdyZWVuPkRvbmUuPC9ncmVlbj5cbiIpOwoKICAgIHJldHVybiAkU2VsZi0+RXhpdENvZGVPaygpOwp9CgoxOwoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwczovL290cnMub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQ+LgoKPWN1dAo=</File>
        <File Permission="660" Location="scripts/test/ImportExport.t" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnVzZSB2YXJzIHF3KCRTZWxmKTsKCiMgZ2V0IG5lZWRlZCBvYmplY3RzCm15ICRDb25maWdPYmplY3QgICAgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwpteSAkVXNlck9iamVjdCAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVzZXInKTsKbXkgJEltcG9ydEV4cG9ydE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQnKTsKbXkgJEhlbHBlciAgICAgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgbWFrZSBwcmVwYXJhdGlvbnMKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKIyBjcmVhdGUgbmVlZGVkIHVzZXJzCm15IEBVc2VySURzOwp7CgogICAgIyBkaXNhYmxlIGVtYWlsIGNoZWNrcyB0byBjcmVhdGUgbmV3IHVzZXIKICAgIG15ICRDaGVja0VtYWlsQWRkcmVzc2VzT3JnID0KICAgICAgICAkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoZWNrRW1haWxBZGRyZXNzZXMnKSB8fCAxOwoKICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnQ2hlY2tFbWFpbEFkZHJlc3NlcycsCiAgICAgICAgVmFsdWUgPT4gMCwKICAgICk7CgogICAgZm9yIG15ICRDb3VudGVyICggMSAuLiAyICkgewoKICAgICAgICAjIGNyZWF0ZSBuZXcgdXNlcnMgZm9yIHRoZSB0ZXN0cwogICAgICAgIG15ICRVc2VySUQgPSAkVXNlck9iamVjdC0+VXNlckFkZCgKICAgICAgICAgICAgVXNlckZpcnN0bmFtZSA9PiAnSW1wb3J0RXhwb3J0JyAuICRDb3VudGVyLAogICAgICAgICAgICBVc2VyTGFzdG5hbWUgID0+ICdVbml0VGVzdCcsCiAgICAgICAgICAgIFVzZXJMb2dpbiAgICAgPT4gJ1VuaXRUZXN0LUltcG9ydEV4cG9ydC0nIC4gJENvdW50ZXIgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpLAogICAgICAgICAgICBVc2VyRW1haWwgICAgID0+ICdVbml0VGVzdC1JbXBvcnRFeHBvcnQtJyAuICRDb3VudGVyIC4gJ0Bsb2NhbGhvc3QnLAogICAgICAgICAgICBWYWxpZElEICAgICAgID0+IDEsCiAgICAgICAgICAgIENoYW5nZVVzZXJJRCAgPT4gMSwKICAgICAgICApOwoKICAgICAgICBwdXNoIEBVc2VySURzLCAkVXNlcklEOwogICAgfQoKICAgICMgcmVzdG9yZSBvcmlnaW5hbCBlbWFpbCBjaGVjayBwYXJhbQoKICAgICRDb25maWdPYmplY3QtPlNldCgKICAgICAgICBLZXkgICA9PiAnQ2hlY2tFbWFpbEFkZHJlc3NlcycsCiAgICAgICAgVmFsdWUgPT4gJENoZWNrRW1haWxBZGRyZXNzZXNPcmcsCiAgICApOwp9CgojIGNyZWF0ZSBuZWVkZWQgcmFuZG9tIHRlbXBsYXRlIG5hbWVzCm15IEBUZW1wbGF0ZU5hbWU7Cgpmb3IgbXkgJENvdW50ZXIgKCAxIC4uIDUgKSB7CgogICAgcHVzaCBAVGVtcGxhdGVOYW1lLCAnVW5pdFRlc3QnIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKfQoKIyBjcmVhdGUgbmVlZGVkIHJhbmRvbSBvYmplY3QgbmFtZXMKbXkgQE9iamVjdE5hbWU7CnB1c2ggQE9iamVjdE5hbWUsICdVbml0VGVzdCcgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpOwoKIyBjcmVhdGUgbmVlZGVkIGZvcm1hdCBuYW1lcwpteSBARm9ybWF0TmFtZSA9ICgnQ1NWJyk7CgojIGdldCBvcmlnaW5hbCB0ZW1wbGF0ZSBsaXN0IGZvciBsYXRlciBjaGVja3MgKGFsbCBlbGVtZW50cykKbXkgJFRlbXBsYXRlTGlzdDFBbGwgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUxpc3QoCiAgICBVc2VySUQgPT4gMSwKKTsKCiMgZ2V0IG9yaWdpbmFsIHRlbXBsYXRlIGxpc3QgZm9yIGxhdGVyIGNoZWNrcyAoYWxsIGVsZW1lbnRzKQpteSAkVGVtcGxhdGVMaXN0MU9iamVjdCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlTGlzdCgKICAgIE9iamVjdCA9PiAkT2JqZWN0TmFtZVswXSwKICAgIFVzZXJJRCA9PiAxLAopOwoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIGRlZmluZSBnZW5lcmFsIHRlc3RzCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCm15ICRJdGVtRGF0YSA9IFsKCiAgICAjIHRoaXMgdGVtcGxhdGUgaXMgTk9UIGNvbXBsZXRlIGFuZCBtdXN0IG5vdCBiZSBhZGRlZAogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIEZvcm1hdCAgPT4gJEZvcm1hdE5hbWVbMF0sCiAgICAgICAgICAgIE5hbWUgICAgPT4gJFRlbXBsYXRlTmFtZVswXSwKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIHRlbXBsYXRlIGlzIE5PVCBjb21wbGV0ZSBhbmQgbXVzdCBub3QgYmUgYWRkZWQKICAgIHsKICAgICAgICBBZGQgPT4gewogICAgICAgICAgICBPYmplY3QgID0+ICRPYmplY3ROYW1lWzBdLAogICAgICAgICAgICBOYW1lICAgID0+ICRUZW1wbGF0ZU5hbWVbMF0sCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhpcyB0ZW1wbGF0ZSBpcyBOT1QgY29tcGxldGUgYW5kIG11c3Qgbm90IGJlIGFkZGVkCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgT2JqZWN0ICA9PiAkT2JqZWN0TmFtZVswXSwKICAgICAgICAgICAgRm9ybWF0ICA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIHRlbXBsYXRlIGlzIE5PVCBjb21wbGV0ZSBhbmQgbXVzdCBub3QgYmUgYWRkZWQKICAgIHsKICAgICAgICBBZGQgPT4gewogICAgICAgICAgICBPYmplY3QgPT4gJE9iamVjdE5hbWVbMF0sCiAgICAgICAgICAgIEZvcm1hdCA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgTmFtZSAgID0+ICRUZW1wbGF0ZU5hbWVbMF0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAxLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhpcyB0ZW1wbGF0ZSBpcyBOT1QgY29tcGxldGUgYW5kIG11c3Qgbm90IGJlIGFkZGVkCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgT2JqZWN0ICA9PiAkT2JqZWN0TmFtZVswXSwKICAgICAgICAgICAgRm9ybWF0ICA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAkVGVtcGxhdGVOYW1lWzBdLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIHRlbXBsYXRlIG11c3QgYmUgaW5zZXJ0ZWQgc3VjY2Vzc2Z1bGx5CiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgT2JqZWN0ICA9PiAkT2JqZWN0TmFtZVswXSwKICAgICAgICAgICAgRm9ybWF0ICA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAkVGVtcGxhdGVOYW1lWzBdLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIEFkZEdldCA9PiB7CiAgICAgICAgICAgIE9iamVjdCAgID0+ICRPYmplY3ROYW1lWzBdLAogICAgICAgICAgICBGb3JtYXQgICA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgTmFtZSAgICAgPT4gJFRlbXBsYXRlTmFtZVswXSwKICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCAgPT4gJycsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIHRlbXBsYXRlIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyBvbmUgdGVzdCBiZWZvcmUgYW5kIG11c3Qgbm90IGJlIGFkZGVkCiAgICB7CiAgICAgICAgQWRkID0+IHsKICAgICAgICAgICAgT2JqZWN0ICA9PiAkT2JqZWN0TmFtZVswXSwKICAgICAgICAgICAgRm9ybWF0ICA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAkVGVtcGxhdGVOYW1lWzBdLAogICAgICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgdGVtcGxhdGUgbXVzdCBiZSBpbnNlcnRlZCBzdWNjZXNzZnVsbHkKICAgIHsKICAgICAgICBBZGQgPT4gewogICAgICAgICAgICBPYmplY3QgID0+ICRPYmplY3ROYW1lWzBdLAogICAgICAgICAgICBGb3JtYXQgID0+ICRGb3JtYXROYW1lWzBdLAogICAgICAgICAgICBOYW1lICAgID0+ICRUZW1wbGF0ZU5hbWVbMV0sCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCA9PiAnVGVzdENvbW1lbnQnLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBBZGRHZXQgPT4gewogICAgICAgICAgICBPYmplY3QgICA9PiAkT2JqZWN0TmFtZVswXSwKICAgICAgICAgICAgRm9ybWF0ICAgPT4gJEZvcm1hdE5hbWVbMF0sCiAgICAgICAgICAgIE5hbWUgICAgID0+ICRUZW1wbGF0ZU5hbWVbMV0sCiAgICAgICAgICAgIFZhbGlkSUQgID0+IDEsCiAgICAgICAgICAgIENvbW1lbnQgID0+ICdUZXN0Q29tbWVudCcsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgdGVtcGxhdGUgb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIE5PVCB1cGRhdGVkICh0ZW1wbGF0ZSB1cGRhdGUgYXJndW1lbnRzIE5PVCBjb21wbGV0ZSkKICAgIHsKICAgICAgICBVcGRhdGUgPT4gewogICAgICAgICAgICBWYWxpZElEID0+IDIsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gJFVzZXJJRHNbMF0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgdGVtcGxhdGUgb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIE5PVCB1cGRhdGVkICh0ZW1wbGF0ZSB1cGRhdGUgYXJndW1lbnRzIE5PVCBjb21wbGV0ZSkKICAgIHsKICAgICAgICBVcGRhdGUgPT4gewogICAgICAgICAgICBOYW1lICAgPT4gJFRlbXBsYXRlTmFtZVsxXSAuICdVUERBVEUxJywKICAgICAgICAgICAgVXNlcklEID0+ICRVc2VySURzWzBdLAogICAgICAgIH0sCiAgICB9LAoKICAgICMgdGhlIHRlbXBsYXRlIG9uZSBhZGQtdGVzdCBiZWZvcmUgbXVzdCBiZSBOT1QgdXBkYXRlZCAodGVtcGxhdGUgdXBkYXRlIGFyZ3VtZW50cyBOT1QgY29tcGxldGUpCiAgICB7CiAgICAgICAgVXBkYXRlID0+IHsKICAgICAgICAgICAgTmFtZSAgICA9PiAkVGVtcGxhdGVOYW1lWzFdIC4gJ1VQREFURTInLAogICAgICAgICAgICBWYWxpZElEID0+IDIsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgdGVtcGxhdGUgb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHVwZGF0ZWQgKHRlbXBsYXRlIHVwZGF0ZSBhcmd1bWVudHMgYXJlIGNvbXBsZXRlKQogICAgewogICAgICAgIFVwZGF0ZSA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgPT4gJFRlbXBsYXRlTmFtZVsxXSAuICdVUERBVEUzJywKICAgICAgICAgICAgQ29tbWVudCA9PiAnVGVzdENvbW1lbnQgVVBEQVRFMycsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMiwKICAgICAgICAgICAgVXNlcklEICA9PiAkVXNlcklEc1swXSwKICAgICAgICB9LAogICAgICAgIFVwZGF0ZUdldCA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICRUZW1wbGF0ZU5hbWVbMV0gLiAnVVBEQVRFMycsCiAgICAgICAgICAgIFZhbGlkSUQgID0+IDIsCiAgICAgICAgICAgIENvbW1lbnQgID0+ICdUZXN0Q29tbWVudCBVUERBVEUzJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gJFVzZXJJRHNbMF0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgdGVtcGxhdGUgb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHVwZGF0ZWQgKHRlbXBsYXRlIHVwZGF0ZSBhcmd1bWVudHMgYXJlIGNvbXBsZXRlKQogICAgewogICAgICAgIFVwZGF0ZSA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgPT4gJFRlbXBsYXRlTmFtZVsxXSAuICdVUERBVEU0JywKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBDb21tZW50ID0+ICcnLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBVcGRhdGVHZXQgPT4gewogICAgICAgICAgICBOYW1lICAgICA9PiAkVGVtcGxhdGVOYW1lWzFdIC4gJ1VQREFURTQnLAogICAgICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgICAgICBDb21tZW50ICA9PiAnJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHRoaXMgdGVtcGxhdGUgbXVzdCBiZSBpbnNlcnRlZCBzdWNjZXNzZnVsbHkgKGNoZWNrIHN0cmluZyBjbGVhbmVyIGZ1bmN0aW9uKQogICAgewogICAgICAgIEFkZCA9PiB7CiAgICAgICAgICAgIE9iamVjdCAgPT4gIiBcdCBcbiBcciAiIC4gJE9iamVjdE5hbWVbMF0gLiAiIFx0IFxuIFxyICIsCiAgICAgICAgICAgIEZvcm1hdCAgPT4gIiBcdCBcbiBcciAiIC4gJEZvcm1hdE5hbWVbMF0gLiAiIFx0IFxuIFxyICIsCiAgICAgICAgICAgIE5hbWUgICAgPT4gIiBcdCBcbiBcciAiIC4gJFRlbXBsYXRlTmFtZVsyXSAuICIgXHQgXG4gXHIgIiwKICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICBDb21tZW50ID0+ICIgXHQgXG4gXHIgVGVzdCBDb21tZW50IFx0IFxuIFxyICIsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIEFkZEdldCA9PiB7CiAgICAgICAgICAgIE9iamVjdCAgID0+ICRPYmplY3ROYW1lWzBdLAogICAgICAgICAgICBGb3JtYXQgICA9PiAkRm9ybWF0TmFtZVswXSwKICAgICAgICAgICAgTmFtZSAgICAgPT4gJFRlbXBsYXRlTmFtZVsyXSwKICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCAgPT4gJ1Rlc3QgQ29tbWVudCcsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGUgdGVtcGxhdGUgb25lIGFkZC10ZXN0IGJlZm9yZSBtdXN0IGJlIHVwZGF0ZWQgKGNoZWNrIHN0cmluZyBjbGVhbmVyIGZ1bmN0aW9uKQogICAgewogICAgICAgIFVwZGF0ZSA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgPT4gIiBcdCBcbiBcciAiIC4gJFRlbXBsYXRlTmFtZVsyXSAuICJVUERBVEUxIFx0IFxuIFxyICIsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMSwKICAgICAgICAgICAgQ29tbWVudCA9PiAiIFx0IFxuIFxyIFRlc3QgQ29tbWVudCBVUERBVEUxIFx0IFxuIFxyICIsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICB9LAogICAgICAgIFVwZGF0ZUdldCA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICRUZW1wbGF0ZU5hbWVbMl0gLiAnVVBEQVRFMScsCiAgICAgICAgICAgIFZhbGlkSUQgID0+IDEsCiAgICAgICAgICAgIENvbW1lbnQgID0+ICdUZXN0IENvbW1lbnQgVVBEQVRFMScsCiAgICAgICAgICAgIENyZWF0ZUJ5ID0+IDEsCiAgICAgICAgICAgIENoYW5nZUJ5ID0+IDEsCiAgICAgICAgfSwKICAgIH0sCgogICAgIyB0aGlzIHRlbXBsYXRlIG11c3QgYmUgaW5zZXJ0ZWQgc3VjY2Vzc2Z1bGx5IChVbmljb2RlIGNoZWNrcykKICAgIHsKICAgICAgICBBZGQgPT4gewogICAgICAgICAgICBPYmplY3QgID0+ICcgxpUgxpggJyAuICRPYmplY3ROYW1lWzBdIC4gJyDGtSDGuyAnLAogICAgICAgICAgICBGb3JtYXQgID0+ICcgx5Mgx6MgJyAuICRGb3JtYXROYW1lWzBdIC4gJyDHpSDHriAnLAogICAgICAgICAgICBOYW1lICAgID0+ICcgx7cgyJwgJyAuICRUZW1wbGF0ZU5hbWVbM10gLiAnIMieIMigICcsCiAgICAgICAgICAgIFZhbGlkSUQgPT4gMiwKICAgICAgICAgICAgQ29tbWVudCA9PiAnINGgINGkIFRlc3RDb21tZW50NSDPoCDOqSAnLAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgfSwKICAgICAgICBBZGRHZXQgPT4gewogICAgICAgICAgICBPYmplY3QgICA9PiAnxpXGmCcgLiAkT2JqZWN0TmFtZVswXSAuICfGtca7JywKICAgICAgICAgICAgRm9ybWF0ICAgPT4gJ8eTx6MnIC4gJEZvcm1hdE5hbWVbMF0gLiAnx6XHricsCiAgICAgICAgICAgIE5hbWUgICAgID0+ICfHtyDInCAnIC4gJFRlbXBsYXRlTmFtZVszXSAuICcgyJ4gyKAnLAogICAgICAgICAgICBWYWxpZElEICA9PiAyLAogICAgICAgICAgICBDb21tZW50ICA9PiAn0aAg0aQgVGVzdENvbW1lbnQ1IM+gIM6pJywKICAgICAgICAgICAgQ3JlYXRlQnkgPT4gMSwKICAgICAgICAgICAgQ2hhbmdlQnkgPT4gMSwKICAgICAgICB9LAogICAgfSwKXTsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBydW4gZ2VuZXJhbCB0ZXN0cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgpteSAkVGVzdENvdW50ID0gMTsKbXkgQEFkZGVkVGVtcGxhdGVJRHM7CgpURU1QTEFURToKZm9yIG15ICRJdGVtICggQHskSXRlbURhdGF9ICkgewoKICAgIGlmICggJEl0ZW0tPntBZGR9ICkgewoKICAgICAgICAjIGFkZCBuZXcgdGVtcGxhdGUKICAgICAgICBteSAkVGVtcGxhdGVJRCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlQWRkKCAleyAkSXRlbS0+e0FkZH0gfSApOwoKICAgICAgICBpZiAoJFRlbXBsYXRlSUQpIHsKICAgICAgICAgICAgcHVzaCBAQWRkZWRUZW1wbGF0ZUlEcywgJFRlbXBsYXRlSUQ7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIGlmIHRlbXBsYXRlIHdhcyBhZGRlZCBzdWNjZXNzZnVsbHkgb3Igbm90CiAgICAgICAgaWYgKCAkSXRlbS0+e0FkZEdldH0gKSB7CiAgICAgICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAgICAgJFRlbXBsYXRlSUQsCiAgICAgICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBUZW1wbGF0ZUFkZCgpIC0gVGVtcGxhdGVLZXk6ICRUZW1wbGF0ZUlEIgogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPkZhbHNlKCAkVGVtcGxhdGVJRCwgIlRlc3QgJFRlc3RDb3VudDogVGVtcGxhdGVBZGQoKSIgKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAkSXRlbS0+e0FkZEdldH0gKSB7CgogICAgICAgICMgZ2V0IHRlbXBsYXRlIGRhdGEgdG8gY2hlY2sgdGhlIHZhbHVlcyBhZnRlciB0ZW1wbGF0ZSB3YXMgYWRkZWQKICAgICAgICBteSAkVGVtcGxhdGVHZXQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUdldCgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkQWRkZWRUZW1wbGF0ZUlEc1stMV0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJEl0ZW0tPntBZGR9LT57VXNlcklEfSB8fCAxLAogICAgICAgICk7CgogICAgICAgICMgY2hlY2sgdGVtcGxhdGUgZGF0YSBhZnRlciBjcmVhdGlvbiBvZiB0ZW1wbGF0ZQogICAgICAgIGZvciBteSAkVGVtcGxhdGVBdHRyaWJ1dGUgKCBzb3J0IGtleXMgJXsgJEl0ZW0tPntBZGRHZXR9IH0gKSB7CiAgICAgICAgICAgICRTZWxmLT5JcygKICAgICAgICAgICAgICAgICRUZW1wbGF0ZUdldC0+eyRUZW1wbGF0ZUF0dHJpYnV0ZX0gfHwgJycsCiAgICAgICAgICAgICAgICAkSXRlbS0+e0FkZEdldH0tPnskVGVtcGxhdGVBdHRyaWJ1dGV9IHx8ICcnLAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogVGVtcGxhdGVHZXQoKSAtICRUZW1wbGF0ZUF0dHJpYnV0ZSIsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIGlmICggJEl0ZW0tPntVcGRhdGV9ICkgewoKICAgICAgICAjIGNoZWNrIGxhc3QgdGVtcGxhdGUgaWQgdmFyaWFibGUKICAgICAgICBpZiAoICEkQWRkZWRUZW1wbGF0ZUlEc1stMV0gKSB7CiAgICAgICAgICAgICRTZWxmLT5GYWxzZSgKICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBOTyBMQVNUIElURU0gSUQgR0lWRU4uIFBsZWFzZSBhZGQgYSB0ZW1wbGF0ZSBmaXJzdC4iCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGxhc3QgVEVNUExBVEU7CiAgICAgICAgfQoKICAgICAgICAjIHVwZGF0ZSB0aGUgdGVtcGxhdGUKICAgICAgICBteSAkVXBkYXRlU3VjZXNzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+VGVtcGxhdGVVcGRhdGUoCiAgICAgICAgICAgICV7ICRJdGVtLT57VXBkYXRlfSB9LAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRBZGRlZFRlbXBsYXRlSURzWy0xXSwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIGlmIHRlbXBsYXRlIHdhcyB1cGRhdGVkIHN1Y2Nlc3NmdWxseSBvciBub3QKICAgICAgICBpZiAoICRJdGVtLT57VXBkYXRlR2V0fSApIHsKICAgICAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICAgICAkVXBkYXRlU3VjZXNzLAogICAgICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogVGVtcGxhdGVVcGRhdGUoKSAtIFRlbXBsYXRlS2V5OiAkQWRkZWRUZW1wbGF0ZUlEc1stMV0iLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPkZhbHNlKAogICAgICAgICAgICAgICAgJFVwZGF0ZVN1Y2VzcywKICAgICAgICAgICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlVXBkYXRlKCkiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICRJdGVtLT57VXBkYXRlR2V0fSApIHsKCiAgICAgICAgIyBnZXQgdGVtcGxhdGUgZGF0YSB0byBjaGVjayB0aGUgdmFsdWVzIGFmdGVyIHRoZSB1cGRhdGUKICAgICAgICBteSAkVGVtcGxhdGVHZXQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUdldCgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkQWRkZWRUZW1wbGF0ZUlEc1stMV0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJEl0ZW0tPntVcGRhdGV9LT57VXNlcklEfSB8fCAxLAogICAgICAgICk7CgogICAgICAgICMgY2hlY2sgdGVtcGxhdGUgZGF0YSBhZnRlciB1cGRhdGUKICAgICAgICBmb3IgbXkgJFRlbXBsYXRlQXR0cmlidXRlICggc29ydCBrZXlzICV7ICRJdGVtLT57VXBkYXRlR2V0fSB9ICkgewogICAgICAgICAgICAkU2VsZi0+SXMoCiAgICAgICAgICAgICAgICAkVGVtcGxhdGVHZXQtPnskVGVtcGxhdGVBdHRyaWJ1dGV9IHx8ICcnLAogICAgICAgICAgICAgICAgJEl0ZW0tPntVcGRhdGVHZXR9LT57JFRlbXBsYXRlQXR0cmlidXRlfSB8fCAnJywKICAgICAgICAgICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlR2V0KCkgLSAkVGVtcGxhdGVBdHRyaWJ1dGUiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KfQpjb250aW51ZSB7CgogICAgIyBpbmNyZW1lbnQgdGhlIGNvdW50ZXIKICAgICRUZXN0Q291bnQrKzsKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIFRlbXBsYXRlTGlzdCB0ZXN0IDEgKGNoZWNrIGFycmF5IHJlZmVyZW5jZXMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgbGlzdCBtdXN0IGJlIGFuIGVtcHR5IGFycmF5IHJlZmVyZW5jZQokU2VsZi0+VHJ1ZSgKICAgIHJlZiAkVGVtcGxhdGVMaXN0MUFsbCBlcSAnQVJSQVknICYmIHJlZiAkVGVtcGxhdGVMaXN0MU9iamVjdCBlcSAnQVJSQVknLAogICAgIlRlc3QgJFRlc3RDb3VudDogVGVtcGxhdGVMaXN0KCkgLSBhcnJheSByZWZlcmVuY2VzIiwKKTsKCiRUZXN0Q291bnQrKzsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBUZW1wbGF0ZUxpc3QgdGVzdCAyIChsaXN0IG11c3QgYmUgZW1wdHkpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgbGlzdCBtdXN0IGJlIGFuIGVtcHR5IGxpc3QKJFNlbGYtPlRydWUoCiAgICBzY2FsYXIgQHskVGVtcGxhdGVMaXN0MU9iamVjdH0gZXEgMCwKICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlTGlzdCgpIC0gZW1wdHkgbGlzdCIsCik7CgokVGVzdENvdW50Kys7CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgVGVtcGxhdGVMaXN0IHRlc3QgMiAoY2hlY2sgY29ycmVjdCBudW1iZXIgb2YgbmV3IGl0ZW1zKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgojIGdldCB0ZW1wbGF0ZSBsaXN0IHdpdGggYWxsIGVsZW1lbnRzCm15ICRUZW1wbGF0ZUxpc3QyID0gJEltcG9ydEV4cG9ydE9iamVjdC0+VGVtcGxhdGVMaXN0KAogICAgVXNlcklEID0+IDEsCik7CgojIGxpc3QgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UKJFNlbGYtPlRydWUoCiAgICByZWYgJFRlbXBsYXRlTGlzdDIgZXEgJ0FSUkFZJywKICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlTGlzdCgpIC0gYXJyYXkgcmVmZXJlbmNlIiwKKTsKCm15ICRUZW1wbGF0ZUxpc3RDb3VudCA9IHNjYWxhciBAeyRUZW1wbGF0ZUxpc3QyfSAtIHNjYWxhciBAeyRUZW1wbGF0ZUxpc3QxQWxsfTsKCiMgY2hlY2sgY29ycmVjdCBudW1iZXIgb2YgbmV3IGl0ZW1zCiRTZWxmLT5UcnVlKAogICAgJFRlbXBsYXRlTGlzdENvdW50IGVxIHNjYWxhciBAQWRkZWRUZW1wbGF0ZUlEcywKICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlTGlzdCgpIC0gY29ycmVjdCBudW1iZXIgb2YgbmV3IGl0ZW1zIiwKKTsKCiRUZXN0Q291bnQrKzsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBUZW1wbGF0ZURlbGV0ZSB0ZXN0IDEgKGFkZCBvbmUgdGVtcGxhdGUgYW5kIGRlbGV0ZSBpdCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKIyBnZXQgdGVtcGxhdGUgbGlzdCB3aXRoIGFsbCBlbGVtZW50cwpteSAkVGVtcGxhdGVEZWxldGUxTGlzdDEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUxpc3QoCiAgICBPYmplY3QgPT4gJE9iamVjdE5hbWVbMF0sCiAgICBVc2VySUQgPT4gMSwKKTsKCiMgYWRkIGEgdGVzdCB0ZW1wbGF0ZQpteSAkVGVtcGxhdGVEZWxldGVJRCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlQWRkKAogICAgT2JqZWN0ICA9PiAkT2JqZWN0TmFtZVswXSwKICAgIEZvcm1hdCAgPT4gJEZvcm1hdE5hbWVbMF0sCiAgICBOYW1lICAgID0+ICRUZW1wbGF0ZU5hbWVbNF0sCiAgICBWYWxpZElEID0+IDEsCiAgICBVc2VySUQgID0+IDEsCik7CgojIGdldCB0ZW1wbGF0ZSBsaXN0IHdpdGggYWxsIGVsZW1lbnRzCm15ICRUZW1wbGF0ZURlbGV0ZTFMaXN0MiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPlRlbXBsYXRlTGlzdCgKICAgIE9iamVjdCA9PiAkT2JqZWN0TmFtZVswXSwKICAgIFVzZXJJRCA9PiAxLAopOwoKIyBsaXN0IG11c3QgaGF2ZSBvbmUgZWxlbWVudCBtb3JlCiRTZWxmLT5UcnVlKAogICAgc2NhbGFyIEB7JFRlbXBsYXRlRGVsZXRlMUxpc3QxfSBlcSAoIHNjYWxhciBAeyRUZW1wbGF0ZURlbGV0ZTFMaXN0Mn0gKSAtIDEsCiAgICAiVGVzdCAkVGVzdENvdW50OiBUZW1wbGF0ZURlbGV0ZSgpIC0gbnVtYmVyIG9mIGxpc3RlZCBlbGVtZW50cyIsCik7CgojIGRlbGV0ZSB0aGUgbmV3IHRlbXBsYXRlCm15ICRUZW1wbGF0ZURlbGV0ZTEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZURlbGV0ZSgKICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlRGVsZXRlSUQsCiAgICBVc2VySUQgICAgID0+IDEsCik7CgojIGxpc3QgbXVzdCBiZSBzdWNjZXNzZnVsCiRTZWxmLT5UcnVlKAogICAgJFRlbXBsYXRlRGVsZXRlMSwKICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlRGVsZXRlKCkiLAopOwoKIyBnZXQgdGVtcGxhdGUgbGlzdCB3aXRoIGFsbCBlbGVtZW50cwpteSAkVGVtcGxhdGVEZWxldGUxTGlzdDMgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUxpc3QoCiAgICBPYmplY3QgPT4gJE9iamVjdE5hbWVbMF0sCiAgICBVc2VySUQgPT4gMSwKKTsKCiMgbGlzdCBtdXN0IGhhdmUgdGhlIG9yaWdpbmFsIG51bWJlciBvZiBlbGVtZW50cwokU2VsZi0+VHJ1ZSgKICAgIHNjYWxhciBAeyRUZW1wbGF0ZURlbGV0ZTFMaXN0MX0gZXEgc2NhbGFyIEB7JFRlbXBsYXRlRGVsZXRlMUxpc3QzfSwKICAgICJUZXN0ICRUZXN0Q291bnQ6IFRlbXBsYXRlRGVsZXRlKCkgLSBudW1iZXIgb2YgbGlzdGVkIGVsZW1lbnRzIiwKKTsKCiRUZXN0Q291bnQrKzsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBUZW1wbGF0ZURlbGV0ZSB0ZXN0IDIgKGRlbGV0ZSBhbGwgdW5pdCB0ZXN0IHRlbXBsYXRlcykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKZm9yIG15ICRUZW1wbGF0ZUlEIChAQWRkZWRUZW1wbGF0ZUlEcykgewoKICAgICMgZGVsZXRlIHRoZSB0ZW1wbGF0ZQogICAgbXkgJFN1Y2Nlc3MgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZURlbGV0ZSgKICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7CgogICAgIyBjaGVjayBzdWNjZXNzCiAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAkU3VjY2VzcywKICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBUZW1wbGF0ZURlbGV0ZSgpIFRlbXBsYXRlSUQgJFRlbXBsYXRlSUQiLAogICAgKTsKCiAgICAkVGVzdENvdW50Kys7Cn0KCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBPYmplY3RMaXN0IHRlc3QgMSAoY2hlY2sgZ2VuZXJhbCBmdW5jdGlvbmFsaXR5KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgojIGRlZmluZSB0ZXN0IGxpc3QKbXkgJE9iamVjdExpc3QxVGVzdExpc3QgPSB7CiAgICBVbml0VGVzdDEgPT4gewogICAgICAgIE1vZHVsZSA9PiAnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydDo6T2JqZWN0QmFja2VuZDo6VW5pdFRlc3QxJywKICAgICAgICBOYW1lICAgPT4gJ1VuaXQgVGVzdCAxJywKICAgIH0sCiAgICBVbml0VGVzdDIgPT4gewogICAgICAgIE1vZHVsZSA9PiAnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydDo6T2JqZWN0QmFja2VuZDo6VW5pdFRlc3QyJywKICAgICAgICBOYW1lICAgPT4gJ1VuaXQgVGVzdCAyJywKICAgIH0sCn07CgojIGdldCBvcmlnaW5hbCBvYmplY3QgbGlzdApteSAkT2JqZWN0TGlzdE9yZyA9CiAgICAkQ29uZmlnT2JqZWN0LT5HZXQoJ0ltcG9ydEV4cG9ydDo6T2JqZWN0QmFja2VuZFJlZ2lzdHJhdGlvbicpOwoKIyBzZXQgdGVzdCBsaXN0CiRDb25maWdPYmplY3QtPlNldCgKICAgIEtleSAgID0+ICdJbXBvcnRFeHBvcnQ6Ok9iamVjdEJhY2tlbmRSZWdpc3RyYXRpb24nLAogICAgVmFsdWUgPT4gJE9iamVjdExpc3QxVGVzdExpc3QsCik7CgojIGdldCBvYmplY3QgbGlzdApteSAkT2JqZWN0TGlzdDEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3RMaXN0KCk7CgojIGxpc3QgbXVzdCBiZSBhIGhhc2ggcmVmZXJlbmNlCiRTZWxmLT5UcnVlKAogICAgcmVmICRPYmplY3RMaXN0MSBlcSAnSEFTSCcsCiAgICAiVGVzdCAkVGVzdENvdW50OiBPYmplY3RMaXN0KCkgLSBoYXNoIHJlZmVyZW5jZSIsCik7CgojIGNoZWNrIHRoZSBsaXN0CktFWToKZm9yIG15ICRLZXkgKCBzb3J0IGtleXMgJXskT2JqZWN0TGlzdDF9ICkgewoKICAgIGlmICggISRPYmplY3RMaXN0MVRlc3RMaXN0LT57JEtleX0gKSB7CiAgICAgICAgJE9iamVjdExpc3QxVGVzdExpc3QtPntEdW1teX0gPSAxOwogICAgfQoKICAgIG5leHQgS0VZIGlmICRPYmplY3RMaXN0MS0+eyRLZXl9IG5lICRPYmplY3RMaXN0MVRlc3RMaXN0LT57JEtleX0tPntOYW1lfTsKCiAgICBkZWxldGUgJE9iamVjdExpc3QxVGVzdExpc3QtPnskS2V5fTsKfQoKJFNlbGYtPlRydWUoCiAgICAhJXskT2JqZWN0TGlzdDFUZXN0TGlzdH0sCiAgICAiVGVzdCAkVGVzdENvdW50OiBPYmplY3RMaXN0KCkgLSBjb250ZW50IGlzIHZhbGlkIiwKKTsKCiMgcmVzdG9yZSBvcmlnaW5hbCBvYmplY3QgbGlzdAokQ29uZmlnT2JqZWN0LT5TZXQoCiAgICBLZXkgICA9PiAnSW1wb3J0RXhwb3J0OjpPYmplY3RCYWNrZW5kUmVnaXN0cmF0aW9uJywKICAgIFZhbHVlID0+ICRPYmplY3RMaXN0T3JnLAopOwoKJFRlc3RDb3VudCsrOwoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIEZvcm1hdExpc3QgdGVzdCAxIChjaGVjayBnZW5lcmFsIGZ1bmN0aW9uYWxpdHkpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgZGVmaW5lIHRlc3QgbGlzdApteSAkRm9ybWF0TGlzdDFUZXN0TGlzdCA9IHsKICAgIFVuaXRUZXN0MSA9PiB7CiAgICAgICAgTW9kdWxlID0+ICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kOjpVbml0VGVzdDEnLAogICAgICAgIE5hbWUgICA9PiAnVW5pdCBUZXN0IDEnLAogICAgfSwKICAgIFVuaXRUZXN0MiA9PiB7CiAgICAgICAgTW9kdWxlID0+ICdLZXJuZWw6OlN5c3RlbTo6SW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kOjpVbml0VGVzdDInLAogICAgICAgIE5hbWUgICA9PiAnVW5pdCBUZXN0IDInLAogICAgfSwKfTsKCiMgZ2V0IG9yaWdpbmFsIGZvcm1hdCBsaXN0Cm15ICRGb3JtYXRMaXN0T3JnID0KICAgICRDb25maWdPYmplY3QtPkdldCgnSW1wb3J0RXhwb3J0OjpGb3JtYXRCYWNrZW5kUmVnaXN0cmF0aW9uJyk7CgojIHNldCB0ZXN0IGxpc3QKJENvbmZpZ09iamVjdC0+U2V0KAogICAgS2V5ICAgPT4gJ0ltcG9ydEV4cG9ydDo6Rm9ybWF0QmFja2VuZFJlZ2lzdHJhdGlvbicsCiAgICBWYWx1ZSA9PiAkRm9ybWF0TGlzdDFUZXN0TGlzdCwKKTsKCiMgZ2V0IGZvcm1hdCBsaXN0Cm15ICRGb3JtYXRMaXN0MSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdExpc3QoKTsKCiMgbGlzdCBtdXN0IGJlIGEgaGFzaCByZWZlcmVuY2UKJFNlbGYtPlRydWUoCiAgICByZWYgJEZvcm1hdExpc3QxIGVxICdIQVNIJywKICAgICJUZXN0ICRUZXN0Q291bnQ6IEZvcm1hdExpc3QoKSAtIGhhc2ggcmVmZXJlbmNlIiwKKTsKCiMgY2hlY2sgdGhlIGxpc3QKS0VZOgpmb3IgbXkgJEtleSAoIHNvcnQga2V5cyAleyRGb3JtYXRMaXN0MX0gKSB7CgogICAgaWYgKCAhJEZvcm1hdExpc3QxVGVzdExpc3QtPnskS2V5fSApIHsKICAgICAgICAkRm9ybWF0TGlzdDFUZXN0TGlzdC0+e0R1bW15fSA9IDE7CiAgICB9CgogICAgbmV4dCBLRVkgaWYgJEZvcm1hdExpc3QxLT57JEtleX0gbmUgJEZvcm1hdExpc3QxVGVzdExpc3QtPnskS2V5fS0+e05hbWV9OwoKICAgIGRlbGV0ZSAkRm9ybWF0TGlzdDFUZXN0TGlzdC0+eyRLZXl9Owp9CgokU2VsZi0+VHJ1ZSgKICAgICEleyRGb3JtYXRMaXN0MVRlc3RMaXN0fSwKICAgICJUZXN0ICRUZXN0Q291bnQ6IEZvcm1hdExpc3QoKSAtIGNvbnRlbnQgaXMgdmFsaWQiLAopOwoKIyByZXN0b3JlIG9yaWdpbmFsIGZvcm1hdCBsaXN0CiRDb25maWdPYmplY3QtPlNldCgKICAgIEtleSAgID0+ICdJbXBvcnRFeHBvcnQ6OkZvcm1hdEJhY2tlbmRSZWdpc3RyYXRpb24nLAogICAgVmFsdWUgPT4gJEZvcm1hdExpc3RPcmcsCik7CgoxOwo=</File>
        <File Permission="660" Location="scripts/test/ImportExportFormatCSV.t" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKCnVzZSB2YXJzIHF3KCRTZWxmKTsKCnVzZSBEYXRhOjpEdW1wZXI7CgojIGdldCBuZWVkZWQgb2JqZWN0cwpteSAkTWFpbk9iamVjdCAgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpNYWluJyk7Cm15ICRJbXBvcnRFeHBvcnRPYmplY3QgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpOwpteSAkRm9ybWF0QmFja2VuZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQ6OkZvcm1hdEJhY2tlbmQ6OkNTVicpOwoKIyBnZXQgaGVscGVyIG9iamVjdAokS2VybmVsOjpPTS0+T2JqZWN0UGFyYW1BZGQoCiAgICAnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInID0+IHsKICAgICAgICBSZXN0b3JlRGF0YWJhc2UgPT4gMSwKICAgIH0sCik7Cm15ICRIZWxwZXIgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicpOwoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIG1ha2UgcHJlcGFyYXRpb25zCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgZ2V0IGhvbWUgZGlyZWN0b3J5CiRTZWxmLT57SG9tZX0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0hvbWUnKTsKCiMgYWRkIHNvbWUgdGVzdCB0ZW1wbGF0ZXMgZm9yIGxhdGVyIGNoZWNrcwpteSBAVGVtcGxhdGVJRHM7CmZvciAoIDEgLi4gMzAgKSB7CgogICAgbXkgJFJhbmRvbUlEID0gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKCiAgICAjIGFkZCBhIHRlc3QgdGVtcGxhdGUgZm9yIGxhdGVyIGNoZWNrcwogICAgbXkgJFRlbXBsYXRlSUQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUFkZCgKICAgICAgICBPYmplY3QgID0+ICdVbml0VGVzdCcgLiAkUmFuZG9tSUQsCiAgICAgICAgRm9ybWF0ICA9PiAnQ1NWJywKICAgICAgICBOYW1lICAgID0+ICdVbml0VGVzdCcgLiAkUmFuZG9tSUQsCiAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICk7CgogICAgcHVzaCBAVGVtcGxhdGVJRHMsICRUZW1wbGF0ZUlEOwp9CgpteSAkVGVzdENvdW50ID0gMTsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBGb3JtYXRMaXN0IHRlc3QgMSAoY2hlY2sgQ1NWIGl0ZW0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgZ2V0IGZvcm1hdCBsaXN0Cm15ICRGb3JtYXRMaXN0MSA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdExpc3QoKTsKCiMgY2hlY2sgZm9ybWF0IGxpc3QKJFNlbGYtPlRydWUoCiAgICAkRm9ybWF0TGlzdDEgJiYgcmVmICRGb3JtYXRMaXN0MSBlcSAnSEFTSCcgJiYgJEZvcm1hdExpc3QxLT57Q1NWfSwKICAgICJUZXN0ICRUZXN0Q291bnQ6IEZvcm1hdExpc3QoKSAtIENTViBleGlzdHMiLAopOwoKJFRlc3RDb3VudCsrOwoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIEZvcm1hdEF0dHJpYnV0ZXNHZXQgdGVzdCAxIChjaGVjayBhdHRyaWJ1dGUgaGFzaCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKIyBnZXQgZm9ybWF0IGF0dHJpYnV0ZXMKbXkgJEZvcm1hdEF0dHJpYnV0ZXNHZXQxID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0QXR0cmlidXRlc0dldCgKICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSURzWzBdLAogICAgVXNlcklEICAgICA9PiAxLAopOwoKIyBjaGVjayBmb3JtYXQgYXR0cmlidXRlIHJlZmVyZW5jZQokU2VsZi0+VHJ1ZSgKICAgICRGb3JtYXRBdHRyaWJ1dGVzR2V0MSAmJiByZWYgJEZvcm1hdEF0dHJpYnV0ZXNHZXQxIGVxICdBUlJBWScsCiAgICAiVGVzdCAkVGVzdENvdW50OiBGb3JtYXRBdHRyaWJ1dGVzR2V0KCkgLSBjaGVjayBhcnJheSByZWZlcmVuY2UiLAopOwoKIyBkZWZpbmUgdGhlIHJlZmVyZW5jZSBoYXNoCm15ICRGb3JtYXRBdHRyaWJ1dGVzR2V0MVJlZmVyZW5jZSA9IFsKICAgIHsKICAgICAgICBLZXkgICA9PiAnQ29sdW1uU2VwYXJhdG9yJywKICAgICAgICBOYW1lICA9PiAnQ29sdW1uIFNlcGFyYXRvcicsCiAgICAgICAgSW5wdXQgPT4gewogICAgICAgICAgICBUeXBlID0+ICdTZWxlY3Rpb24nLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIFRhYnVsYXRvciA9PiAnVGFidWxhdG9yIChUQUIpJywKICAgICAgICAgICAgICAgIFNlbWljb2xvbiA9PiAnU2VtaWNvbG9uICg7KScsCiAgICAgICAgICAgICAgICBDb2xvbiAgICAgPT4gJ0NvbG9uICg6KScsCiAgICAgICAgICAgICAgICBEb3QgICAgICAgPT4gJ0RvdCAoLiknLAogICAgICAgICAgICAgICAgQ29tbWEgICAgID0+ICdDb21tYSAoLCknLAogICAgICAgICAgICB9LAogICAgICAgICAgICBSZXF1aXJlZCAgICAgPT4gMSwKICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDEsCiAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgIH0sCiAgICB9LAogICAgewogICAgICAgIEtleSAgID0+ICdDaGFyc2V0JywKICAgICAgICBOYW1lICA9PiAnQ2hhcnNldCcsCiAgICAgICAgSW5wdXQgPT4gewogICAgICAgICAgICBUeXBlICAgICAgICAgPT4gJ1RleHQnLAogICAgICAgICAgICBWYWx1ZURlZmF1bHQgPT4gJ1VURi04JywKICAgICAgICAgICAgUmVxdWlyZWQgICAgID0+IDEsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICBTaXplICAgICAgICAgPT4gMjAsCiAgICAgICAgICAgIE1heExlbmd0aCAgICA9PiAyMCwKICAgICAgICAgICAgUmVhZG9ubHkgICAgID0+IDEsCiAgICAgICAgfSwKICAgIH0sCiAgICB7CiAgICAgICAgS2V5ICAgPT4gJ0luY2x1ZGVDb2x1bW5IZWFkZXJzJywKICAgICAgICBOYW1lICA9PiAnSW5jbHVkZSBDb2x1bW4gSGVhZGVycycsCiAgICAgICAgSW5wdXQgPT4gewogICAgICAgICAgICBUeXBlID0+ICdTZWxlY3Rpb24nLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIDAgPT4gJ05vJywKICAgICAgICAgICAgICAgIDEgPT4gJ1llcycsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICAgICB9LAogICAgfSwKXTsKCiRTZWxmLT5Jc0RlZXBseSgKICAgICRGb3JtYXRBdHRyaWJ1dGVzR2V0MSwKICAgICRGb3JtYXRBdHRyaWJ1dGVzR2V0MVJlZmVyZW5jZSwKICAgICJUZXN0ICRUZXN0Q291bnQ6IEZvcm1hdEF0dHJpYnV0ZXNHZXQoKSAtIGF0dHJpYnV0ZXMgb2YgdGhlIHJvdyBhcmUgaWRlbnRpY2FsIiwKKTsKCiRUZXN0Q291bnQrKzsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBGb3JtYXRBdHRyaWJ1dGVzR2V0IHRlc3QgMiAoY2hlY2sgd2l0aCBub24gZXhpc3RpbmcgdGVtcGxhdGUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgZ2V0IGZvcm1hdCBhdHRyaWJ1dGVzCm15ICRGb3JtYXRBdHRyaWJ1dGVzR2V0MiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdEF0dHJpYnV0ZXNHZXQoCiAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlEc1stMV0gKyAxLAogICAgVXNlcklEICAgICA9PiAxLAopOwoKIyBjaGVjayBmYWxzZSByZXR1cm4KJFNlbGYtPkZhbHNlKAogICAgJEZvcm1hdEF0dHJpYnV0ZXNHZXQyLAogICAgIlRlc3QgJFRlc3RDb3VudDogRm9ybWF0QXR0cmlidXRlc0dldCgpIC0gY2hlY2sgZmFsc2UgcmV0dXJuIiwKKTsKCiRUZXN0Q291bnQrKzsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldCB0ZXN0IDEgKGNoZWNrIGF0dHJpYnV0ZSBoYXNoKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgojIGdldCBtYXBwaW5nIGZvcm1hdCBhdHRyaWJ1dGVzCm15ICRNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldDEgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldCgKICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSURzWzBdLAogICAgVXNlcklEICAgICA9PiAxLAopOwoKIyBjaGVjayBtYXBwaW5nIGZvcm1hdCBhdHRyaWJ1dGUgcmVmZXJlbmNlCiRTZWxmLT5UcnVlKAogICAgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0MSAmJiByZWYgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0MSBlcSAnQVJSQVknLAogICAgIlRlc3QgJFRlc3RDb3VudDogTWFwcGluZ0Zvcm1hdEF0dHJpYnV0ZXNHZXQoKSAtIGNoZWNrIGFycmF5IHJlZmVyZW5jZSIsCik7CgojIGRlZmluZSB0aGUgcmVmZXJlbmNlIGhhc2gKbXkgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0MVJlZmVyZW5jZSA9IFsKICAgIHsKICAgICAgICBLZXkgICA9PiAnQ29sdW1uJywKICAgICAgICBOYW1lICA9PiAnQ29sdW1uJywKICAgICAgICBJbnB1dCA9PiB7CiAgICAgICAgICAgIFR5cGUgICAgID0+ICdUVCcsCiAgICAgICAgICAgIERhdGEgICAgID0+ICcnLAogICAgICAgICAgICBSZXF1aXJlZCA9PiAwLAogICAgICAgIH0sCiAgICB9LApdOwoKJFNlbGYtPklzRGVlcGx5KAogICAgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0MSwKICAgICRNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldDFSZWZlcmVuY2UsCiAgICAiVGVzdCAkVGVzdENvdW50OiBNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldCgpIC0gYXR0cmlidXRlcyBvZiB0aGUgcm93IGFyZSBpZGVudGljYWwiLAopOwoKJFRlc3RDb3VudCsrOwoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0IHRlc3QgMiAoY2hlY2sgd2l0aCBub24gZXhpc3RpbmcgdGVtcGxhdGUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCiMgZ2V0IG1hcHBpbmcgZm9ybWF0IGF0dHJpYnV0ZXMKbXkgJE1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0MiA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdGb3JtYXRBdHRyaWJ1dGVzR2V0KAogICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRHNbLTFdICsgMSwKICAgIFVzZXJJRCAgICAgPT4gMSwKKTsKCiMgY2hlY2sgZmFsc2UgcmV0dXJuCiRTZWxmLT5GYWxzZSgKICAgICRNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldDIsCiAgICAiVGVzdCAkVGVzdENvdW50OiBNYXBwaW5nRm9ybWF0QXR0cmlidXRlc0dldCgpIC0gY2hlY2sgZmFsc2UgcmV0dXJuIiwKKTsKCiRUZXN0Q291bnQrKzsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBkZWZpbmUgZ2VuZXJhbCBJbXBvcnREYXRhR2V0IHRlc3RzCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCm15ICRJbXBvcnREYXRhVGVzdHMgPSBbCgogICAgIyBJbXBvcnREYXRhR2V0IGRvZXNuJ3QgY29udGFpbnMgYWxsIGRhdGEgKGNoZWNrIHJlcXVpcmVkIGF0dHJpYnV0ZXMpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBJbXBvcnREYXRhR2V0IGRvZXNuJ3QgY29udGFpbnMgYWxsIGRhdGEgKGNoZWNrIHJlcXVpcmVkIGF0dHJpYnV0ZXMpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRHNbMV0sCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBubyBzb3VyY2UgY29udGVudCBhcmUgZ2l2ZW4gKGVtcHR5IGFycmF5IHJlZmVyZW5jZSBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSURzWzFdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbXSwKICAgIH0sCgogICAgIyBzb3VyY2UgY29udGVudCBtdXN0IGJlIGEgc2NhbGFyIHJlZmVyZW5jZSAoY2hlY2sgcmV0dXJuIGZhbHNlKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzFdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiBbXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIHNvdXJjZSBjb250ZW50IG11c3QgYmUgYSBzY2FsYXIgcmVmZXJlbmNlIChjaGVjayByZXR1cm4gZmFsc2UpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMV0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+IHt9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICB9LAoKICAgICMgc291cmNlIGNvbnRlbnQgbXVzdCBiZSBhIHNjYWxhciByZWZlcmVuY2UgKGNoZWNrIHJldHVybiBmYWxzZSkKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1sxXSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJycsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBubyBleGlzdGluZyB0ZW1wbGF0ZSBpZCBpcyBnaXZlbiAoY2hlY2sgcmV0dXJuIGZhbHNlKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWy0xXSArIDEsCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+IFxkbyB7J0R1bW15J30sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBubyBjb2x1bW4gU2VwYXJhdG9yIGFuZCBjaGFyc2V0IGFyZSBnaXZlbiAoY2hlY2sgcmV0dXJuIGZhbHNlKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzJdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiBcZG8geydEdW1teSd9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICB9LAoKICAgICMgbm8gY29sdW1uIFNlcGFyYXRvciBpcyBnaXZlbiAoY2hlY2sgcmV0dXJuIGZhbHNlKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENoYXJzZXQgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syXSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gXGRvIHsnRHVtbXknfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIG5vIGNoYXJzZXQgaXMgZ2l2ZW4gKGNoZWNrIHJldHVybiBmYWxzZSkKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0R1bW15JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syXSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gXGRvIHsnRHVtbXknfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIGludmFsaWQgY29sdW1uIFNlcGFyYXRvciBpcyBnaXZlbiAoY2hlY2sgcmV0dXJuIGZhbHNlKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnRHVtbXknLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMl0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+IFxkbyB7J0R1bW15J30sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIGJ1dCBzb3VyY2UgY29udGVudCBpcyBlbXB0eSAoZW1wdHkgYXJyYXkgcmVmZXJlbmNlIG11c3QgYmUgcmV0dXJuZWQpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbM10sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+IFxkbyB7Jyd9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbXSwKICAgIH0sCgogICAgIyBzb3VyY2UgY29udGVudCBpcyBvbmx5IGEgc3RyaW5nIHdpdGggc3BhY2VzIChvbmUgY2VsbCBhcnJheSB3aXRoIHRoZSBzcGFjZXMgbXVzdCBiZSByZXR1cm5lZCkKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1NlbWljb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s0XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gXGRvIHsnICAnfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZUltcG9ydERhdGEgPT4gWwogICAgICAgICAgICBbJyAgJ10sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDEtTVNFeGNlbC1TZW1pY29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s1XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICBbICdSb3cyLUNvbDEnLCAnUm93Mi1Db2wyJywgJ1JvdzItQ29sMycgXSwKICAgICAgICAgICAgWyAnUm93My1Db2wxJywgJ1JvdzMtQ29sMicsICdSb3czLUNvbDMnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiwgYnV0IFRhYnVsYXRvciBpcyB1c2VkIGFzIFNlcGFyYXRvciAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnVGFidWxhdG9yJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDEtTVNFeGNlbC1TZW1pY29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s1XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsnUm93MS1Db2wxO1JvdzEtQ29sMjtSb3cxLUNvbDMnXSwKICAgICAgICAgICAgWydSb3cyLUNvbDE7Um93Mi1Db2wyO1JvdzItQ29sMyddLAogICAgICAgICAgICBbJ1JvdzMtQ29sMTtSb3czLUNvbDI7Um93My1Db2wzJ10sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnVGFidWxhdG9yJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDEtTVNFeGNlbC1UYWJ1bGF0b3IuY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s1XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICBbICdSb3cyLUNvbDEnLCAnUm93Mi1Db2wyJywgJ1JvdzItQ29sMycgXSwKICAgICAgICAgICAgWyAnUm93My1Db2wxJywgJ1JvdzMtQ29sMicsICdSb3czLUNvbDMnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiwgYnV0IFNlbWljb2xvbiBpcyB1c2VkIGFzIFNlcGFyYXRvciAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDEtTVNFeGNlbC1UYWJ1bGF0b3IuY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s1XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsiUm93MS1Db2wxXHRSb3cxLUNvbDJcdFJvdzEtQ29sMyJdLAogICAgICAgICAgICBbIlJvdzItQ29sMVx0Um93Mi1Db2wyXHRSb3cyLUNvbDMiXSwKICAgICAgICAgICAgWyJSb3czLUNvbDFcdFJvdzMtQ29sMlx0Um93My1Db2wzIl0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDEtT3Blbk9mZmljZS1TZW1pY29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s1XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICBbICdSb3cyLUNvbDEnLCAnUm93Mi1Db2wyJywgJ1JvdzItQ29sMycgXSwKICAgICAgICAgICAgWyAnUm93My1Db2wxJywgJ1JvdzMtQ29sMicsICdSb3czLUNvbDMnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnVGFidWxhdG9yJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDEtT3Blbk9mZmljZS1UYWJ1bGF0b3IuY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s1XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICBbICdSb3cyLUNvbDEnLCAnUm93Mi1Db2wyJywgJ1JvdzItQ29sMycgXSwKICAgICAgICAgICAgWyAnUm93My1Db2wxJywgJ1JvdzMtQ29sMicsICdSb3czLUNvbDMnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnQ29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwMS1PcGVuT2ZmaWNlLUNvbG9uLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbNV0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+ICdTb3VyY2VGaWxlJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZUltcG9ydERhdGEgPT4gWwogICAgICAgICAgICBbICdSb3cxLUNvbDEnLCAnUm93MS1Db2wyJywgJ1JvdzEtQ29sMycgXSwKICAgICAgICAgICAgWyAnUm93Mi1Db2wxJywgJ1JvdzItQ29sMicsICdSb3cyLUNvbDMnIF0sCiAgICAgICAgICAgIFsgJ1JvdzMtQ29sMScsICdSb3czLUNvbDInLCAnUm93My1Db2wzJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKG5ld2xpbmUgY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDItTVNFeGNlbC1TZW1pY29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s2XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgIlxuVGVzdCAxIC0gMSIsICJUZXN0IDEgLSAyIiwgICAiVGVzdCAxXG4tIDMiLCAgJ1Rlc3QgXG5cdFxyXHMnIF0sCiAgICAgICAgICAgIFsgIlRlc3QgMiBcbi0gMSIsICJUZVxuc3QgMiAtIDIiLCAiVGVzdCAyIC0gM1xuIiwgJycgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChuZXdsaW5lIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDAyLU1TRXhjZWwtVGFidWxhdG9yLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbNl0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+ICdTb3VyY2VGaWxlJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZUltcG9ydERhdGEgPT4gWwogICAgICAgICAgICBbICJcblRlc3QgMSAtIDEiLCAnVGVzdCAxIC0gMicsICAgIlRlc3QgMVxuLSAzIiwgICdUZXN0IFxuXHRcclxzJyBdLAogICAgICAgICAgICBbICJUZXN0IDIgXG4tIDEiLCAiVGVcbnN0IDIgLSAyIiwgIlRlc3QgMiAtIDNcbiIsICcnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAobmV3bGluZSBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwMi1PcGVuT2ZmaWNlLVNlbWljb2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzZdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAiXG5UZXN0IDEgLSAxIiwgIlRlc3QgMSAtIDIiLCAgICJUZXN0IDFcbi0gMyIsICAnVGVzdCBcblx0XHJccycgXSwKICAgICAgICAgICAgWyAiVGVzdCAyIFxuLSAxIiwgIlRlXG5zdCAyIC0gMiIsICJUZXN0IDIgLSAzXG4iLCAnJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKG5ld2xpbmUgY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnVGFidWxhdG9yJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDItT3Blbk9mZmljZS1UYWJ1bGF0b3IuY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s2XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgIlxuVGVzdCAxIC0gMSIsICJUZXN0IDEgLSAyIiwgICAiVGVzdCAxXG4tIDMiLCAgJ1Rlc3QgXG5cdFxyXHMnIF0sCiAgICAgICAgICAgIFsgIlRlc3QgMiBcbi0gMSIsICJUZVxuc3QgMiAtIDIiLCAiVGVzdCAyIC0gM1xuIiwgJycgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChuZXdsaW5lIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDItT3Blbk9mZmljZS1Db2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzZdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAiXG5UZXN0IDEgLSAxIiwgIlRlc3QgMSAtIDIiLCAgICJUZXN0IDFcbi0gMyIsICAnVGVzdCBcblx0XHJccycgXSwKICAgICAgICAgICAgWyAiVGVzdCAyIFxuLSAxIiwgIlRlXG5zdCAyIC0gMiIsICJUZXN0IDIgLSAzXG4iLCAnJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwMy1NU0V4Y2VsLVNlbWljb2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzddLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnICBUZXN0ICAnLCAnICAgICcsICdUZXN0ICAnIF0sCiAgICAgICAgICAgIFsgJyAgICBUZXN0JywgJycsICAgICAnVGVzdCcgXSwKICAgICAgICAgICAgWyAnJywgICAgICAgICAnJywgICAgICcgJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwMy1NU0V4Y2VsLVRhYnVsYXRvci5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzddLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnICBUZXN0ICAnLCAnICAgICcsICdUZXN0ICAnIF0sCiAgICAgICAgICAgIFsgJyAgICBUZXN0JywgJycsICAgICAnVGVzdCcgXSwKICAgICAgICAgICAgWyAnJywgICAgICAgICAnJywgICAgICcgJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwMy1PcGVuT2ZmaWNlLVNlbWljb2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzddLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnICBUZXN0ICAnLCAnICAgICcsICdUZXN0ICAnIF0sCiAgICAgICAgICAgIFsgJyAgICBUZXN0JywgJycsICAgICAnVGVzdCcgXSwKICAgICAgICAgICAgWyAnJywgICAgICAgICAnJywgICAgICcgJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwMy1PcGVuT2ZmaWNlLVRhYnVsYXRvci5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzddLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnICBUZXN0ICAnLCAnICAgICcsICdUZXN0ICAnIF0sCiAgICAgICAgICAgIFsgJyAgICBUZXN0JywgJycsICAgICAnVGVzdCcgXSwKICAgICAgICAgICAgWyAnJywgICAgICAgICAnJywgICAgICcgJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdDb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDAzLU9wZW5PZmZpY2UtQ29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s3XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJyAgVGVzdCAgJywgJyAgICAnLCAnVGVzdCAgJyBdLAogICAgICAgICAgICBbICcgICAgVGVzdCcsICcnLCAgICAgJ1Rlc3QnIF0sCiAgICAgICAgICAgIFsgJycsICAgICAgICAgJycsICAgICAnICcgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChzcGVjaWFsIGNoYXJhY3RlciBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwNC1NU0V4Y2VsLVNlbWljb2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzhdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnVGVzdDs6X8KwXiEiwqckJSYvKCk9P8K0YCorVGVzdCcsICc+PEB+XCd9e1tdXFwnIF0sCiAgICAgICAgICAgIFsgJyIiOzs6Oi4uLS1fXyMjJywgICAgICAgICAgICAgICAgICAnJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwZWNpYWwgY2hhcmFjdGVyIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDA0LU1TRXhjZWwtVGFidWxhdG9yLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbOF0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+ICdTb3VyY2VGaWxlJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZUltcG9ydERhdGEgPT4gWwogICAgICAgICAgICBbICdUZXN0OzpfwrBeISLCpyQlJi8oKT0/wrRgKitUZXN0JywgJz48QH5cJ317W11cXCcgXSwKICAgICAgICAgICAgWyAnIiI7Ozo6Li4tLV9fIyMnLCAgICAgICAgICAgICAgICAgICcnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoc3BlY2lhbCBjaGFyYWN0ZXIgY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDQtT3Blbk9mZmljZS1TZW1pY29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s4XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ1Rlc3Q7Ol/CsF4hIsKnJCUmLygpPT/CtGAqK1Rlc3QnLCAnPjxAflwnfXtbXVxcJyBdLAogICAgICAgICAgICBbICciIjs7OjouLi0tX18jIycsICAgICAgICAgICAgICAgICAgJycgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChzcGVjaWFsIGNoYXJhY3RlciBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwNC1PcGVuT2ZmaWNlLVRhYnVsYXRvci5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzhdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnVGVzdDs6X8KwXiEiwqckJSYvKCk9P8K0YCorVGVzdCcsICc+PEB+XCd9e1tdXFwnIF0sCiAgICAgICAgICAgIFsgJyIiOzs6Oi4uLS1fXyMjJywgICAgICAgICAgICAgICAgICAnJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwZWNpYWwgY2hhcmFjdGVyIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDQtT3Blbk9mZmljZS1Db2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzhdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnVGVzdDs6X8KwXiEiwqckJSYvKCk9P8K0YCorVGVzdCcsICc+PEB+XCd9e1tdXFwnIF0sCiAgICAgICAgICAgIFsgJyIiOzs6Oi4uLS1fXyMjJywgICAgICAgICAgICAgICAgICAnJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4KICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1NlbWljb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDA1LU1TRXhjZWwtU2VtaWNvbG9uLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbOV0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+ICdTb3VyY2VGaWxlJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZUltcG9ydERhdGEgPT4gWwogICAgICAgICAgICBbICfDvMO2w6TDnycsICfDnMOWw4QnIF0sCiAgICAgICAgICAgIFsgJ8Ofw6TDtsO8JywgJ8OEw5bDnCcgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwNS1NU0V4Y2VsLVRhYnVsYXRvci5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzldLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnw7zDtsOkw58nLCAnw5zDlsOEJyBdLAogICAgICAgICAgICBbICfDn8Okw7bDvCcsICfDhMOWw5wnIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbgogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBTb3VyY2VGaWxlICAgID0+ICdJbXBvcnRFeHBvcnRGb3JtYXRDU1YwMDUtT3Blbk9mZmljZS1TZW1pY29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s5XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ8O8w7bDpMOfJywgJ8Ocw5bDhCcgXSwKICAgICAgICAgICAgWyAnw5/DpMO2w7wnLCAnw4TDlsOcJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4KICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDA1LU9wZW5PZmZpY2UtVGFidWxhdG9yLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbOV0sCiAgICAgICAgICAgICAgICBTb3VyY2VDb250ZW50ID0+ICdTb3VyY2VGaWxlJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZUltcG9ydERhdGEgPT4gWwogICAgICAgICAgICBbICfDvMO2w6TDnycsICfDnMOWw4QnIF0sCiAgICAgICAgICAgIFsgJ8Ofw6TDtsO8JywgJ8OEw5bDnCcgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdDb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDA1LU9wZW5PZmZpY2UtQ29sb24uY3N2JywKICAgICAgICAgICAgSW1wb3J0RGF0YUdldCA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1s5XSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ8O8w7bDpMOfJywgJ8Ocw5bDhCcgXSwKICAgICAgICAgICAgWyAnw5/DpMO2w7wnLCAnw4TDlsOcJyBdLAogICAgICAgIF0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKFVURi04IGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VJbXBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1NlbWljb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgU291cmNlRmlsZSAgICA9PiAnSW1wb3J0RXhwb3J0Rm9ybWF0Q1NWMDA2LU9wZW5PZmZpY2UtU2VtaWNvbG9uLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMTBdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnyqkgyqwgyq4nLCAgICAgJyDKoSDLpCDOjCAnIF0sCiAgICAgICAgICAgIFsgJyAgzpcgz5cgz6AgICcsICfOhiDOmyDOnicgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChVVEYtOCBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwNi1PcGVuT2ZmaWNlLVRhYnVsYXRvci5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzEwXSwKICAgICAgICAgICAgICAgIFNvdXJjZUNvbnRlbnQgPT4gJ1NvdXJjZUZpbGUnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlSW1wb3J0RGF0YSA9PiBbCiAgICAgICAgICAgIFsgJ8qpIMqsIMquJywgICAgICcgyqEgy6QgzowgJyBdLAogICAgICAgICAgICBbICcgIM6XIM+XIM+gICAnLCAnzoYgzpsgzp4nIF0sCiAgICAgICAgXSwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoVVRGLTggY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUltcG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnQ29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwNi1PcGVuT2ZmaWNlLUNvbG9uLmNzdicsCiAgICAgICAgICAgIEltcG9ydERhdGFHZXQgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMTBdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnyqkgyqwgyq4nLCAgICAgJyDKoSDLpCDOjCAnIF0sCiAgICAgICAgICAgIFsgJyAgzpcgz5cgz6AgICcsICfOhiDOmyDOnicgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChjaGVjayB0aGUgcGFyc2VkIGNvbnRlbnQpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwNy1PcGVuT2ZmaWNlLVNlbWljb2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzVdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnUm93MS1Db2wxJywgJ1JvdzEtQ29sMicsICAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICBbICdSb3cyLUNvbDEnLCAnUm93Mi1Db2wyJywgICdSb3cyLUNvbDMnIF0sCiAgICAgICAgICAgIFsgJ1JvdzMtQ29sMScsICcwUm93My1Db2wyJywgJ1JvdzMtQ29sMycgXSwKICAgICAgICBdLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChjaGVjayB0aGUgcGFyc2VkIGNvbnRlbnQpCiAgICB7CiAgICAgICAgU291cmNlSW1wb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNvdXJjZUZpbGUgICAgPT4gJ0ltcG9ydEV4cG9ydEZvcm1hdENTVjAwOC1PcGVuT2ZmaWNlLVNlbWljb2xvbi5jc3YnLAogICAgICAgICAgICBJbXBvcnREYXRhR2V0ID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzVdLAogICAgICAgICAgICAgICAgU291cmNlQ29udGVudCA9PiAnU291cmNlRmlsZScsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VJbXBvcnREYXRhID0+IFsKICAgICAgICAgICAgWyAnUm93MS1Db2wxJywgJ1JvdzEtQ29sMicsICAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICBbICdSb3cyLUNvbDEnLCAnMFJvdzItQ29sMicsICdSb3cyLUNvbDMnIF0sCiAgICAgICAgICAgIFsgJ1JvdzMtQ29sMScsICdSb3czLUNvbDInLCAgJ1JvdzMtQ29sMycgXSwKICAgICAgICBdLAogICAgfSwKCl07CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiMgcnVuIGdlbmVyYWwgSW1wb3J0RGF0YUdldCB0ZXN0cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgpURVNUOgpmb3IgbXkgJFRlc3QgKCBAeyRJbXBvcnREYXRhVGVzdHN9ICkgewoKICAgICMgY2hlY2sgU291cmNlSW1wb3J0RGF0YSBhdHRyaWJ1dGUKICAgIGlmICggISRUZXN0LT57U291cmNlSW1wb3J0RGF0YX0gfHwgcmVmICRUZXN0LT57U291cmNlSW1wb3J0RGF0YX0gbmUgJ0hBU0gnICkgewoKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgMCwKICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogTm8gU291cmNlSW1wb3J0RGF0YSBmb3VuZCBmb3IgdGhpcyB0ZXN0LiIKICAgICAgICApOwoKICAgICAgICBuZXh0IFRFU1Q7CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCBJbXBvcnREYXRhR2V0CiAgICBpZiAoICEkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57SW1wb3J0RGF0YUdldH0gKSB7CiAgICAgICAgJFRlc3QtPntTb3VyY2VJbXBvcnREYXRhfS0+e0ltcG9ydERhdGFHZXR9ID0ge307CiAgICB9CgogICAgIyBzZXQgc291cmNlIGNvbnRlbnQKICAgIGlmICgKICAgICAgICAkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57U291cmNlRmlsZX0KICAgICAgICAmJiAkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57SW1wb3J0RGF0YUdldH0tPntTb3VyY2VDb250ZW50fQogICAgICAgICYmICRUZXN0LT57U291cmNlSW1wb3J0RGF0YX0tPntJbXBvcnREYXRhR2V0fS0+e1NvdXJjZUNvbnRlbnR9IGVxICdTb3VyY2VGaWxlJwogICAgICAgICkKICAgIHsKCiAgICAgICAgbXkgJFNvdXJjZUZpbGUgPSAkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57U291cmNlRmlsZX07CgogICAgICAgICMgcmVhZCBzb3VyY2UgZmlsZQogICAgICAgIG15ICRTb3VyY2VDb250ZW50ID0gJE1haW5PYmplY3QtPkZpbGVSZWFkKAogICAgICAgICAgICBMb2NhdGlvbiA9PiAkU2VsZi0+e0hvbWV9IC4gJy9zY3JpcHRzL3Rlc3Qvc2FtcGxlL0ltcG9ydEV4cG9ydC8nIC4gJFNvdXJjZUZpbGUsCiAgICAgICAgICAgIFJlc3VsdCAgID0+ICdTQ0FMQVInLAogICAgICAgICAgICBNb2RlICAgICA9PiAnYmlubW9kZScsCiAgICAgICAgKTsKCiAgICAgICAgJFRlc3QtPntTb3VyY2VJbXBvcnREYXRhfS0+e0ltcG9ydERhdGFHZXR9LT57U291cmNlQ29udGVudH0gPSAkU291cmNlQ29udGVudDsKICAgIH0KCiAgICAjIHNldCB0aGUgZm9ybWF0IGRhdGEKICAgIGlmICgKICAgICAgICAkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57Rm9ybWF0RGF0YX0KICAgICAgICAmJiByZWYgJFRlc3QtPntTb3VyY2VJbXBvcnREYXRhfS0+e0Zvcm1hdERhdGF9IGVxICdIQVNIJwogICAgICAgICYmICRUZXN0LT57U291cmNlSW1wb3J0RGF0YX0tPntJbXBvcnREYXRhR2V0fS0+e1RlbXBsYXRlSUR9CiAgICAgICAgKQogICAgewoKICAgICAgICAjIHNhdmUgZm9ybWF0IGRhdGEKICAgICAgICAkSW1wb3J0RXhwb3J0T2JqZWN0LT5Gb3JtYXREYXRhU2F2ZSgKICAgICAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57SW1wb3J0RGF0YUdldH0tPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiAkVGVzdC0+e1NvdXJjZUltcG9ydERhdGF9LT57Rm9ybWF0RGF0YX0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IGltcG9ydCBkYXRhCiAgICBteSAkSW1wb3J0RGF0YSA9ICRGb3JtYXRCYWNrZW5kT2JqZWN0LT5JbXBvcnREYXRhR2V0KAogICAgICAgICV7ICRUZXN0LT57U291cmNlSW1wb3J0RGF0YX0tPntJbXBvcnREYXRhR2V0fSB9LAogICAgKTsKCiAgICBpZiAoICEkVGVzdC0+e1JlZmVyZW5jZUltcG9ydERhdGF9ICkgewoKICAgICAgICAkU2VsZi0+RmFsc2UoCiAgICAgICAgICAgICRJbXBvcnREYXRhLAogICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBJbXBvcnREYXRhR2V0KCkgLSByZXR1cm4gZmFsc2UiCiAgICAgICAgKTsKCiAgICAgICAgbmV4dCBURVNUOwogICAgfQoKICAgIGlmICggcmVmICRJbXBvcnREYXRhIG5lICdBUlJBWScgKSB7CgogICAgICAgICMgY2hlY2sgYXJyYXkgcmVmZXJlbmNlCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IEltcG9ydERhdGFHZXQoKSAtIHJldHVybiB2YWx1ZSBpcyBhbiBhcnJheSByZWZlcmVuY2UiLAogICAgICAgICk7CgogICAgICAgIG5leHQgVEVTVDsKICAgIH0KCiAgICAjIGNoZWNrIG51bWJlciBvZiByb3dzCiAgICAkU2VsZi0+SXMoCiAgICAgICAgc2NhbGFyIEB7JEltcG9ydERhdGF9LAogICAgICAgIHNjYWxhciBAeyAkVGVzdC0+e1JlZmVyZW5jZUltcG9ydERhdGF9IH0sCiAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogSW1wb3J0RGF0YUdldCgpIC0gc2FtZSBudW1iZXIgb2Ygcm93cyIsCiAgICApOwoKICAgICMgY2hlY2sgY29udGVudCBvZiBpbXBvcnQgZGF0YQogICAgbXkgJENvdW50ZXJSb3cgPSAwOwogICAgUk9XOgogICAgZm9yIG15ICRJbXBvcnRSb3cgKCBAeyRJbXBvcnREYXRhfSApIHsKCiAgICAgICAgIyBleHRyYWN0IHJlZmVyZW5jZSByb3cKICAgICAgICBteSAkUmVmZXJlbmNlUm93ID0gJFRlc3QtPntSZWZlcmVuY2VJbXBvcnREYXRhfS0+WyRDb3VudGVyUm93XTsKCiAgICAgICAgaWYgKCByZWYgJEltcG9ydFJvdyBuZSAnQVJSQVknIHx8IHJlZiAkUmVmZXJlbmNlUm93IG5lICdBUlJBWScgKSB7CgogICAgICAgICAgICAjIGNoZWNrIGFycmF5IHJlZmVyZW5jZQogICAgICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBJbXBvcnREYXRhR2V0KCkgLSBpbXBvcnQgcm93IGFuZCByZWZlcmVuY2Ugcm93IG1hdGNoZWQiLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbmV4dCBURVNUOwogICAgICAgIH0KCiAgICAgICAgIyAjIHByaW50IHRoZSBmaWxlIG5hbWUKICAgICAgICAjICRTZWxmLT5UcnVlKAogICAgICAgICMgICAgIDEsCiAgICAgICAgIyAgICAgJFRlc3QtPntTb3VyY2VJbXBvcnREYXRhfS0+e1NvdXJjZUZpbGV9LAogICAgICAgICMgKTsKCiAgICAgICAgIyBjaGVjayBudW1iZXIgb2YgY29sdW1ucwogICAgICAgICRTZWxmLT5JcygKICAgICAgICAgICAgc2NhbGFyIEB7JEltcG9ydFJvd30sCiAgICAgICAgICAgIHNjYWxhciBAeyRSZWZlcmVuY2VSb3d9LAogICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBJbXBvcnREYXRhR2V0KCkgLSBzYW1lIG51bWJlciBvZiBjb2x1bW5zIiwKICAgICAgICApOwoKICAgICAgICBteSAkQ291bnRlckNvbHVtbiA9IDA7CiAgICAgICAgZm9yIG15ICRDZWxsICggQHskSW1wb3J0Um93fSApIHsKCiAgICAgICAgICAgICMgc2V0IGNvbnRlbnQgaWYgdmFsdWVzIGFyZSB1bmRlZgogICAgICAgICAgICBpZiAoICFkZWZpbmVkICRDZWxsICkgewogICAgICAgICAgICAgICAgJENlbGwgPSAnVU5ERUYtdW5pdHRlc3QnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggIWRlZmluZWQgJFJlZmVyZW5jZVJvdy0+WyRDb3VudGVyQ29sdW1uXSApIHsKICAgICAgICAgICAgICAgICRSZWZlcmVuY2VSb3ctPlskQ291bnRlckNvbHVtbl0gPSAnVU5ERUYtdW5pdHRlc3QnOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNoZWNrIGNlbGwgZGF0YQogICAgICAgICAgICAkU2VsZi0+SXMoCiAgICAgICAgICAgICAgICAkQ2VsbCwKICAgICAgICAgICAgICAgICRSZWZlcmVuY2VSb3ctPlskQ291bnRlckNvbHVtbl0sCiAgICAgICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBJbXBvcnREYXRhR2V0KCkgIiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRDb3VudGVyQ29sdW1uKys7CiAgICAgICAgfQoKICAgICAgICAkQ291bnRlclJvdysrOwogICAgfQp9CmNvbnRpbnVlIHsKICAgICRUZXN0Q291bnQrKzsKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwojIGRlZmluZSBnZW5lcmFsIEV4cG9ydERhdGFTYXZlIHRlc3RzCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKCm15ICRFeHBvcnREYXRhVGVzdHMgPSBbCgogICAgIyBFeHBvcnREYXRhU2F2ZSBkb2Vzbid0IGNvbnRhaW5zIGFsbCBkYXRhIChjaGVjayByZXF1aXJlZCBhdHRyaWJ1dGVzKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsnRHVtbXknXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIEV4cG9ydERhdGFTYXZlIGRvZXNuJ3QgY29udGFpbnMgYWxsIGRhdGEgKGNoZWNrIHJlcXVpcmVkIGF0dHJpYnV0ZXMpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSURzWzIwXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIEV4cG9ydERhdGFTYXZlIGRvZXNuJ3QgY29udGFpbnMgYWxsIGRhdGEgKGNoZWNrIHJlcXVpcmVkIGF0dHJpYnV0ZXMpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIwXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWydEdW1teSddLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICB9LAoKICAgICMgZXhwb3J0IGRhdGEgcm93IG11c3QgYmUgYW4gYXJyYXkgcmVmZXJlbmNlIChjaGVjayByZXR1cm4gZmFsc2UpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIwXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gJycsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBleHBvcnQgZGF0YSByb3cgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UgKGNoZWNrIHJldHVybiBmYWxzZSkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjBdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiB7fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIG5vIGV4aXN0aW5nIHRlbXBsYXRlIGlkIGlzIGdpdmVuIChjaGVjayByZXR1cm4gZmFsc2UpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWy0xXSArIDEsCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsnRHVtbXknXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSwKCiAgICAjIG5vIGNvbHVtbiBTZXBhcmF0b3IgYW5kIGNoYXJzZXQgYXJlIGdpdmVuIChjaGVjayByZXR1cm4gZmFsc2UpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIxXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWydEdW1teSddLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICB9LAoKICAgICMgbm8gY29sdW1uIFNlcGFyYXRvciBpcyBnaXZlbiAoY2hlY2sgcmV0dXJuIGZhbHNlKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENoYXJzZXQgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjFdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbJ0R1bW15J10sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBubyBjaGFyc2V0IGlzIGdpdmVuIChjaGVjayByZXR1cm4gZmFsc2UpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdEdW1teScsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIxXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWydEdW1teSddLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICB9LAoKICAgICMgaW52YWxpZCBjb2x1bW4gU2VwYXJhdG9yIGlzIGdpdmVuIChjaGVjayByZXR1cm4gZmFsc2UpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdEdW1teScsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjFdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbJ0R1bW15J10sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCgogICAgIyBleHBvcnQgZGF0YSBhcmUgb25lIGNlbGxzIHdpdGggZW1wdHkgc3RyaW5ncyAob25lIGVtcHR5IGNlbGwgbXVzdCBiZSByZXR1cm5lZCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1NlbWljb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjJdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbJyddLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciIicsCiAgICB9LAoKICAgICMgZXhwb3J0IGRhdGEgYXJlIG9uZSBjZWxscyB3aXRoIGVtcHR5IHN0cmluZ3MgKG9uZSBlbXB0eSBjZWxsIG11c3QgYmUgcmV0dXJuZWQpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIyXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWycnXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAnIiInLAogICAgfSwKCiAgICAjIGV4cG9ydCBkYXRhIGFyZSBvbmUgY2VsbHMgd2l0aCBlbXB0eSBzdHJpbmdzIChvbmUgZW1wdHkgY2VsbCBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnQ29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIyXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWycnXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAnIiInLAogICAgfSwKCiAgICAjIGV4cG9ydCBkYXRhIGFyZSBvbmUgY2VsbHMgd2l0aCBlbXB0eSBzdHJpbmdzIChvbmUgZW1wdHkgY2VsbCBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnRG90JywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syMl0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsnJ10sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4gJyIiJywKICAgIH0sCgogICAgIyBleHBvcnQgZGF0YSBhcmUgdGhyZWUgY2VsbHMgd2l0aCBlbXB0eSBzdHJpbmdzICh0aHJlZSBlbXB0eSBjZWxscyBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syMl0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJycsICcnLCAnJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciIjsiIjsiIicsCiAgICB9LAoKICAgICMgZXhwb3J0IGRhdGEgYXJlIHRocmVlIGNlbGxzIHdpdGggZW1wdHkgc3RyaW5ncyAodGhyZWUgZW1wdHkgY2VsbHMgbXVzdCBiZSByZXR1cm5lZCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjJdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICcnLCAnJywgJycgXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAiXCJcIlx0XCJcIlx0XCJcIiIsCiAgICB9LAoKICAgICMgZXhwb3J0IGRhdGEgYXJlIHRocmVlIGNlbGxzIHdpdGggZW1wdHkgc3RyaW5ncyAodGhyZWUgZW1wdHkgY2VsbHMgbXVzdCBiZSByZXR1cm5lZCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syMl0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJycsICcnLCAnJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciIjoiIjoiIicsCiAgICB9LAoKICAgICMgZXhwb3J0IGRhdGEgYXJlIHRocmVlIGNlbGxzIHdpdGggZW1wdHkgc3RyaW5ncyAodGhyZWUgZW1wdHkgY2VsbHMgbXVzdCBiZSByZXR1cm5lZCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0RvdCcsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjJdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICcnLCAnJywgJycgXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAnIiIuIiIuIiInLAogICAgfSwKCiAgICAjIGV4cG9ydCBkYXRhIGFyZSB0aHJlZSBjZWxscyB3aXRoIGVtcHR5IGFuZCB1bmRlZiBjb250ZW50ICh0aHJlZSBlbXB0eSBjZWxscyBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syMl0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgdW5kZWYsICcnLCB1bmRlZiBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICc7IiI7JywKICAgIH0sCgogICAgIyBleHBvcnQgZGF0YSBhcmUgdGhyZWUgY2VsbHMgd2l0aCBlbXB0eSBhbmQgdW5kZWYgY29udGVudCAodGhyZWUgZW1wdHkgY2VsbHMgbXVzdCBiZSByZXR1cm5lZCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjJdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbIHVuZGVmLCAnJywgdW5kZWYgXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAiXHRcIlwiXHQiLAogICAgfSwKCiAgICAjIGV4cG9ydCBkYXRhIGFyZSB0aHJlZSBjZWxscyB3aXRoIGVtcHR5IGFuZCB1bmRlZiBjb250ZW50ICh0aHJlZSBlbXB0eSBjZWxscyBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnQ29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzIyXSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWyB1bmRlZiwgJycsIHVuZGVmIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4gJzoiIjonLAogICAgfSwKCiAgICAjIGV4cG9ydCBkYXRhIGFyZSB0aHJlZSBjZWxscyB3aXRoIGVtcHR5IGFuZCB1bmRlZiBjb250ZW50ICh0aHJlZSBlbXB0eSBjZWxscyBtdXN0IGJlIHJldHVybmVkKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnRG90JywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syMl0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgdW5kZWYsICcnLCB1bmRlZiBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICcuIiIuJywKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoY2hlY2sgdGhlIHBhcnNlZCBjb250ZW50KQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnU2VtaWNvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syM10sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciUm93MS1Db2wxIjsiUm93MS1Db2wyIjsiUm93MS1Db2wzIicsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKGNoZWNrIHRoZSBwYXJzZWQgY29udGVudCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbW1hJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syM10sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciUm93MS1Db2wxIiwiUm93MS1Db2wyIiwiUm93MS1Db2wzIicsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKGNoZWNrIHRoZSBwYXJzZWQgY29udGVudCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjNdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICdSb3cxLUNvbDEnLCAnUm93MS1Db2wyJywgJ1JvdzEtQ29sMycgXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAiXCJSb3cxLUNvbDFcIlx0XCJSb3cxLUNvbDJcIlx0XCJSb3cxLUNvbDNcIiIsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKGNoZWNrIHRoZSBwYXJzZWQgY29udGVudCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syM10sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJ1JvdzEtQ29sMScsICdSb3cxLUNvbDInLCAnUm93MS1Db2wzJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciUm93MS1Db2wxIjoiUm93MS1Db2wyIjoiUm93MS1Db2wzIicsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKGNoZWNrIHRoZSBwYXJzZWQgY29udGVudCkKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0RvdCcsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjNdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICdSb3cxLUNvbDEnLCAnUm93MS1Db2wyJywgJ1JvdzEtQ29sMycgXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAnIlJvdzEtQ29sMSIuIlJvdzEtQ29sMiIuIlJvdzEtQ29sMyInLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChuZXdsaW5lIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1NlbWljb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjRdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICJcblRlc3QgMSIsICJUZXN0IFxuIDIiLCAnVGVzdCAzIFxuXHRcclxzJywgIlRlc3QgNFxuIiBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+IHFxeyJcblRlc3QgMSI7IlRlc3QgXG4gMiI7IlRlc3QgMyBcXG5cXHRcXHJcXHMiOyJUZXN0IDRcbiJ9LAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChuZXdsaW5lIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjRdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICJcblRlc3QgMSIsICJUZXN0IFxuIDIiLCAnVGVzdCAzIFxuXHRcclxzJywgIlRlc3QgNFxuIiBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+CiAgICAgICAgICAgIHFxeyJcblRlc3QgMSJcdCJUZXN0IFxuIDIiXHQiVGVzdCAzIFxcblxcdFxcclxccyJcdCJUZXN0IDRcbiJ9LAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChuZXdsaW5lIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syNF0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgIlxuVGVzdCAxIiwgIlRlc3QgXG4gMiIsICdUZXN0IDMgXG5cdFxyXHMnLCAiVGVzdCA0XG4iIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4gcXF7IlxuVGVzdCAxIjoiVGVzdCBcbiAyIjoiVGVzdCAzIFxcblxcdFxcclxccyI6IlRlc3QgNFxuIn0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKG5ld2xpbmUgY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnRG90JywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syNF0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgIlxuVGVzdCAxIiwgIlRlc3QgXG4gMiIsICdUZXN0IDMgXG5cdFxyXHMnLCAiVGVzdCA0XG4iIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4gcXF7IlxuVGVzdCAxIi4iVGVzdCBcbiAyIi4iVGVzdCAzIFxcblxcdFxcclxccyIuIlRlc3QgNFxuIn0sCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzI0XSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWyAnICBUZXN0ICAnLCAnICAgICcsICdUZXN0ICAnLCAnICAgIFRlc3QnLCAnJywgJ1Rlc3QnLCAnJywgJyAnIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4gJyIgIFRlc3QgICI7IiAgICAiOyJUZXN0ICAiOyIgICAgVGVzdCI7IiI7IlRlc3QiOyIiOyIgIicsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwYWNlcyBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdUYWJ1bGF0b3InLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzI0XSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWyAnICBUZXN0ICAnLCAnICAgICcsICdUZXN0ICAnLCAnICAgIFRlc3QnLCAnJywgJ1Rlc3QnLCAnJywgJyAnIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4KICAgICAgICAgICAgIlwiICBUZXN0ICBcIlx0XCIgICAgXCJcdFwiVGVzdCAgXCJcdFwiICAgIFRlc3RcIlx0XCJcIlx0XCJUZXN0XCJcdFwiXCJcdFwiIFwiIiwKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoc3BhY2VzIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0NvbG9uJywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syNF0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJyAgVGVzdCAgJywgJyAgICAnLCAnVGVzdCAgJywgJyAgICBUZXN0JywgJycsICdUZXN0JywgJycsICcgJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciICBUZXN0ICAiOiIgICAgIjoiVGVzdCAgIjoiICAgIFRlc3QiOiIiOiJUZXN0IjoiIjoiICInLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChzcGFjZXMgY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnRG90JywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syNF0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJyAgVGVzdCAgJywgJyAgICAnLCAnVGVzdCAgJywgJyAgICBUZXN0JywgJycsICdUZXN0JywgJycsICcgJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciICBUZXN0ICAiLiIgICAgIi4iVGVzdCAgIi4iICAgIFRlc3QiLiIiLiJUZXN0Ii4iIi4iICInLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChzcGVjaWFsIGNoYXJhY3RlciBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzI1XSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWwogICAgICAgICAgICAgICAgICAgICdUZXN0OzpfXiEiJCUmLygpPT9gKitUZXN0JywKICAgICAgICAgICAgICAgICAgICAnPjxAflwnfXtbXVxcJywKICAgICAgICAgICAgICAgICAgICAnJywKICAgICAgICAgICAgICAgICAgICAnIiI7Ozo6Li4tLV9fIyMnCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4KICAgICAgICAgICAgJyJUZXN0OzpfXiEiIiQlJi8oKT0/YCorVGVzdCI7Ij48QH5cJ317W11cIjsiIjsiIiIiIjs7OjouLi0tX18jIyInCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwZWNpYWwgY2hhcmFjdGVyIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjVdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbCiAgICAgICAgICAgICAgICAgICAgJ1Rlc3Q7Ol9eISIkJSYvKCk9P2AqK1Rlc3QnLAogICAgICAgICAgICAgICAgICAgICc+PEB+XCd9e1tdXFwnLAogICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgICciIjs7OjouLi0tX18jIycKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PgogICAgICAgICAgICAnIlRlc3Q7Ol9eISIiJCUmLygpPT9gKitUZXN0IicKICAgICAgICAgICAgLiAiXHQiCiAgICAgICAgICAgIC4gJyI+PEB+XCd9e1tdXFwiJwogICAgICAgICAgICAuICJcdCIKICAgICAgICAgICAgLiAnIiInCiAgICAgICAgICAgIC4gIlx0IgogICAgICAgICAgICAuICciIiIiIjs7OjouLi0tX18jIyInLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChzcGVjaWFsIGNoYXJhY3RlciBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdDb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjVdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbCiAgICAgICAgICAgICAgICAgICAgJ1Rlc3Q7Ol9eISIkJSYvKCk9P2AqK1Rlc3QnLAogICAgICAgICAgICAgICAgICAgICc+PEB+XCd9e1tdXFwnLAogICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgICciIjs7OjouLi0tX18jIycKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PgogICAgICAgICAgICAnIlRlc3Q7Ol9eISIiJCUmLygpPT9gKitUZXN0IjoiPjxAflwnfXtbXVwiOiIiOiIiIiIiOzs6Oi4uLS1fXyMjIicsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKHNwZWNpYWwgY2hhcmFjdGVyIGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ0RvdCcsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjVdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbCiAgICAgICAgICAgICAgICAgICAgJ1Rlc3Q7Ol9eISIkJSYvKCk9P2AqK1Rlc3QnLAogICAgICAgICAgICAgICAgICAgICc+PEB+XCd9e1tdXFwnLAogICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgICciIjs7OjouLi0tX18jIycKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PgogICAgICAgICAgICAnIlRlc3Q7Ol9eISIiJCUmLygpPT9gKitUZXN0Ii4iPjxAflwnfXtbXVxcIi4iIi4iIiIiIjs7OjouLi0tX18jIyInLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChVVEYtOCBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdTZW1pY29sb24nLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgID0+ICdVVEYtOCcsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEV4cG9ydERhdGFTYXZlID0+IHsKICAgICAgICAgICAgICAgIFRlbXBsYXRlSUQgICAgPT4gJFRlbXBsYXRlSURzWzI2XSwKICAgICAgICAgICAgICAgIEV4cG9ydERhdGFSb3cgPT4gWyAnINGqINGsINGyJywgJ9GvING0ING/JywgJ9KCINKKINKWICcgXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlZmVyZW5jZURlc3RpbmF0aW9uQ29udGVudCA9PiAnIiDRqiDRrCDRsiI7ItGvING0ING/Ijsi0oIg0oog0pYgIicsCiAgICB9LAoKICAgICMgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgZ2l2ZW4gKFVURi04IGNoZWNrcykKICAgIHsKICAgICAgICBTb3VyY2VFeHBvcnREYXRhID0+IHsKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiB7CiAgICAgICAgICAgICAgICBDb2x1bW5TZXBhcmF0b3IgPT4gJ1RhYnVsYXRvcicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjZdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICcg0aog0awg0bInLCAn0a8g0bQg0b8nLCAn0oIg0oog0pYgJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICJcIiDRqiDRrCDRslwiXHRcItGvING0ING/XCJcdFwi0oIg0oog0pYgXCIiLAogICAgfSwKCiAgICAjIGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIGdpdmVuIChVVEYtOCBjaGVja3MpCiAgICB7CiAgICAgICAgU291cmNlRXhwb3J0RGF0YSA9PiB7CiAgICAgICAgICAgIEZvcm1hdERhdGEgPT4gewogICAgICAgICAgICAgICAgQ29sdW1uU2VwYXJhdG9yID0+ICdDb2xvbicsCiAgICAgICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgPT4gJ1VURi04JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRXhwb3J0RGF0YVNhdmUgPT4gewogICAgICAgICAgICAgICAgVGVtcGxhdGVJRCAgICA9PiAkVGVtcGxhdGVJRHNbMjZdLAogICAgICAgICAgICAgICAgRXhwb3J0RGF0YVJvdyA9PiBbICcg0aog0awg0bInLCAn0a8g0bQg0b8nLCAn0oIg0oog0pYgJyBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50ID0+ICciINGqINGsINGyIjoi0a8g0bQg0b8iOiLSgiDSiiDSliAiJywKICAgIH0sCgogICAgIyBhbGwgcmVxdWlyZWQgdmFsdWVzIGFyZSBnaXZlbiAoVVRGLTggY2hlY2tzKQogICAgewogICAgICAgIFNvdXJjZUV4cG9ydERhdGEgPT4gewogICAgICAgICAgICBGb3JtYXREYXRhID0+IHsKICAgICAgICAgICAgICAgIENvbHVtblNlcGFyYXRvciA9PiAnRG90JywKICAgICAgICAgICAgICAgIENoYXJzZXQgICAgICAgICA9PiAnVVRGLTgnLAogICAgICAgICAgICB9LAogICAgICAgICAgICBFeHBvcnREYXRhU2F2ZSA9PiB7CiAgICAgICAgICAgICAgICBUZW1wbGF0ZUlEICAgID0+ICRUZW1wbGF0ZUlEc1syNl0sCiAgICAgICAgICAgICAgICBFeHBvcnREYXRhUm93ID0+IFsgJyDRqiDRrCDRsicsICfRryDRtCDRvycsICfSgiDSiiDSliAnIF0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnQgPT4gJyIg0aog0awg0bIiLiLRryDRtCDRvyIuItKCINKKINKWICInLAogICAgfSwKXTsKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKIyBydW4gZ2VuZXJhbCBFeHBvcnREYXRhU2F2ZSB0ZXN0cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgpURVNUOgpmb3IgbXkgJFRlc3QgKCBAeyRFeHBvcnREYXRhVGVzdHN9ICkgewoKICAgICMgY2hlY2sgU291cmNlRXhwb3J0RGF0YSBhdHRyaWJ1dGUKICAgIGlmICggISRUZXN0LT57U291cmNlRXhwb3J0RGF0YX0gfHwgcmVmICRUZXN0LT57U291cmNlRXhwb3J0RGF0YX0gbmUgJ0hBU0gnICkgewoKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgMCwKICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogTm8gU291cmNlRXhwb3J0RGF0YSBmb3VuZCBmb3IgdGhpcyB0ZXN0LiIKICAgICAgICApOwoKICAgICAgICBuZXh0IFRFU1Q7CiAgICB9CgogICAgIyBzZXQgZGVmYXVsdCBFeHBvcnREYXRhU2F2ZQogICAgaWYgKCAhJFRlc3QtPntTb3VyY2VFeHBvcnREYXRhfS0+e0V4cG9ydERhdGFTYXZlfSApIHsKICAgICAgICAkVGVzdC0+e1NvdXJjZUV4cG9ydERhdGF9LT57RXhwb3J0RGF0YVNhdmV9ID0ge307CiAgICB9CgogICAgIyBzZXQgdGhlIGZvcm1hdCBkYXRhCiAgICBpZiAoCiAgICAgICAgJFRlc3QtPntTb3VyY2VFeHBvcnREYXRhfS0+e0Zvcm1hdERhdGF9CiAgICAgICAgJiYgcmVmICRUZXN0LT57U291cmNlRXhwb3J0RGF0YX0tPntGb3JtYXREYXRhfSBlcSAnSEFTSCcKICAgICAgICAmJiAkVGVzdC0+e1NvdXJjZUV4cG9ydERhdGF9LT57RXhwb3J0RGF0YVNhdmV9LT57VGVtcGxhdGVJRH0KICAgICAgICApCiAgICB7CgogICAgICAgICMgc2F2ZSBmb3JtYXQgZGF0YQogICAgICAgICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdERhdGFTYXZlKAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZXN0LT57U291cmNlRXhwb3J0RGF0YX0tPntFeHBvcnREYXRhU2F2ZX0tPntUZW1wbGF0ZUlEfSwKICAgICAgICAgICAgRm9ybWF0RGF0YSA9PiAkVGVzdC0+e1NvdXJjZUV4cG9ydERhdGF9LT57Rm9ybWF0RGF0YX0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IGV4cG9ydCBkYXRhIHJvdwogICAgbXkgJEV4cG9ydFN0cmluZyA9ICRGb3JtYXRCYWNrZW5kT2JqZWN0LT5FeHBvcnREYXRhU2F2ZSgKICAgICAgICAleyAkVGVzdC0+e1NvdXJjZUV4cG9ydERhdGF9LT57RXhwb3J0RGF0YVNhdmV9IH0sCiAgICApOwoKICAgIGlmICggIWRlZmluZWQgJFRlc3QtPntSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnR9ICkgewoKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgIWRlZmluZWQgJEV4cG9ydFN0cmluZywKICAgICAgICAgICAgIlRlc3QgJFRlc3RDb3VudDogRXhwb3J0RGF0YVNhdmUoKSAtIHJldHVybiBmYWxzZSIKICAgICAgICApOwoKICAgICAgICBuZXh0IFRFU1Q7CiAgICB9CgogICAgaWYgKCAhZGVmaW5lZCAkRXhwb3J0U3RyaW5nICkgewoKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgIWRlZmluZWQgJFRlc3QtPntSZWZlcmVuY2VEZXN0aW5hdGlvbkNvbnRlbnR9LAogICAgICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBFeHBvcnREYXRhU2F2ZSgpIC0gcmV0dXJuIGZhbHNlIgogICAgICAgICk7CgogICAgICAgIG5leHQgVEVTVDsKICAgIH0KCiAgICBpZiAoICEkVGVzdC0+e1NvdXJjZUV4cG9ydERhdGF9LT57RXhwb3J0RGF0YVNhdmV9LT57RXhwb3J0RGF0YVJvd30gKSB7CgogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICBkZWZpbmVkICRFeHBvcnRTdHJpbmcsCiAgICAgICAgICAgICJUZXN0ICRUZXN0Q291bnQ6IEV4cG9ydERhdGFTYXZlKCkgLSByZXR1cm4gZmFsc2UiCiAgICAgICAgKTsKCiAgICAgICAgbmV4dCBURVNUOwogICAgfQoKICAgICMgY2hlY2sgdGhlIGV4cG9ydCBzdHJpbmcKICAgICRTZWxmLT5JcygKICAgICAgICAkRXhwb3J0U3RyaW5nLAogICAgICAgICRUZXN0LT57UmVmZXJlbmNlRGVzdGluYXRpb25Db250ZW50fSwKICAgICAgICAiVGVzdCAkVGVzdENvdW50OiBFeHBvcnREYXRhU2F2ZSgpIiwKICAgICk7Cn0KY29udGludWUgewogICAgJFRlc3RDb3VudCsrOwp9CgojIGNsZWFudXAgaXMgZG9uZSBieSBSZXN0b3JlRGF0YWJhc2UuCgoxOwo=</File>
        <File Permission="660" Location="scripts/test/Console/Command/Admin/ITSM/ImportExport/Import.t" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKIyMgbm8gY3JpdGljIChNb2R1bGVzOjpSZXF1aXJlRXhwbGljaXRQYWNrYWdlKQp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKdXNlIHZhcnMgKHF3KCRTZWxmKSk7CnVzZSBGaWxlOjpQYXRoIHF3KHJtdHJlZSk7CgojIGdldCBuZWVkZWQgb2JqZWN0cwpteSAkQ29tbWFuZE9iamVjdCAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNvbnNvbGU6OkNvbW1hbmQ6OkFkbWluOjpJVFNNOjpJbXBvcnRFeHBvcnQ6OkltcG9ydCcpOwpteSAkSW1wb3J0RXhwb3J0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkltcG9ydEV4cG9ydCcpOwoKIyBnZXQgaGVscGVyIG9iamVjdAokS2VybmVsOjpPTS0+T2JqZWN0UGFyYW1BZGQoCiAgICAnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInID0+IHsKICAgICAgICBSZXN0b3JlRGF0YWJhc2UgPT4gMSwKICAgIH0sCik7Cm15ICRIZWxwZXIgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicpOwoKIyB0ZXN0IGNvbW1hbmQgd2l0aG91dCAtLXRlbXBsYXRlLW51bWJlciBvcHRpb24KbXkgJEV4aXRDb2RlID0gJENvbW1hbmRPYmplY3QtPkV4ZWN1dGUoKTsKCiRTZWxmLT5JcygKICAgICRFeGl0Q29kZSwKICAgIDEsCiAgICAiTm8gLS10ZW1wbGF0ZS1udW1iZXIgIC0gZXhpdCBjb2RlIiwKKTsKCiMgYWRkIHRlc3QgdGVtcGxhdGUKbXkgJFRlbXBsYXRlSUQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUFkZCgKICAgIE9iamVjdCAgPT4gJ0lUU01Db25maWdJdGVtJywKICAgIEZvcm1hdCAgPT4gJ0NTVicsCiAgICBOYW1lICAgID0+ICdUZW1wbGF0ZScgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpLAogICAgVmFsaWRJRCA9PiAxLAogICAgQ29tbWVudCA9PiAnQ29tbWVudCcsCiAgICBVc2VySUQgID0+IDEsCik7CgokU2VsZi0+VHJ1ZSgKICAgICRUZW1wbGF0ZUlELAogICAgIkltcG9ydC9FeHBvcnQgdGVtcGxhdGUgaXMgY3JlYXRlZCAtICRUZW1wbGF0ZUlEIiwKKTsKCiMgZ2V0ICdIYXJkd2FyZScgY2F0YWxvZyBjbGFzcyBJRApteSAkQ29uZmlnSXRlbURhdGFSZWYgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2cnKS0+SXRlbUdldCgKICAgIENsYXNzID0+ICdJVFNNOjpDb25maWdJdGVtOjpDbGFzcycsCiAgICBOYW1lICA9PiAnSGFyZHdhcmUnLAopOwpteSAkSGFyZHdhcmVDb25maWdJdGVtSUQgPSAkQ29uZmlnSXRlbURhdGFSZWYtPntJdGVtSUR9OwoKIyBnZXQgb2JqZWN0IGRhdGEgZm9yIHRlc3QgdGVtcGxhdGUKbXkgJVRlbXBsYXRlUmVmID0gKAogICAgJ0NsYXNzSUQnICA9PiAkSGFyZHdhcmVDb25maWdJdGVtSUQsCiAgICAnQ291bnRNYXgnID0+IDEwLAopOwpteSAkU3VjY2VzcyA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk9iamVjdERhdGFTYXZlKAogICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgIE9iamVjdERhdGEgPT4gXCVUZW1wbGF0ZVJlZiwKICAgIFVzZXJJRCAgICAgPT4gMSwKKTsKCiRTZWxmLT5UcnVlKAogICAgJFN1Y2Nlc3MsCiAgICAiT2JqZWN0RGF0YSBmb3IgdGVzdCB0ZW1wbGF0ZSBpcyBhZGRlZCIsCik7CgojIGFkZCB0aGUgZm9ybWF0IGRhdGEgb2YgdGhlIHRlc3QgdGVtcGxhdGUKbXkgJUZvcm1hdERhdGEgPSAoCiAgICBDaGFyc2V0ICAgICAgICAgICAgICA9PiAnVVRGLTgnLAogICAgQ29sdW1uU2VwYXJhdG9yICAgICAgPT4gJ0NvbW1hJywKICAgIEluY2x1ZGVDb2x1bW5IZWFkZXJzID0+IDEsCik7CiRTdWNjZXNzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+Rm9ybWF0RGF0YVNhdmUoCiAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgRm9ybWF0RGF0YSA9PiBcJUZvcm1hdERhdGEsCiAgICBVc2VySUQgICAgID0+IDEsCik7CgokU2VsZi0+VHJ1ZSgKICAgICRTdWNjZXNzLAogICAgIkZvcm1hdERhdGEgZm9yIHRlc3QgdGVtcGxhdGUgaXMgYWRkZWQiLAopOwoKIyBzYXZlIHRoZSBzZWFyY2ggZGF0YSBvZiBhIHRlbXBsYXRlCm15ICVTZWFyY2hEYXRhID0gKAogICAgTmFtZSA9PiAnVGVzdENvbmZpZ0l0ZW0qJywKKTsKJFN1Y2Nlc3MgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5TZWFyY2hEYXRhU2F2ZSgKICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICBTZWFyY2hEYXRhID0+IFwlU2VhcmNoRGF0YSwKICAgIFVzZXJJRCAgICAgPT4gMSwKKTsKCiMgYWRkIG1hcHBpbmcgZGF0YSBmb3IgdGVzdCB0ZW1wbGF0ZQpmb3IgbXkgJE9iamVjdERhdGFWYWx1ZSAocXcoIE5hbWUgRGVwbFN0YXRlIEluY2lTdGF0ZSApKSB7CgogICAgbXkgJE1hcHBpbmdJRCA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdBZGQoCiAgICAgICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICApOwoKICAgIG15ICVNYXBwaW5nT2JqZWN0RGF0YSA9ICggS2V5ID0+ICRPYmplY3REYXRhVmFsdWUgKTsKICAgIG15ICRTdWNjZXNzICAgICAgICAgICA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPk1hcHBpbmdPYmplY3REYXRhU2F2ZSgKICAgICAgICBNYXBwaW5nSUQgICAgICAgICA9PiAkTWFwcGluZ0lELAogICAgICAgIE1hcHBpbmdPYmplY3REYXRhID0+IFwlTWFwcGluZ09iamVjdERhdGEsCiAgICAgICAgVXNlcklEICAgICAgICAgICAgPT4gMSwKICAgICk7CgogICAgJFNlbGYtPlRydWUoCiAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgIk9iamVjdERhdGEgZm9yIHRlc3QgdGVtcGxhdGUgaXMgbWFwcGVkIC0gJE9iamVjdERhdGFWYWx1ZSIsCiAgICApOwp9CgojIG1ha2UgZGlyZWN0b3J5IGZvciBleHBvcnQgZmlsZQpteSAkU291cmNlUGF0aAogICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0hvbWUnKSAuICIvc2NyaXB0cy90ZXN0L3NhbXBsZS9JbXBvcnRFeHBvcnQvVGVtcGxhdGVFeHBvcnQuY3N2IjsKCiMgdGVzdCBjb21tYW5kIHdpdGggd3JvbmcgdGVtcGxhdGUgbnVtYmVyCiRFeGl0Q29kZSA9ICRDb21tYW5kT2JqZWN0LT5FeGVjdXRlKCAnLS10ZW1wbGF0ZS1udW1iZXInLCAkSGVscGVyLT5HZXRSYW5kb21JRCgpLCAkU291cmNlUGF0aCAuICdUZW1wbGF0ZUV4cG9ydC5jc3YnICk7CgokU2VsZi0+SXMoCiAgICAkRXhpdENvZGUsCiAgICAxLAogICAgIkNvbW1hbmQgd2l0aCB3cm9uZyB0ZW1wbGF0ZSBudW1iZXIgLSBleGl0IGNvZGUiLAopOwoKIyB0ZXN0IGNvbW1hbmQgd2l0aG91dCBTb3VyY2UgYXJndW1lbnQKJEV4aXRDb2RlID0gJENvbW1hbmRPYmplY3QtPkV4ZWN1dGUoICctLXRlbXBsYXRlLW51bWJlcicsICRUZW1wbGF0ZUlEICk7CgokU2VsZi0+SXMoCiAgICAkRXhpdENvZGUsCiAgICAxLAogICAgIk5vIFNvdXJjZSBhcmd1bWVudCAtIGV4aXQgY29kZSIsCik7CgojIHRlc3QgY29tbWFuZCB3aXRoIC0tdGVtcGxhdGUtbnVtYmVyIG9wdGlvbiBhbmQgU291cmNlIGFyZ3VtZW50CiRFeGl0Q29kZSA9ICRDb21tYW5kT2JqZWN0LT5FeGVjdXRlKCAnLS10ZW1wbGF0ZS1udW1iZXInLCAkVGVtcGxhdGVJRCwgJFNvdXJjZVBhdGggKTsKCiRTZWxmLT5JcygKICAgICRFeGl0Q29kZSwKICAgIDAsCiAgICAiT3B0aW9uIC0gLS10ZW1wbGF0ZS1udW1iZXIgb3B0aW9uIGFuZCBTb3VyY2UgYXJndW1lbnQiLAopOwoKIyBnZXQgY29uZmlnIGl0ZW0gSURzCm15ICRDb25maWdJdGVtSURzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OklUU01Db25maWdJdGVtJyktPkNvbmZpZ0l0ZW1TZWFyY2hFeHRlbmRlZCgKICAgIE5hbWUgPT4gJ1Rlc3RDb25maWdJdGVtKicKKTsKbXkgJE51bUNvbmZpZ0l0ZW1JbXBvcnRlZCA9IHNjYWxhciBAeyRDb25maWdJdGVtSURzfTsKCiMgY2hlY2sgaWYgdGhlIGNvbmZpZyBpdGVtcyBhcmUgaW1wb3J0ZWQKJFNlbGYtPlRydWUoCiAgICAkTnVtQ29uZmlnSXRlbUltcG9ydGVkLAogICAgIlRoZXJlIGFyZSAkTnVtQ29uZmlnSXRlbUltcG9ydGVkIGltcG9ydGVkIGNvbmZpZyBpdGVtcyIsCik7CgojIGNsZWFudXAgaXMgZG9uZSBieSBSZXN0b3JlRGF0YWJhc2UuCgoxOwo=</File>
        <File Permission="660" Location="scripts/test/Console/Command/Admin/ITSM/ImportExport/Export.t" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKIyMgbm8gY3JpdGljIChNb2R1bGVzOjpSZXF1aXJlRXhwbGljaXRQYWNrYWdlKQp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4OwoKdXNlIHZhcnMgKHF3KCRTZWxmKSk7CnVzZSBGaWxlOjpQYXRoIHF3KG1rcGF0aCBybXRyZWUpOwoKIyBnZXQgbmVlZGVkIG9iamVjdHMKbXkgJENvbW1hbmRPYmplY3QgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNvbnNvbGU6OkNvbW1hbmQ6OkFkbWluOjpJVFNNOjpJbXBvcnRFeHBvcnQ6OkV4cG9ydCcpOwpteSAkR2VuZXJhbENhdGFsb2dPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R2VuZXJhbENhdGFsb2cnKTsKbXkgJENvbmZpZ0l0ZW1PYmplY3QgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OklUU01Db25maWdJdGVtJyk7CgojIGdldCBoZWxwZXIgb2JqZWN0CiRLZXJuZWw6Ok9NLT5PYmplY3RQYXJhbUFkZCgKICAgICdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicgPT4gewogICAgICAgIFJlc3RvcmVEYXRhYmFzZSA9PiAxLAogICAgfSwKKTsKbXkgJEhlbHBlciA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CgojIHRlc3QgY29tbWFuZCB3aXRob3V0IC0tdGVtcGxhdGUtbnVtYmVyIG9wdGlvbgpteSAkRXhpdENvZGUgPSAkQ29tbWFuZE9iamVjdC0+RXhlY3V0ZSgpOwoKJFNlbGYtPklzKAogICAgJEV4aXRDb2RlLAogICAgMSwKICAgICJObyAtLXRlbXBsYXRlLW51bWJlciAgLSBleGl0IGNvZGUiLAopOwoKIyBnZXQgJ0hhcmR3YXJlJyBjYXRhbG9nIGNsYXNzIElECm15ICRDb25maWdJdGVtRGF0YVJlZiA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCgKICAgIENsYXNzID0+ICdJVFNNOjpDb25maWdJdGVtOjpDbGFzcycsCiAgICBOYW1lICA9PiAnSGFyZHdhcmUnLAopOwpteSAkSGFyZHdhcmVDb25maWdJdGVtSUQgPSAkQ29uZmlnSXRlbURhdGFSZWYtPntJdGVtSUR9OwoKIyBnZXQgJ1Byb2R1Y3Rpb24nIGRlcGxveW1lbnQgc3RhdGUgSURzCm15ICRQcm9kdWN0aW9uRGVwbFN0YXRlRGF0YVJlZiA9ICRHZW5lcmFsQ2F0YWxvZ09iamVjdC0+SXRlbUdldCgKICAgIENsYXNzID0+ICdJVFNNOjpDb25maWdJdGVtOjpEZXBsb3ltZW50U3RhdGUnLAogICAgTmFtZSAgPT4gJ1Byb2R1Y3Rpb24nLAopOwpteSAkUHJvZHVjdGlvbkRlcGxTdGF0ZUlEID0gJFByb2R1Y3Rpb25EZXBsU3RhdGVEYXRhUmVmLT57SXRlbUlEfTsKCm15IEBDb25maWdJdGVtSURzOwoKIyBhZGQgdGVzdCBjb25maWcgaXRlbXMKZm9yICggMSAuLiAxMCApIHsKCiAgICAjIGNyZWF0ZSBDb25maWdJdGVtIG51bWJlcgogICAgbXkgJENvbmZpZ0l0ZW1OdW1iZXIgPSAkQ29uZmlnSXRlbU9iamVjdC0+Q29uZmlnSXRlbU51bWJlckNyZWF0ZSgKICAgICAgICBUeXBlICAgID0+ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnSVRTTUNvbmZpZ0l0ZW06Ok51bWJlckdlbmVyYXRvcicpLAogICAgICAgIENsYXNzSUQgPT4gJEhhcmR3YXJlQ29uZmlnSXRlbUlELAogICAgKTsKCiAgICAjIGFkZCB0ZXN0IENvbmZpZ0l0ZW0KICAgIG15ICRDb25maWdJdGVtSUQgPSAkQ29uZmlnSXRlbU9iamVjdC0+Q29uZmlnSXRlbUFkZCgKICAgICAgICBOdW1iZXIgID0+ICRDb25maWdJdGVtTnVtYmVyLAogICAgICAgIENsYXNzSUQgPT4gJEhhcmR3YXJlQ29uZmlnSXRlbUlELAogICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICk7CgogICAgJFNlbGYtPlRydWUoCiAgICAgICAgJENvbmZpZ0l0ZW1JRCwKICAgICAgICAiQ29uZmlnIGl0ZW0gaXMgY3JlYXRlZCAtICRDb25maWdJdGVtSUQiLAogICAgKTsKCiAgICBteSAkQ29uZmlnSXRlbU5hbWUgPSAnVGVzdENvbmZpZ0l0ZW0nIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKTsKICAgIG15ICRWZXJzaW9uSUQgICAgICA9ICRDb25maWdJdGVtT2JqZWN0LT5WZXJzaW9uQWRkKAogICAgICAgIE5hbWUgICAgICAgICA9PiAkQ29uZmlnSXRlbU5hbWUsCiAgICAgICAgRGVmaW5pdGlvbklEID0+IDEsCiAgICAgICAgRGVwbFN0YXRlSUQgID0+ICRQcm9kdWN0aW9uRGVwbFN0YXRlSUQsCiAgICAgICAgSW5jaVN0YXRlSUQgID0+IDEsCiAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgQ29uZmlnSXRlbUlEID0+ICRDb25maWdJdGVtSUQsCiAgICApOwoKICAgICRTZWxmLT5UcnVlKAogICAgICAgICRWZXJzaW9uSUQsCiAgICAgICAgIlZlcnNpb24gZm9yIGNvbmZpZyBpdGVtICRDb25maWdJdGVtSUQgaXMgY3JlYXRlZCAtICRDb25maWdJdGVtTmFtZSIsCiAgICApOwoKICAgIHB1c2ggQENvbmZpZ0l0ZW1JRHMsICRDb25maWdJdGVtSUQ7Cn0KCiMgZ2V0IEltcG9ydEV4cG9ydCBvYmplY3QKbXkgJEltcG9ydEV4cG9ydE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQnKTsKCiMgYWRkIHRlc3QgdGVtcGxhdGUKbXkgJFRlbXBsYXRlSUQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5UZW1wbGF0ZUFkZCgKICAgIE9iamVjdCAgPT4gJ0lUU01Db25maWdJdGVtJywKICAgIEZvcm1hdCAgPT4gJ0NTVicsCiAgICBOYW1lICAgID0+ICdUZW1wbGF0ZScgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpLAogICAgVmFsaWRJRCA9PiAxLAogICAgQ29tbWVudCA9PiAnQ29tbWVudCcsCiAgICBVc2VySUQgID0+IDEsCik7CgokU2VsZi0+VHJ1ZSgKICAgICRUZW1wbGF0ZUlELAogICAgIkltcG9ydC9FeHBvcnQgdGVtcGxhdGUgaXMgY3JlYXRlZCAtICRUZW1wbGF0ZUlEIiwKKTsKCiMgZ2V0IG9iamVjdCBkYXRhIGZvciB0ZXN0IHRlbXBsYXRlCm15ICVUZW1wbGF0ZVJlZiA9ICgKICAgICdDbGFzc0lEJyAgPT4gJEhhcmR3YXJlQ29uZmlnSXRlbUlELAogICAgJ0NvdW50TWF4JyA9PiAxMCwKKTsKbXkgJFN1Y2Nlc3MgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5PYmplY3REYXRhU2F2ZSgKICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICBPYmplY3REYXRhID0+IFwlVGVtcGxhdGVSZWYsCiAgICBVc2VySUQgICAgID0+IDEsCik7CgokU2VsZi0+VHJ1ZSgKICAgICRTdWNjZXNzLAogICAgIk9iamVjdERhdGEgZm9yIHRlc3QgdGVtcGxhdGUgaXMgYWRkZWQiLAopOwoKIyBhZGQgdGhlIGZvcm1hdCBkYXRhIG9mIHRoZSB0ZXN0IHRlbXBsYXRlCm15ICVGb3JtYXREYXRhID0gKAogICAgQ2hhcnNldCAgICAgICAgICAgICAgPT4gJ1VURi04JywKICAgIENvbHVtblNlcGFyYXRvciAgICAgID0+ICdDb21tYScsCiAgICBJbmNsdWRlQ29sdW1uSGVhZGVycyA9PiAxLAopOwokU3VjY2VzcyA9ICRJbXBvcnRFeHBvcnRPYmplY3QtPkZvcm1hdERhdGFTYXZlKAogICAgVGVtcGxhdGVJRCA9PiAkVGVtcGxhdGVJRCwKICAgIEZvcm1hdERhdGEgPT4gXCVGb3JtYXREYXRhLAogICAgVXNlcklEICAgICA9PiAxLAopOwoKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJGb3JtYXREYXRhIGZvciB0ZXN0IHRlbXBsYXRlIGlzIGFkZGVkIiwKKTsKCiMgc2F2ZSB0aGUgc2VhcmNoIGRhdGEgb2YgYSB0ZW1wbGF0ZQpteSAlU2VhcmNoRGF0YSA9ICgKICAgIE5hbWUgPT4gJ1Rlc3RDb25maWdJdGVtKicsCik7CiRTdWNjZXNzID0gJEltcG9ydEV4cG9ydE9iamVjdC0+U2VhcmNoRGF0YVNhdmUoCiAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgU2VhcmNoRGF0YSA9PiBcJVNlYXJjaERhdGEsCiAgICBVc2VySUQgICAgID0+IDEsCik7CgojIGFkZCBtYXBwaW5nIGRhdGEgZm9yIHRlc3QgdGVtcGxhdGUKZm9yIG15ICRPYmplY3REYXRhVmFsdWUgKHF3KCBOYW1lIERlcGxTdGF0ZSBJbmNpU3RhdGUgKSkgewoKICAgIG15ICRNYXBwaW5nSUQgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nQWRkKAogICAgICAgIFRlbXBsYXRlSUQgPT4gJFRlbXBsYXRlSUQsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgKTsKCiAgICBteSAlTWFwcGluZ09iamVjdERhdGEgPSAoIEtleSA9PiAkT2JqZWN0RGF0YVZhbHVlICk7CiAgICBteSAkU3VjY2VzcyAgICAgICAgICAgPSAkSW1wb3J0RXhwb3J0T2JqZWN0LT5NYXBwaW5nT2JqZWN0RGF0YVNhdmUoCiAgICAgICAgTWFwcGluZ0lEICAgICAgICAgPT4gJE1hcHBpbmdJRCwKICAgICAgICBNYXBwaW5nT2JqZWN0RGF0YSA9PiBcJU1hcHBpbmdPYmplY3REYXRhLAogICAgICAgIFVzZXJJRCAgICAgICAgICAgID0+IDEsCiAgICApOwoKICAgICRTZWxmLT5UcnVlKAogICAgICAgICRTdWNjZXNzLAogICAgICAgICJPYmplY3REYXRhIGZvciB0ZXN0IHRlbXBsYXRlIGlzIG1hcHBlZCAtICRPYmplY3REYXRhVmFsdWUiLAogICAgKTsKfQoKIyBtYWtlIGRpcmVjdG9yeSBmb3IgZXhwb3J0IGZpbGUKbXkgJERlc3RpbmF0aW9uUGF0aCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnSG9tZScpIC4gIi92YXIvdG1wL0ltcG9ydEV4cG9ydC8iOwpta3BhdGgoIFskRGVzdGluYXRpb25QYXRoXSwgMCwgMDc3MCApOyAgICAjIyBubyBjcml0aWMKCiMgdGVzdCBjb21tYW5kIHdpdGggd3JvbmcgdGVtcGxhdGUgbnVtYmVyCiRFeGl0Q29kZSA9ICRDb21tYW5kT2JqZWN0LT5FeGVjdXRlKAogICAgJy0tdGVtcGxhdGUtbnVtYmVyJywKICAgICRIZWxwZXItPkdldFJhbmRvbU51bWJlcigpLAogICAgJERlc3RpbmF0aW9uUGF0aCAuICdUZW1wbGF0ZUV4cG9ydC5jc3YnCik7CgokU2VsZi0+SXMoCiAgICAkRXhpdENvZGUsCiAgICAxLAogICAgIkNvbW1hbmQgd2l0aCB3cm9uZyB0ZW1wbGF0ZSBudW1iZXIgLSBleGl0IGNvZGUiLAopOwoKIyB0ZXN0IGNvbW1hbmQgd2l0aG91dCBkZXN0aW5hdGlvbiBhcmd1bWVudAokRXhpdENvZGUgPSAkQ29tbWFuZE9iamVjdC0+RXhlY3V0ZSggJy0tdGVtcGxhdGUtbnVtYmVyJywgJFRlbXBsYXRlSUQgKTsKCiRTZWxmLT5JcygKICAgICRFeGl0Q29kZSwKICAgIDEsCiAgICAiTm8gZGVzdGluYXRpb24gYXJndW1lbnQgLSBleGl0IGNvZGUiLAopOwoKIyB0ZXN0IGNvbW1hbmQgd2l0aCAtLXRlbXBsYXRlLW51bWJlciBvcHRpb24gYW5kIGRlc3RpbmF0aW9uIGFyZ3VtZW50CiRFeGl0Q29kZSA9ICRDb21tYW5kT2JqZWN0LT5FeGVjdXRlKCAnLS10ZW1wbGF0ZS1udW1iZXInLCAkVGVtcGxhdGVJRCwgJERlc3RpbmF0aW9uUGF0aCAuICdUZW1wbGF0ZUV4cG9ydC5jc3YnICk7CgokU2VsZi0+SXMoCiAgICAkRXhpdENvZGUsCiAgICAwLAogICAgIk9wdGlvbiAtIC0tdGVtcGxhdGUtbnVtYmVyIG9wdGlvbiBhbmQgZGVzdGluYXRpb24gYXJndW1lbnQiLAopOwoKIyByZW1vdmUgdGVzdCBkZXN0aW5hdGlvbiBwYXRoCiRTdWNjZXNzID0gcm10cmVlKCBbJERlc3RpbmF0aW9uUGF0aF0gKTsKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJUZXN0IGRpcmVjdG9yeSBkZWxldGVkIC0gJERlc3RpbmF0aW9uUGF0aCIsCik7CgojIGNsZWFudXAgaXMgZG9uZSBieSBSZXN0b3JlRGF0YWJhc2UuCgoxOwo=</File>
        <File Permission="660" Location="scripts/test/Selenium/Agent/Admin/AdminImportExport.t" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgdXRmODsKdXNlIHZhcnMgKHF3KCRTZWxmKSk7CnVzZSBGaWxlOjpQYXRoIHF3KCBtYWtlX3BhdGggKTsKCm15ICRTZWxlbml1bSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6U2VsZW5pdW0nKTsKCiRTZWxlbml1bS0+UnVuVGVzdCgKICAgIHN1YiB7CgogICAgICAgIG15ICRIZWxwZXIgICAgICAgICAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVbml0VGVzdDo6SGVscGVyJyk7CiAgICAgICAgbXkgJEdlbmVyYWxDYXRhbG9nT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkdlbmVyYWxDYXRhbG9nJyk7CgogICAgICAgICMgR2V0ICdMb2NhdGlvbicgY2F0YWxvZyBjbGFzcyBJRHMuCiAgICAgICAgbXkgJENvbmZpZ0l0ZW1EYXRhUmVmID0gJEdlbmVyYWxDYXRhbG9nT2JqZWN0LT5JdGVtR2V0KAogICAgICAgICAgICBDbGFzcyA9PiAnSVRTTTo6Q29uZmlnSXRlbTo6Q2xhc3MnLAogICAgICAgICAgICBOYW1lICA9PiAnTG9jYXRpb24nLAogICAgICAgICk7CiAgICAgICAgbXkgJExvY2F0aW9uQ29uZmlnSXRlbUlEID0gJENvbmZpZ0l0ZW1EYXRhUmVmLT57SXRlbUlEfTsKCiAgICAgICAgIyBHZXQgJ1Byb2R1Y3Rpb24nIGRlcGxveW1lbnQgc3RhdGUgSUQuCiAgICAgICAgbXkgJERlcGxTdGF0ZURhdGFSZWYgPSAkR2VuZXJhbENhdGFsb2dPYmplY3QtPkl0ZW1HZXQoCiAgICAgICAgICAgIENsYXNzID0+ICdJVFNNOjpDb25maWdJdGVtOjpEZXBsb3ltZW50U3RhdGUnLAogICAgICAgICAgICBOYW1lICA9PiAnUHJvZHVjdGlvbicsCiAgICAgICAgKTsKICAgICAgICBteSAkUHJvZHVjdGlvbkRlcGxTdGF0ZUlEID0gJERlcGxTdGF0ZURhdGFSZWYtPntJdGVtSUR9OwoKICAgICAgICBteSAkQ29uZmlnSXRlbU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpJVFNNQ29uZmlnSXRlbScpOwogICAgICAgIG15ICRDb25maWdPYmplY3QgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKCiAgICAgICAgIyBDcmVhdGUgQ29uZmlnSXRlbSBudW1iZXIuCiAgICAgICAgbXkgJENvbmZpZ0l0ZW1OdW1iZXIgPSAkQ29uZmlnSXRlbU9iamVjdC0+Q29uZmlnSXRlbU51bWJlckNyZWF0ZSgKICAgICAgICAgICAgVHlwZSAgICA9PiAkQ29uZmlnT2JqZWN0LT5HZXQoJ0lUU01Db25maWdJdGVtOjpOdW1iZXJHZW5lcmF0b3InKSwKICAgICAgICAgICAgQ2xhc3NJRCA9PiAkTG9jYXRpb25Db25maWdJdGVtSUQsCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRDb25maWdJdGVtTnVtYmVyLAogICAgICAgICAgICAiQ29uZmlnSXRlbSBudW1iZXIgaXMgY3JlYXRlZCAtICRDb25maWdJdGVtTnVtYmVyIiwKICAgICAgICApOwoKICAgICAgICAjIEFkZCAnTG9jYXRpb24nIHRlc3QgQ29uZmlnSXRlbS4KICAgICAgICBteSAkQ29uZmlnSXRlbUlEID0gJENvbmZpZ0l0ZW1PYmplY3QtPkNvbmZpZ0l0ZW1BZGQoCiAgICAgICAgICAgIE51bWJlciAgPT4gJENvbmZpZ0l0ZW1OdW1iZXIsCiAgICAgICAgICAgIENsYXNzSUQgPT4gJExvY2F0aW9uQ29uZmlnSXRlbUlELAogICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgJFNlbGYtPlRydWUoCiAgICAgICAgICAgICRDb25maWdJdGVtSUQsCiAgICAgICAgICAgICJDb25maWdJdGVtICdMb2NhdGlvbicgaXMgY3JlYXRlZCAtIElEICRDb25maWdJdGVtSUQiLAogICAgICAgICk7CgogICAgICAgICMgQWRkIGEgbmV3IHZlcnNpb24uCiAgICAgICAgbXkgJFZlcnNpb25OYW1lID0gIlNlbGVuaXVtIiAuICRIZWxwZXItPkdldFJhbmRvbUlEKCk7CiAgICAgICAgbXkgJFZlcnNpb25JRCAgID0gJENvbmZpZ0l0ZW1PYmplY3QtPlZlcnNpb25BZGQoCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAkVmVyc2lvbk5hbWUsCiAgICAgICAgICAgIERlZmluaXRpb25JRCA9PiAxLAogICAgICAgICAgICBEZXBsU3RhdGVJRCAgPT4gJFByb2R1Y3Rpb25EZXBsU3RhdGVJRCwKICAgICAgICAgICAgSW5jaVN0YXRlSUQgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICBDb25maWdJdGVtSUQgPT4gJENvbmZpZ0l0ZW1JRCwKICAgICAgICApOwoKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFZlcnNpb25JRCwKICAgICAgICAgICAgIlRlc3QgdmVyc2lvbiBvZiB0aGUgQ29uZmlnSXRlbSBpcyBjcmVhdGVkIC0gSUQgJFZlcnNpb25JRCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBDcmVhdGUgdGVzdCB1c2VyIGFuZCBsb2dpbi4KICAgICAgICBteSAkVGVzdFVzZXJMb2dpbiA9ICRIZWxwZXItPlRlc3RVc2VyQ3JlYXRlKAogICAgICAgICAgICBHcm91cHMgPT4gWyAnYWRtaW4nLCAnaXRzbS1jb25maWdpdGVtJyBdLAogICAgICAgICkgfHwgZGllICJEaWQgbm90IGdldCB0ZXN0IHVzZXIiOwoKICAgICAgICAkU2VsZW5pdW0tPkxvZ2luKAogICAgICAgICAgICBUeXBlICAgICA9PiAnQWdlbnQnLAogICAgICAgICAgICBVc2VyICAgICA9PiAkVGVzdFVzZXJMb2dpbiwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJFRlc3RVc2VyTG9naW4sCiAgICAgICAgKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBBZG1pbkltcG9ydEV4cG9ydCBzY3JlZW4uCiAgICAgICAgbXkgJFNjcmlwdEFsaWFzID0gJENvbmZpZ09iamVjdC0+R2V0KCdTY3JpcHRBbGlhcycpOwogICAgICAgICRTZWxlbml1bS0+VmVyaWZpZWRHZXQoIiR7U2NyaXB0QWxpYXN9aW5kZXgucGw/QWN0aW9uPUFkbWluSW1wb3J0RXhwb3J0Iik7CgogICAgICAgICMgQ2hlY2sgc2NyZWVuLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAidGFibGUiLCAgICAgICAgICAgICAnY3NzJyApOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAidGFibGUgdGhlYWQgdHIgdGgiLCAnY3NzJyApOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAidGFibGUgdGJvZHkgdHIgdGQiLCAnY3NzJyApOwoKICAgICAgICAjIENsaWNrIG9uICdBZGQgdGVtcGxhdGUnLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCIvL2FbY29udGFpbnMoXEBocmVmLCBcJ0FjdGlvbj1BZG1pbkltcG9ydEV4cG9ydDtTdWJhY3Rpb249VGVtcGxhdGVFZGl0JyApXSIpCiAgICAgICAgICAgIC0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGFuZCBpbnB1dCBzdGVwIDEgb2YgNSBzY3JlZW4uCiAgICAgICAgZm9yIG15ICRTdGVwT25lSUQgKAogICAgICAgICAgICBxdyhOYW1lIE9iamVjdCBGb3JtYXQgVmFsaWRJRCBDb21tZW50KQogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICBteSAkRWxlbWVudCA9ICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiIyRTdGVwT25lSUQiLCAnY3NzJyApOwogICAgICAgICAgICAkRWxlbWVudC0+aXNfZW5hYmxlZCgpOwogICAgICAgICAgICAkRWxlbWVudC0+aXNfZGlzcGxheWVkKCk7CiAgICAgICAgfQogICAgICAgIG15ICRJbXBvcnRFeHBvcnROYW1lID0gIkltcG9ydEV4cG9ydCIgLiAkSGVscGVyLT5HZXRSYW5kb21JRCgpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI05hbWUiLCAnY3NzJyApLT5zZW5kX2tleXMoJEltcG9ydEV4cG9ydE5hbWUpOwogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoCiAgICAgICAgICAgICJcJCgnI09iamVjdCcpLnZhbCgnSVRTTUNvbmZpZ0l0ZW0nKS50cmlnZ2VyKCdyZWRyYXcuSW5wdXRGaWVsZCcpLnRyaWdnZXIoJ2NoYW5nZScpOyIKICAgICAgICApOwogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoIlwkKCcjRm9ybWF0JykudmFsKCdDU1YnKS50cmlnZ2VyKCdyZWRyYXcuSW5wdXRGaWVsZCcpLnRyaWdnZXIoJ2NoYW5nZScpOyIpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI0NvbW1lbnQiLCAnY3NzJyApLT5zZW5kX2tleXMoJ1NlbGVuaXVtVGVzdCcpOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KAogICAgICAgICAgICAiLy9idXR0b25bXEBjbGFzcz0nUHJpbWFyeSBDYWxsRm9yQWN0aW9uIGJ0bi1wcmltYXJ5IGJ0bi1tYWluIGJ0bi13aWR0aC1tZCddW1xAdHlwZT0nc3VibWl0J10iCiAgICAgICAgKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGFuZCBpbnB1dCBzdGVwIDIgb2YgNSBzY3JlZW4uCiAgICAgICAgZm9yIG15ICRTdGVwVHdvSUQgKAogICAgICAgICAgICBxdyhDbGFzc0lEIENvdW50TWF4IEVtcHR5RmllbGRzTGVhdmVUaGVPbGRWYWx1ZXMpCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgIG15ICRFbGVtZW50ID0gJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjJFN0ZXBUd29JRCIsICdjc3MnICk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19lbmFibGVkKCk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19kaXNwbGF5ZWQoKTsKICAgICAgICB9CiAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgKICAgICAgICAgICAgIlwkKCcjQ2xhc3NJRCcpLnZhbCgnJExvY2F0aW9uQ29uZmlnSXRlbUlEJykudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsiCiAgICAgICAgKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgKICAgICAgICAgICAgIi8vYnV0dG9uW1xAY2xhc3M9J1ByaW1hcnkgQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeSBidG4tbWFpbiBidG4td2lkdGgtbWQnXVtcQHR5cGU9J3N1Ym1pdCddIgogICAgICAgICktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBDaGVjayBhbmQgaW5wdXQgc3RlcCAzIG9mIDUgc2NyZWVuLgogICAgICAgIGZvciBteSAkU3RlcFRocmVlSUQgKAogICAgICAgICAgICBxdyhDb2x1bW5TZXBhcmF0b3IgQ2hhcnNldCBJbmNsdWRlQ29sdW1uSGVhZGVycykKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJEVsZW1lbnQgPSAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiMkU3RlcFRocmVlSUQiLCAnY3NzJyApOwogICAgICAgICAgICAkRWxlbWVudC0+aXNfZW5hYmxlZCgpOwogICAgICAgICAgICAkRWxlbWVudC0+aXNfZGlzcGxheWVkKCk7CiAgICAgICAgfQogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoCiAgICAgICAgICAgICJcJCgnI0NvbHVtblNlcGFyYXRvcicpLnZhbCgnQ29tbWEnKS50cmlnZ2VyKCdyZWRyYXcuSW5wdXRGaWVsZCcpLnRyaWdnZXIoJ2NoYW5nZScpOyIKICAgICAgICApOwogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KAogICAgICAgICAgICAiLy9idXR0b25bXEBjbGFzcz0nUHJpbWFyeSBDYWxsRm9yQWN0aW9uIGJ0bi1wcmltYXJ5IGJ0bi1tYWluIGJ0bi13aWR0aC1tZCddW1xAdHlwZT0nc3VibWl0J10iCiAgICAgICAgKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGFuZCBpbnB1dCBzdGVwIDQgb2YgNSBzY3JlZW4uCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTWFwcGluZ0FkZEJ1dHRvbiIsICdjc3MnICktPlZlcmlmaWVkQ2xpY2soKTsKICAgICAgICBmb3IgbXkgJFN0ZXBGb3VySUQgKAogICAgICAgICAgICBxdyhLZXkgSWRlbnRpZmllcikKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJEVsZW1lbnQgPSAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLi8vKltcQGlkPSdPYmplY3Q6OjA6OiRTdGVwRm91cklEJ10iKTsKCiAgICAgICAgICAgICRFbGVtZW50LT5pc19lbmFibGVkKCk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19kaXNwbGF5ZWQoKTsKICAgICAgICB9CgogICAgICAgIGZvciBteSAkU3RlcEZvdXJDbGFzcyAoCiAgICAgICAgICAgIHF3KEFycm93VXAgQXJyb3dEb3duIERlbGV0ZUNvbHVtbikKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJEVsZW1lbnQgPSAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIi4kU3RlcEZvdXJDbGFzcyIsICdjc3MnICk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19lbmFibGVkKCk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19kaXNwbGF5ZWQoKTsKICAgICAgICB9CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJ0YWJsZSIsICAgICAgICAgICAgICdjc3MnICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJ0YWJsZSB0aGVhZCB0ciB0aCIsICdjc3MnICk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICJ0YWJsZSB0Ym9keSB0ciB0ZCIsICdjc3MnICk7CgogICAgICAgICMgU2VsZWN0ICdOdW1iZXInIG1hcHBpbmcgZWxlbWVudC4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLi8vKltcQGlkPSdPYmplY3Q6OjA6OktleSddL29wdGlvblsyXSIpLT5jbGljaygpOwoKICAgICAgICAjIEFkZCBhbmQgc2VsZWN0ICdOYW1lJyBtYXBwaW5nIGVsZW1lbnQuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTWFwcGluZ0FkZEJ1dHRvbiIsICdjc3MnICktPlZlcmlmaWVkQ2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLi8vKltcQGlkPSdPYmplY3Q6OjE6OktleSddL29wdGlvblszXSIpLT5jbGljaygpOwoKICAgICAgICAjIEFkZCBhbmQgc2VsZWN0ICdEZXBsb3ltZW50IFN0YXRlJyBtYXBwaW5nIGVsZW1lbnQuCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTWFwcGluZ0FkZEJ1dHRvbiIsICdjc3MnICktPlZlcmlmaWVkQ2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLi8vKltcQGlkPSdPYmplY3Q6OjI6OktleSddL29wdGlvbls0XSIpLT5jbGljaygpOwoKICAgICAgICAjIEFkZCBhbmQgc2VsZWN0ICdJbmNpZGVudCBTdGF0ZScgbWFwcGluZyBlbGVtZW50LgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI01hcHBpbmdBZGRCdXR0b24iLCAnY3NzJyApLT5WZXJpZmllZENsaWNrKCk7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi4vLypbXEBpZD0nT2JqZWN0OjozOjpLZXknXS9vcHRpb25bNV0iKS0+Y2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNTdWJtaXROZXh0QnV0dG9uIiwgJ2NzcycgKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIHN0ZXAgNSBvZiA1IHNjcmVlbi4KICAgICAgICBmb3IgbXkgJFN0ZXBGb3VySUQgKAogICAgICAgICAgICBxdyhSZXN0cmljdEV4cG9ydCBOdW1iZXIgTmFtZSBEZXBsU3RhdGVJRHMgSW5jaVN0YXRlSURzIFR5cGUgUGhvbmUxIFBob25lMgogICAgICAgICAgICBGYXggRS1NYWlsIEFkZHJlc3MgTm90ZSkKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJEVsZW1lbnQgPSAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiMkU3RlcEZvdXJJRCIsICdjc3MnICk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19lbmFibGVkKCk7CiAgICAgICAgICAgICRFbGVtZW50LT5pc19kaXNwbGF5ZWQoKTsKICAgICAgICB9CgogICAgICAgICMgU2VhcmNoIENvbmZpZ0l0ZW0gYnkgbnVtYmVyIGFuZCBkZXBsb3ltZW50IHN0YXRlLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiI1Jlc3RyaWN0RXhwb3J0IiwgJ2NzcycgKS0+Y2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggIiNOdW1iZXIiLCAgICAgICAgICdjc3MnICktPnNlbmRfa2V5cygkQ29uZmlnSXRlbU51bWJlcik7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoICIjTmFtZSIsICAgICAgICAgICAnY3NzJyApLT5zZW5kX2tleXMoJFZlcnNpb25OYW1lKTsKICAgICAgICAkU2VsZW5pdW0tPmV4ZWN1dGVfc2NyaXB0KAogICAgICAgICAgICAiXCQoJyNEZXBsU3RhdGVJRHMnKS52YWwoJyRQcm9kdWN0aW9uRGVwbFN0YXRlSUQnKS50cmlnZ2VyKCdyZWRyYXcuSW5wdXRGaWVsZCcpLnRyaWdnZXIoJ2NoYW5nZScpOyIKICAgICAgICApOwogICAgICAgICRTZWxlbml1bS0+ZXhlY3V0ZV9zY3JpcHQoIlwkKCcjSW5jaVN0YXRlSURzJykudmFsKCcxJykudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsiKTsKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgKICAgICAgICAgICAgIi8vYnV0dG9uW1xAY2xhc3M9J1ByaW1hcnkgQ2FsbEZvckFjdGlvbiBidG4tcHJpbWFyeSBidG4tbWFpbiBidG4td2lkdGgtbWQnXVtcQHR5cGU9J3N1Ym1pdCddIgogICAgICAgICktPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBHZXQgbmVlZGVkIG9iamVjdHMuCiAgICAgICAgbXkgJEltcG9ydEV4cG9ydE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpJbXBvcnRFeHBvcnQnKTsKICAgICAgICBteSAkREJPYmplY3QgICAgICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgICAgICMgR2V0IFRlbXBsYXRlSUQgb2YgY3JlYXRlZCB0ZXN0IHRlbXBsYXRlLgogICAgICAgICREQk9iamVjdC0+UHJlcGFyZSgKICAgICAgICAgICAgU1FMICAgPT4gJ1NFTEVDVCBpZCBGUk9NIGltZXhwb3J0X3RlbXBsYXRlIFdIRVJFIG5hbWUgPSA/JywKICAgICAgICAgICAgQmluZCAgPT4gWyBcJEltcG9ydEV4cG9ydE5hbWUgXSwKICAgICAgICAgICAgTGltaXQgPT4gMSwKICAgICAgICApOwoKICAgICAgICAjIEZldGNoIHRoZSByZXN1bHQuCiAgICAgICAgbXkgJFRlbXBsYXRlSUQ7CiAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJERCT2JqZWN0LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICRUZW1wbGF0ZUlEID0gJFJvd1swXTsKICAgICAgICB9CgogICAgICAgICMgTmF2aWdhdGUgdG8gdGVzdCBjcmVhdGVkIENvbmZpZ0l0ZW0gYW5kIHZlcmlmeSBpdC4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkR2V0KCIke1NjcmlwdEFsaWFzfWluZGV4LnBsP0FjdGlvbj1BZ2VudElUU01Db25maWdJdGVtWm9vbTtDb25maWdJdGVtSUQ9JENvbmZpZ0l0ZW1JRCIpOwoKICAgICAgICAkU2VsZW5pdW0tPlBhZ2VDb250YWlucygKICAgICAgICAgICAgU3RyaW5nICA9PiAkVmVyc2lvbk5hbWUsCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gIjEgLSBUZXN0IENvbmZpZ0l0ZW0gbmFtZSAkVmVyc2lvbk5hbWUgaXMgZm91bmQiLAogICAgICAgICk7CgogICAgICAgICMgRXhwb3J0IGNyZWF0ZWQgdGVzdCB0ZW1wbGF0ZS4KICAgICAgICBteSAkRXhwb3J0UmVzdWx0UmVmID0gJEltcG9ydEV4cG9ydE9iamVjdC0+RXhwb3J0KAogICAgICAgICAgICBUZW1wbGF0ZUlEID0+ICRUZW1wbGF0ZUlELAogICAgICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgIyBEZWxldGUgY3JlYXRlZCB0ZXN0IENvbmZpZ0l0ZW0sIHNvIGl0IGNhbiBiZSBpbXBvcnRlZCBiYWNrLgogICAgICAgICRDb25maWdJdGVtT2JqZWN0LT5Db25maWdJdGVtRGVsZXRlKAogICAgICAgICAgICBDb25maWdJdGVtSUQgPT4gJENvbmZpZ0l0ZW1JRCwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJENvbmZpZ0l0ZW0gPSAkQ29uZmlnSXRlbU9iamVjdC0+Q29uZmlnSXRlbUdldCgKICAgICAgICAgICAgQ29uZmlnSXRlbUlEID0+ICRDb25maWdJdGVtSUQsCiAgICAgICAgICAgIENhY2hlICAgICAgICA9PiAwLAogICAgICAgICk7CgogICAgICAgICMgQ2hlY2sgaWYgQ29uZmlnSXRlbSBpcyBkZWxldGVkLgogICAgICAgICRTZWxmLT5GYWxzZSgKICAgICAgICAgICAgJENvbmZpZ0l0ZW0sCiAgICAgICAgICAgICJDb25maWdJdGVtIGlzIGRlbGV0ZWQgLSBJRCAkQ29uZmlnSXRlbUlEIiwKICAgICAgICApOwoKICAgICAgICAjIFJlZnJlc2ggc2NyZWVuIGFuZCB2ZXJpZnkgdGhhdCB0ZXN0IENvbmZpZ0l0ZW0gZG9lcyBub3QgZXhpc3QgYW55bW9yZS4KICAgICAgICAkU2VsZW5pdW0tPlZlcmlmaWVkUmVmcmVzaCgpOwogICAgICAgICRTZWxlbml1bS0+UGFnZUNvbnRhaW5zKAogICAgICAgICAgICBTdHJpbmcgID0+ICJDYW5cJ3Qgc2hvdyBpdGVtLCBubyBhY2Nlc3MgcmlnaHRzIGZvciBDb25maWdJdGVtIGFyZSBnaXZlbiEiLAogICAgICAgICAgICBNZXNzYWdlID0+ICIyIC0gVGVzdCBDb25maWdJdGVtIG5hbWUgJFZlcnNpb25OYW1lIGlzIG5vdCBmb3VuZCIsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJE1haW5PYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TWFpbicpOwoKICAgICAgICAjIENyZWF0ZSB0ZXN0IEV4cG9ydGVkIGZpbGUgdG8gYSBzeXN0ZW0uCiAgICAgICAgbXkgJEV4cG9ydEZpbGVOYW1lID0gIklUU01FeHBvcnQiIC4gJEhlbHBlci0+R2V0UmFuZG9tSUQoKSAuICIuY3N2IjsKCiAgICAgICAgbXkgJEV4cG9ydERpciAgICAgID0gJENvbmZpZ09iamVjdC0+eydIb21lJ30gLiAiL3Zhci90bXAvIjsKICAgICAgICBteSAkRXhwb3J0TG9jYXRpb24gPSAkRXhwb3J0RGlyIC4gJEV4cG9ydEZpbGVOYW1lOwoKICAgICAgICBteSAkU3VjY2VzcyA9ICRNYWluT2JqZWN0LT5GaWxlV3JpdGUoCiAgICAgICAgICAgIExvY2F0aW9uICAgPT4gJEV4cG9ydExvY2F0aW9uLAogICAgICAgICAgICBDb250ZW50ICAgID0+IFwkRXhwb3J0UmVzdWx0UmVmLT57RGVzdGluYXRpb25Db250ZW50fS0+WzBdLAogICAgICAgICAgICBNb2RlICAgICAgID0+ICd1dGY4JywKICAgICAgICAgICAgVHlwZSAgICAgICA9PiAnQXR0YWNobWVudCcsCiAgICAgICAgICAgIFBlcm1pc3Npb24gPT4gJzY2NCcsCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICJFeHBvcnQgZmlsZSAkRXhwb3J0RmlsZU5hbWUgJyRFeHBvcnRMb2NhdGlvbicgaXMgY3JlYXRlZCIsCiAgICAgICAgKTsKCiAgICAgICAgIyBOYXZpZ2F0ZSB0byBBZG1pbkltcG9ydEV4cG9ydCBzY3JlZW4uCiAgICAgICAgJFNlbGVuaXVtLT5WZXJpZmllZEdldCgiJHtTY3JpcHRBbGlhc31pbmRleC5wbD9BY3Rpb249QWRtaW5JbXBvcnRFeHBvcnQiKTsKCiAgICAgICAgIyBDbGljayBvbiAnSW1wb3J0Jy4KICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCgiLy9hW2NvbnRhaW5zKFxAaHJlZiwgXCdTdWJhY3Rpb249SW1wb3J0SW5mb3JtYXRpb247VGVtcGxhdGVJRD0kVGVtcGxhdGVJRCcgKV0iKQogICAgICAgICAgICAtPlZlcmlmaWVkQ2xpY2soKTsKCiAgICAgICAgIyBVcGxvYWQgZmlsZSBmaXJzdCBpbnRvIFNlbGVuaXVtLWVudmlyb25tZW50IHRvIHVzZSBpdCBmb3IgZmlsZSB1cGxvYWRzLgogICAgICAgIG15ICRMb2NhbEZpbGUgPSAkU2VsZW5pdW0tPnVwbG9hZF9maWxlKCRFeHBvcnRMb2NhdGlvbik7CiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi8vaW5wdXRbY29udGFpbnMoXEBuYW1lLCBcJ1NvdXJjZUZpbGUnICldIiktPnNlbmRfa2V5cygkTG9jYWxGaWxlKTsKCiAgICAgICAgJFNlbGVuaXVtLT5maW5kX2VsZW1lbnQoIi8vYnV0dG9uW1xAdmFsdWU9J1N0YXJ0IEltcG9ydCddW1xAdHlwZT0nc3VibWl0J10iKS0+VmVyaWZpZWRDbGljaygpOwoKICAgICAgICAjIENoZWNrIGZvciBleHBlY3RlZCBvdXRjb21lLgogICAgICAgICRTZWxlbml1bS0+UGFnZUNvbnRhaW5zKAogICAgICAgICAgICBTdHJpbmcgID0+ICcoQ3JlYXRlZDogMSknLAogICAgICAgICAgICBNZXNzYWdlID0+ICJJbXBvcnQgdGVzdCBDb25maWdJdGVtIC0gc3VjY2VzcyIsCiAgICAgICAgICAgICwKICAgICAgICApOwoKICAgICAgICAjIE5hdmlnYXRlIHRvIGltcG9ydGVkIHRlc3QgY3JlYXRlZCBDb25maWdJdGVtIGFuZCB2ZXJpZnkgaXQuCiAgICAgICAgbXkgJEltcG9ydGVkQ29uZmlnSXRlbUlEID0gJENvbmZpZ0l0ZW1JRCArIDE7CgogICAgICAgICMgTmF2aWdhdGUgdG8gQWRtaW5JbXBvcnRFeHBvcnQgc2NyZWVuLgogICAgICAgICRTZWxlbml1bS0+VmVyaWZpZWRHZXQoIiR7U2NyaXB0QWxpYXN9aW5kZXgucGw/QWN0aW9uPUFkbWluSW1wb3J0RXhwb3J0Iik7CgogICAgICAgICRTZWxlbml1bS0+V2FpdEZvcmpRdWVyeUV2ZW50Qm91bmQoCiAgICAgICAgICAgIENTU1NlbGVjdG9yID0+ICJhLkltcG9ydEV4cG9ydERlbGV0ZVtkYXRhLWlkPSckVGVtcGxhdGVJRCddIiwKICAgICAgICApOwoKICAgICAgICAjIENsaWNrIHRvIGRlbGV0ZSB0ZXN0IHRlbXBsYXRlLgogICAgICAgICRTZWxlbml1bS0+ZmluZF9lbGVtZW50KCAiYS5JbXBvcnRFeHBvcnREZWxldGVbZGF0YS1pZD0nJFRlbXBsYXRlSUQnXSIsICdjc3MnICktPmNsaWNrKCk7CgogICAgICAgICRTZWxlbml1bS0+V2FpdEZvcmpRdWVyeUV2ZW50Qm91bmQoCiAgICAgICAgICAgIENTU1NlbGVjdG9yID0+ICIjRGlhbG9nQnV0dG9uMjp2aXNpYmxlIiwKICAgICAgICApOwoKICAgICAgICAkU2VsZW5pdW0tPmZpbmRfZWxlbWVudCggJyNEaWFsb2dCdXR0b24yJywgJ2NzcycgKS0+Y2xpY2soKTsKICAgICAgICAkU2VsZW5pdW0tPldhaXRGb3IoIEVsZW1lbnRNaXNzaW5nID0+IFsgImEuSW1wb3J0RXhwb3J0RGVsZXRlW2RhdGEtaWQ9JyRUZW1wbGF0ZUlEJ10iLCAnY3NzJyBdICk7CgogICAgICAgICMgQ2hlY2sgaWYgdGVzdCB0ZW1wbGF0ZSBpcyBkZWxldGVkLgogICAgICAgICRTZWxmLT5GYWxzZSgKICAgICAgICAgICAgJFNlbGVuaXVtLT5leGVjdXRlX3NjcmlwdCgKICAgICAgICAgICAgICAgICJyZXR1cm4gXCQoJ2EuSW1wb3J0RXhwb3J0RGVsZXRlW2RhdGEtaWQqPVwiJFRlbXBsYXRlSURcIl0nKS5sZW5ndGg7IgogICAgICAgICAgICApLAogICAgICAgICAgICAiVGVzdCB0ZW1wbGF0ZSBpcyBkZWxldGVkIiwKICAgICAgICApOwoKICAgICAgICAjIERlbGV0ZSB0ZXN0IGltcG9ydGVkIENvbmZpZ0l0ZW0uCiAgICAgICAgJFN1Y2Nlc3MgPSAkQ29uZmlnSXRlbU9iamVjdC0+Q29uZmlnSXRlbURlbGV0ZSgKICAgICAgICAgICAgQ29uZmlnSXRlbUlEID0+ICRJbXBvcnRlZENvbmZpZ0l0ZW1JRCwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+IDEsCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAgICAgJFN1Y2Nlc3MsCiAgICAgICAgICAgICJDb25maWdJdGVtIGlzIGRlbGV0ZWQgLSBJRCAkSW1wb3J0ZWRDb25maWdJdGVtSUQiLAogICAgICAgICk7CgogICAgICAgICMgZGVsZXRlIHRlc3QgRXhwb3J0ZWQgZmlsZSBmcm9tIHN5c3RlbS4KICAgICAgICAkU3VjY2VzcyA9ICRNYWluT2JqZWN0LT5GaWxlRGVsZXRlKAogICAgICAgICAgICBMb2NhdGlvbiA9PiAkRXhwb3J0TG9jYXRpb24sCiAgICAgICAgICAgIFR5cGUgICAgID0+ICdBdHRhY2htZW50JywKICAgICAgICApOwogICAgICAgICRTZWxmLT5UcnVlKAogICAgICAgICAgICAkU3VjY2VzcywKICAgICAgICAgICAgIkV4cG9ydCBmaWxlICRFeHBvcnRGaWxlTmFtZSBpcyBkZWxldGVkIiwKICAgICAgICApOwogICAgfQopOwoKMTsK</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV001-MSExcel-Semicolon.csv" Encode="Base64">Um93MS1Db2wxO1JvdzEtQ29sMjtSb3cxLUNvbDMNClJvdzItQ29sMTtSb3cyLUNvbDI7Um93Mi1Db2wzDQpSb3czLUNvbDE7Um93My1Db2wyO1JvdzMtQ29sMw0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV001-MSExcel-Tabulator.csv" Encode="Base64">Um93MS1Db2wxCVJvdzEtQ29sMglSb3cxLUNvbDMNClJvdzItQ29sMQlSb3cyLUNvbDIJUm93Mi1Db2wzDQpSb3czLUNvbDEJUm93My1Db2wyCVJvdzMtQ29sMw0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV001-OpenOffice-Colon.csv" Encode="Base64">IlJvdzEtQ29sMSI6IlJvdzEtQ29sMiI6IlJvdzEtQ29sMyINCiJSb3cyLUNvbDEiOiJSb3cyLUNvbDIiOiJSb3cyLUNvbDMiDQoiUm93My1Db2wxIjoiUm93My1Db2wyIjoiUm93My1Db2wzIg0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV001-OpenOffice-Semicolon.csv" Encode="Base64">IlJvdzEtQ29sMSI7IlJvdzEtQ29sMiI7IlJvdzEtQ29sMyINCiJSb3cyLUNvbDEiOyJSb3cyLUNvbDIiOyJSb3cyLUNvbDMiDQoiUm93My1Db2wxIjsiUm93My1Db2wyIjsiUm93My1Db2wzIg0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV001-OpenOffice-Tabulator.csv" Encode="Base64">IlJvdzEtQ29sMSIJIlJvdzEtQ29sMiIJIlJvdzEtQ29sMyINCiJSb3cyLUNvbDEiCSJSb3cyLUNvbDIiCSJSb3cyLUNvbDMiDQoiUm93My1Db2wxIgkiUm93My1Db2wyIgkiUm93My1Db2wzIg0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV002-MSExcel-Semicolon.csv" Encode="Base64">IgpUZXN0IDEgLSAxIjtUZXN0IDEgLSAyOyJUZXN0IDEKLSAzIjtUZXN0IFxuXHRcclxzDQoiVGVzdCAyIAotIDEiOyJUZQpzdCAyIC0gMiI7IlRlc3QgMiAtIDMKIjsNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV002-MSExcel-Tabulator.csv" Encode="Base64">IgpUZXN0IDEgLSAxIglUZXN0IDEgLSAyCSJUZXN0IDEKLSAzIglUZXN0IFxuXHRcclxzDQoiVGVzdCAyIAotIDEiCSJUZQpzdCAyIC0gMiIJIlRlc3QgMiAtIDMKIgkNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV002-OpenOffice-Colon.csv" Encode="Base64">IgpUZXN0IDEgLSAxIjoiVGVzdCAxIC0gMiI6IlRlc3QgMQotIDMiOiJUZXN0IFxuXHRcclxzIg0KIlRlc3QgMiAKLSAxIjoiVGUKc3QgMiAtIDIiOiJUZXN0IDIgLSAzCiI6DQo=</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV002-OpenOffice-Semicolon.csv" Encode="Base64">IgpUZXN0IDEgLSAxIjsiVGVzdCAxIC0gMiI7IlRlc3QgMQotIDMiOyJUZXN0IFxuXHRcclxzIg0KIlRlc3QgMiAKLSAxIjsiVGUKc3QgMiAtIDIiOyJUZXN0IDIgLSAzCiI7DQo=</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV002-OpenOffice-Tabulator.csv" Encode="Base64">IgpUZXN0IDEgLSAxIgkiVGVzdCAxIC0gMiIJIlRlc3QgMQotIDMiCSJUZXN0IFxuXHRcclxzIg0KIlRlc3QgMiAKLSAxIgkiVGUKc3QgMiAtIDIiCSJUZXN0IDIgLSAzCiIJDQo=</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV003-MSExcel-Semicolon.csv" Encode="Base64">ICBUZXN0ICA7ICAgIDtUZXN0ICANCiAgICBUZXN0OztUZXN0DQo7OyANCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV003-MSExcel-Tabulator.csv" Encode="Base64">ICBUZXN0ICAJICAgIAlUZXN0ICANCiAgICBUZXN0CQlUZXN0DQoJCSANCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV003-OpenOffice-Colon.csv" Encode="Base64">IiAgVGVzdCAgIjoiICAgICI6IlRlc3QgICINCiIgICAgVGVzdCI6OiJUZXN0Ig0KOjoiICINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV003-OpenOffice-Semicolon.csv" Encode="Base64">IiAgVGVzdCAgIjsiICAgICI7IlRlc3QgICINCiIgICAgVGVzdCI7OyJUZXN0Ig0KOzsiICINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV003-OpenOffice-Tabulator.csv" Encode="Base64">IiAgVGVzdCAgIgkiICAgICIJIlRlc3QgICINCiIgICAgVGVzdCIJCSJUZXN0Ig0KCQkiICINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV004-MSExcel-Semicolon.csv" Encode="Base64">IlRlc3Q7Ol/CsF4hIiLCpyQlJi8oKT0/wrRgKitUZXN0Ijs+PEB+J317W11cDQoiIiIiIjs7OjouLi0tX18jIyI7DQo=</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV004-MSExcel-Tabulator.csv" Encode="Base64">IlRlc3Q7Ol/CsF4hIiLCpyQlJi8oKT0/wrRgKitUZXN0Igk+PEB+J317W11cDQoiIiIiIjs7OjouLi0tX18jIyIJDQo=</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV004-OpenOffice-Colon.csv" Encode="Base64">IlRlc3Q7Ol/CsF4hIiLCpyQlJi8oKT0/wrRgKitUZXN0IjoiPjxAfid9e1tdXCINCiIiIiIiOzs6Oi4uLS1fXyMjIjoNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV004-OpenOffice-Semicolon.csv" Encode="Base64">IlRlc3Q7Ol/CsF4hIiLCpyQlJi8oKT0/wrRgKitUZXN0IjsiPjxAfid9e1tdXCINCiIiIiIiOzs6Oi4uLS1fXyMjIjsNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV004-OpenOffice-Tabulator.csv" Encode="Base64">IlRlc3Q7Ol/CsF4hIiLCpyQlJi8oKT0/wrRgKitUZXN0IgkiPjxAfid9e1tdXCINCiIiIiIiOzs6Oi4uLS1fXyMjIgkNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV005-MSExcel-Semicolon.csv" Encode="Base64">w7zDtsOkw587w5zDlsOEDQrDn8Okw7bDvDvDhMOWw5wNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV005-MSExcel-Tabulator.csv" Encode="Base64">w7zDtsOkw58Jw5zDlsOEDQrDn8Okw7bDvAnDhMOWw5wNCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV005-OpenOffice-Colon.csv" Encode="Base64">IsO8w7bDpMOfIjoiw5zDlsOEIg0KIsOfw6TDtsO8Ijoiw4TDlsOcIg0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV005-OpenOffice-Semicolon.csv" Encode="Base64">IsO8w7bDpMOfIjsiw5zDlsOEIg0KIsOfw6TDtsO8Ijsiw4TDlsOcIg0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV005-OpenOffice-Tabulator.csv" Encode="Base64">IsO8w7bDpMOfIgkiw5zDlsOEIg0KIsOfw6TDtsO8Igkiw4TDlsOcIg0K</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV006-OpenOffice-Semicolon.csv" Encode="Base64">IsqpIMqsIMquIjsiIMqhIMukIM6MICINCiIgIM6XIM+XIM+gICAiOyLOhiDOmyDOniINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV006-OpenOffice-Colon.csv" Encode="Base64">IsqpIMqsIMquIjoiIMqhIMukIM6MICINCiIgIM6XIM+XIM+gICAiOiLOhiDOmyDOniINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV006-OpenOffice-Tabulator.csv" Encode="Base64">IsqpIMqsIMquIgkiIMqhIMukIM6MICINCiIgIM6XIM+XIM+gICAiCSLOhiDOmyDOniINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV007-OpenOffice-Semicolon.csv" Encode="Base64">IlJvdzEtQ29sMSI7IlJvdzEtQ29sMiI7IlJvdzEtQ29sMyINCiJSb3cyLUNvbDEiOyJSb3cyLUNvbDIiOyJSb3cyLUNvbDMiDQoiUm93My1Db2wxIjsiMFJvdzMtQ29sMiI7IlJvdzMtQ29sMyINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/ImportExportFormatCSV008-OpenOffice-Semicolon.csv" Encode="Base64">IlJvdzEtQ29sMSI7IlJvdzEtQ29sMiI7IlJvdzEtQ29sMyINCiJSb3cyLUNvbDEiOyIwUm93Mi1Db2wyIjsiUm93Mi1Db2wzIg0KIlJvdzMtQ29sMSI7IlJvdzMtQ29sMiI7IlJvdzMtQ29sMyINCg==</File>
        <File Permission="660" Location="scripts/test/sample/ImportExport/TemplateExport.csv" Encode="Base64">Ik5hbWUiLCJEZXBsb3ltZW50IFN0YXRlIiwiSW5jaWRlbnQgU3RhdGUiCiJUZXN0Q29uZmlnSXRlbXRlc3QxNDM1ODU2ODk1MTQ3OTYyMzc2IiwiUHJvZHVjdGlvbiIsIk9wZXJhdGlvbmFsIgoiVGVzdENvbmZpZ0l0ZW10ZXN0MTQzNTg1Njg5NTE0MTgwMjc3IiwiUHJvZHVjdGlvbiIsIk9wZXJhdGlvbmFsIgoiVGVzdENvbmZpZ0l0ZW10ZXN0MTQzNTg1Njg5NTE4MDg3MzMxMCIsIlByb2R1Y3Rpb24iLCJPcGVyYXRpb25hbCIKIlRlc3RDb25maWdJdGVtdGVzdDE0MzU4NTY4OTU1MTM5MjQ0MzkiLCJQcm9kdWN0aW9uIiwiT3BlcmF0aW9uYWwiCiJUZXN0Q29uZmlnSXRlbXRlc3QxNDM1ODU2ODk1MzAwNzMwMzMiLCJQcm9kdWN0aW9uIiwiT3BlcmF0aW9uYWwiCiJUZXN0Q29uZmlnSXRlbXRlc3QxNDM1ODU2ODk1NDkzMjczNjg4IiwiUHJvZHVjdGlvbiIsIk9wZXJhdGlvbmFsIgoiVGVzdENvbmZpZ0l0ZW10ZXN0MTQzNTg1Njg5NTE4ODIxNjA2NSIsIlByb2R1Y3Rpb24iLCJPcGVyYXRpb25hbCIKIlRlc3RDb25maWdJdGVtdGVzdDE0MzU4NTY4OTU5ODY2OTMzOSIsIlByb2R1Y3Rpb24iLCJPcGVyYXRpb25hbCIKIlRlc3RDb25maWdJdGVtdGVzdDE0MzU4NTY4OTU2MjE5MTAwODYiLCJQcm9kdWN0aW9uIiwiT3BlcmF0aW9uYWwiCiJUZXN0Q29uZmlnSXRlbXRlc3QxNDM1ODU2ODk1NTQ0MTk2NzI0IiwiUHJvZHVjdGlvbiIsIk9wZXJhdGlvbmFsIg==</File>
        <File Permission="660" Location="var/packagesetup/ImportExport.pm" Encode="Base64">IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIxIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSB2YXI6OnBhY2thZ2VzZXR1cDo6SW1wb3J0RXhwb3J0OyAgICAjIyBubyBjcml0aWMKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEQicsCiAgICAnS2VybmVsOjpDb25maWcnLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpTeXNDb25maWcnLAopOwoKPWhlYWQxIE5BTUUKCnZhcjo6cGFja2FnZXNldHVwOjpJbXBvcnRFeHBvcnQgLSBjb2RlIHRvIGV4ZWN1dGUgZHVyaW5nIHBhY2thZ2UgaW5zdGFsbGF0aW9uCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKPWN1dAoKPWhlYWQyIG5ldygpCgpDcmVhdGUgYW4gb2JqZWN0CgogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpPYmplY3RNYW5hZ2VyOwogICAgbG9jYWwgJEtlcm5lbDo6T00gPSBLZXJuZWw6OlN5c3RlbTo6T2JqZWN0TWFuYWdlci0+bmV3KCk7CiAgICBteSAkQ29kZU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ3Zhcjo6cGFja2FnZXNldHVwOjpJbXBvcnRFeHBvcnQnKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBhbHdheXMgZGlzY2FyZCB0aGUgY29uZmlnIG9iamVjdCBiZWZvcmUgcGFja2FnZSBjb2RlIGlzIGV4ZWN1dGVkLAogICAgIyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgY29uZmlnIG9iamVjdCB3aWxsIGJlIGNyZWF0ZWQgbmV3bHksIHNvIHRoYXQgaXQKICAgICMgd2lsbCB1c2UgdGhlIHJlY2VudGx5IHdyaXR0ZW4gbmV3IGNvbmZpZyBmcm9tIHRoZSBwYWNrYWdlCiAgICAkS2VybmVsOjpPTS0+T2JqZWN0c0Rpc2NhcmQoCiAgICAgICAgT2JqZWN0cyA9PiBbJ0tlcm5lbDo6Q29uZmlnJ10sCiAgICApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKPWhlYWQyIENvZGVJbnN0YWxsKCkKClJ1biB0aGUgY29kZSBpbnN0YWxsIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVJbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZUluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVSZWluc3RhbGwoKQoKUnVuIHRoZSBjb2RlIHJlaW5zdGFsbCBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlUmVpbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZVJlaW5zdGFsbCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQ29kZVVwZ3JhZGUoKQoKUnVuIHRoZSBjb2RlIHVwZ3JhZGUgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVVwZ3JhZGUoKTsKCj1jdXQKCnN1YiBDb2RlVXBncmFkZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQ29kZVVwZ3JhZGVGcm9tQmVmb3JlXzJfMF8zKCkKClRoaXMgZnVuY3Rpb24gaXMgb25seSBleGVjdXRlZCBpZiB0aGUgaW5zdGFsbGVkIG1vZHVsZSB2ZXJzaW9uIGlzIHNtYWxsZXIgdGhhbiAyLjAuMy4KCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVcGdyYWRlRnJvbUJlZm9yZV8yXzBfMygpOwoKPWN1dAoKc3ViIENvZGVVcGdyYWRlRnJvbUJlZm9yZV8yXzBfMyB7ICAgICMjIG5vIGNyaXRpYwogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGZpeCBhIHR5cG8gaW4gdGhlIGRhdGFiYXNlCiAgICAkU2VsZi0+X0ZpeERhdGFiYXNlVHlwbygpOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgQ29kZVVwZ3JhZGVGcm9tTG93ZXJUaGFuXzRfMF85MSgpCgpUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgZXhlY3V0ZWQgaWYgdGhlIGluc3RhbGxlZCBtb2R1bGUgdmVyc2lvbiBpcyBzbWFsbGVyIHRoYW4gNC4wLjkxLgoKbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlVXBncmFkZUZyb21Mb3dlclRoYW5fNF8wXzkxKCk7Cgo9Y3V0CgpzdWIgQ29kZVVwZ3JhZGVGcm9tTG93ZXJUaGFuXzRfMF85MSB7ICAgICMjIG5vIGNyaXRpYwogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoYW5nZSBjb25maWd1cmF0aW9ucyB0byBtYXRjaCB0aGUgbmV3IG1vZHVsZSBsb2NhdGlvbi4KICAgICRTZWxmLT5fTWlncmF0ZUNvbmZpZ3MoKTsKCiAgICByZXR1cm4gMTsKfQoKPWhlYWQyIENvZGVVbmluc3RhbGwoKQoKcnVuIHRoZSBjb2RlIHVuaW5zdGFsbCBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlVW5pbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZVVuaW5zdGFsbCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDEgUFJJVkFURSBJTlRFUkZBQ0UKCj1oZWFkMiBfRml4RGF0YWJhc2VUeXBvKCkKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPl9GaXhEYXRhYmFzZVR5cG8oKTsKCj1jdXQKCnN1YiBfRml4RGF0YWJhc2VUeXBvIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBmaXggdGhlIENvbHVtblNlcGVyYXRvciB0eXBvIChjb3JyZWN0IGlzIENvbHVtblNlcGFyYXRvcikKICAgIHJldHVybiBpZiAhJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyktPkRvKAogICAgICAgIFNRTCA9PiAiVVBEQVRFIGltZXhwb3J0X2Zvcm1hdCAiCiAgICAgICAgICAgIC4gIlNFVCBkYXRhX2tleSA9ICdDb2x1bW5TZXBhcmF0b3InICIKICAgICAgICAgICAgLiAiV0hFUkUgZGF0YV9rZXkgPSAnQ29sdW1uU2VwZXJhdG9yJyIsCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aGVhZDIgX01pZ3JhdGVDb25maWdzKCkKCmNoYW5nZSBjb25maWd1cmF0aW9ucyB0byBtYXRjaCB0aGUgbmV3IG1vZHVsZSBsb2NhdGlvbi4KCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPl9NaWdyYXRlQ29uZmlncygpOwoKPWN1dAoKc3ViIF9NaWdyYXRlQ29uZmlncyB7CgogICAgIyBjcmVhdGUgbmVlZGVkIG9iamVjdHMKICAgIG15ICRDb25maWdPYmplY3QgICAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwogICAgbXkgJFN5c0NvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTeXNDb25maWcnKTsKCiAgICBteSBATmV3U2V0dGluZ3M7CgogICAgIyBtaWdyYXRlIE5hdkJhciBtb2R1bGVzCiAgICAjIGdldCBzZXR0aW5nIGNvbnRlbnQgZm9yIE5hdkJhciBtb2R1bGVzCiAgICBteSAkU2V0dGluZyA9ICRDb25maWdPYmplY3QtPkdldCgnRnJvbnRlbmQ6Ok5hdmlnYXRpb25Nb2R1bGUnKTsKCiAgICAjIHVwZGF0ZSBtb2R1bGUgbG9jYXRpb24KICAgICRTZXR0aW5nLT57J0FkbWluSW1wb3J0RXhwb3J0J30tPntNb2R1bGV9ID0gIktlcm5lbDo6T3V0cHV0OjpIVE1MOjpOYXZCYXI6Ok1vZHVsZUFkbWluIjsKCiAgICAjIEJ1aWxkIG5ldyBzZXR0aW5nLgogICAgcHVzaCBATmV3U2V0dGluZ3MsIHsKICAgICAgICBOYW1lICAgICAgICAgICA9PiAnRnJvbnRlbmQ6Ok5hdmlnYXRpb25Nb2R1bGUjIyNBZG1pbkltcG9ydEV4cG9ydCcsCiAgICAgICAgRWZmZWN0aXZlVmFsdWUgPT4gJFNldHRpbmctPnsnQWRtaW5JbXBvcnRFeHBvcnQnfSwKICAgIH07CgogICAgIyBXcml0ZSBuZXcgc2V0dGluZy4KICAgICRTeXNDb25maWdPYmplY3QtPlNldHRpbmdzU2V0KAogICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICAgICAgQ29tbWVudHMgPT4gJ0ltcG9ydEV4cG9ydCAtIHBhY2thZ2Ugc2V0dXAgZnVuY3Rpb246IF9NaWdyYXRlQ29uZmlncycsCiAgICAgICAgU2V0dGluZ3MgPT4gXEBOZXdTZXR0aW5ncywKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgU29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChodHRwOi8vb3Rycy5vcmcvKS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQK</File>
        <File Permission="660" Location="var/httpd/htdocs/js/ITSM.Admin.ImportExport.js" Encode="Base64">Ly8gLS0KLy8gQ29weXJpZ2h0IChDKSAyMDAxLTIwMjEgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KLy8gQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwovLyAtLQovLyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQovLyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKLy8gZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCi8vIC0tCgoidXNlIHN0cmljdCI7Cgp2YXIgSVRTTSA9IElUU00gfHwge307CklUU00uQWRtaW4gPSBJVFNNLkFkbWluIHx8IHt9OwoKCi8qKgogKiBAbmFtZXNwYWNlIEFkbWluCiAqIEBhdXRob3IgT1RSUyBBRwogKiBAZGVzY3JpcHRpb24KICogICAgICBUaGlzIG5hbWVzcGFjZSBjb250YWlucyB0aGUgc3BlY2lhbCBtb2R1bGUgYmVoYXZpb3VycyBmb3IgSVRTTSBTZXJ2aWNlIFpvb20uCiAqLwogSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQgPSAoZnVuY3Rpb24gKFRhcmdldE5TKSB7CgogICAgLyoqCiAgICAgKiBAbmFtZSBJbml0CiAgICAgKiBAbWVtYmVyb2YgQWRtaW4uSW1wb3J0RXhwb3J0CiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBkZXNjcmlwdGlvbgogICAgICogICAgICBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIGFjdGlvbnMgZm9yIElUU00gU2VydmljZSBab29tLgogICAgICovCiAgICBUYXJnZXROUy5Jbml0ID0gZnVuY3Rpb24oKSB7CgogICAgICAgIHZhciAkTmV4dEJ1dHRvbiwgJEZpcnN0Q29sdW1uOwoKICAgICAgICBpZiAoQ29yZS5Db25maWcuR2V0KCdUZW1wbGF0ZUVkaXQ0JykpIHsKCiAgICAgICAgICAgIC8vIGZpbmQgdGhlIG5leHQgYnV0dG9uIGFuZCBnZXQgdGhlIGZpcnN0IGNvbHVtbiBkcm9wZG93bgogICAgICAgICAgICAkTmV4dEJ1dHRvbiA9ICQoImJ1dHRvbi5QcmltYXJ5W25hbWU9J1N1Ym1pdE5leHRCdXR0b24nXSIpLmZpcnN0KCk7CiAgICAgICAgICAgICRGaXJzdENvbHVtbiA9ICQoJyNPYmplY3RcXDpcXDowXFw6XFw6S2V5Jyk7CgogICAgICAgICAgICAvLyBoYW5kbGUgY2hhbmdlcyB0byB0aGUgZmlyc3QgY29sdW1uIHNlbGVjdG9yCiAgICAgICAgICAgICRGaXJzdENvbHVtbi5iaW5kKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNvbHVtbiB3aXRoIGEgdmFsdWUKICAgICAgICAgICAgICAgIGlmICgkRmlyc3RDb2x1bW4udmFsKCkpIHsKICAgICAgICAgICAgICAgICAgICAvLyB3ZSByZW1vdmUgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZQogICAgICAgICAgICAgICAgICAgICROZXh0QnV0dG9uLnJlbW92ZUF0dHIoImRpc2FibGVkIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyB3ZSBhZGQgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZQogICAgICAgICAgICAgICAgICAgICROZXh0QnV0dG9uLmF0dHIoImRpc2FibGVkIiwgImRpc2FibGVkIik7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KS50cmlnZ2VyKCdjaGFuZ2UnKTsKCiAgICAgICAgICAgIC8vIHNldCB0aGUgaGlkZGVuIGZpZWxkIHRvIGRlbGV0ZSB0aGlzIGNvbHVtbiBhbmQgc3VibWl0IHRoZSBmb3JtCiAgICAgICAgICAgICQoJy5EZWxldGVDb2x1bW4nKS51bmJpbmQoJ2NsaWNrJykuYmluZCgnY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgndGQnKS5maW5kKCdpbnB1dFt0eXBlPSJoaWRkZW4iXScpLnZhbCgxKTsKICAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgJCgnI01hcHBpbmdBZGRCdXR0b24nKS5iaW5kKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICQoJ2lucHV0W25hbWU9TWFwcGluZ0FkZF0nKS52YWwoJzEnKTsKICAgICAgICAgICAgICAgICQoJ2lucHV0W25hbWU9U3VibWl0TmV4dF0nKS52YWwoJzAnKTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKCcjU3VibWl0TmV4dEJ1dHRvbicpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgJCgnaW5wdXRbbmFtZT1NYXBwaW5nQWRkXScpLnZhbCgnMCcpOwogICAgICAgICAgICAgICAgJCgnaW5wdXRbbmFtZT1TdWJtaXROZXh0XScpLnZhbCgnMScpOwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIGlmIChDb3JlLkNvbmZpZy5HZXQoJ1RlbXBsYXRlT3ZlcnZpZXcnKSkgewoKICAgICAgICAgICAgJCgnYnV0dG9uLkJhY2snKS5iaW5kKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGxvY2F0aW9uLmhyZWYgPSBDb3JlLkNvbmZpZy5HZXQoJ0Jhc2VsaW5rJykgKyBDb3JlLkNvbmZpZy5HZXQoJ0JhY2tVUkwnKTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBDb3JlLkZvcm0uVmFsaWRhdGUuQWRkTWV0aG9kKCJWYWxpZGF0ZV9OdW1iZXJCaWdnZXJUaGFuWmVybyIsIGZ1bmN0aW9uKFZhbHVlKSB7CiAgICAgICAgICAgICAgICB2YXIgTnVtYmVyID0gcGFyc2VJbnQoVmFsdWUsIDEwKTsKICAgICAgICAgICAgICAgIGlmIChpc05hTihOdW1iZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChOdW1iZXIgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIENvcmUuRm9ybS5WYWxpZGF0ZS5BZGRNZXRob2QoIlZhbGlkYXRlX051bWJlckludGVnZXIiLCBmdW5jdGlvbihWYWx1ZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIChWYWx1ZS5tYXRjaCgvXlswLTldKyQvKSkgPyB0cnVlIDogZmFsc2U7CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIENvcmUuRm9ybS5WYWxpZGF0ZS5BZGRSdWxlKCJWYWxpZGF0ZV9OdW1iZXJCaWdnZXJUaGFuWmVybyIsIHsgVmFsaWRhdGVfTnVtYmVyQmlnZ2VyVGhhblplcm86IHRydWUgfSk7CiAgICAgICAgICAgIENvcmUuRm9ybS5WYWxpZGF0ZS5BZGRSdWxlKCJWYWxpZGF0ZV9OdW1iZXJJbnRlZ2VyIiwgeyBWYWxpZGF0ZV9OdW1iZXJJbnRlZ2VyOiB0cnVlIH0pOwogICAgICAgICAgICBDb3JlLkZvcm0uVmFsaWRhdGUuQWRkUnVsZSgiVmFsaWRhdGVfTnVtYmVySW50ZWdlckJpZ2dlclRoYW5aZXJvIiwgeyBWYWxpZGF0ZV9OdW1iZXJJbnRlZ2VyOiB0cnVlLCBWYWxpZGF0ZV9OdW1iZXJCaWdnZXJUaGFuWmVybzogdHJ1ZSB9KTsKCiAgICAgICAgfQoKICAgICAgICAvLyBEZWxldGUgSW1wb3J0L0V4cG9ydC4KICAgICAgICBUYXJnZXROUy5Jbml0SW1wb3J0RXhwb3J0RGVsZXRlKCk7CiAgICB9OwoKICAgIC8qKgogICAgICogQG5hbWUgSW1wb3J0RXhwb3J0RGVsZXRlCiAgICAgKiBAbWVtYmVyb2YgSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQKICAgICAqIEBmdW5jdGlvbgogICAgICogQGRlc2NyaXB0aW9uCiAgICAgKiAgICAgIFRoaXMgZnVuY3Rpb24gZGVsZXRlcyBpbXBvcnQvZXhwb3J0IGl0ZW0gb24gYnV0dG9uIGNsaWNrLgogICAgICovCiAgICBUYXJnZXROUy5Jbml0SW1wb3J0RXhwb3J0RGVsZXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICQoJy5JbXBvcnRFeHBvcnREZWxldGUnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciAkSW1wb3J0RXhwb3J0RGVsZXRlRWxlbWVudCA9ICQodGhpcyk7CgogICAgICAgICAgICBDb3JlLlVJLkRpYWxvZy5TaG93Q29udGVudERpYWxvZygKICAgICAgICAgICAgICAgICQoJyNEZWxldGVJbXBvcnRFeHBvcnREaWFsb2dDb250YWluZXInKSwKICAgICAgICAgICAgICAgIENvcmUuTGFuZ3VhZ2UuVHJhbnNsYXRlKCdEZWxldGUgdGhpcyB0ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgJzI0MHB4JywKICAgICAgICAgICAgICAgICdDZW50ZXInLAogICAgICAgICAgICAgICAgdHJ1ZSwKICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFR5cGU6ICdTZWNvbmRhcnknLAogICAgICAgICAgICAgICAgICAgICAgICBMYWJlbDogQ29yZS5MYW5ndWFnZS5UcmFuc2xhdGUoIkNhbmNlbCIpLAogICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29yZS5VSS5EaWFsb2cuQ2xvc2VEaWFsb2coJCgnI0RlbGV0ZUltcG9ydEV4cG9ydERpYWxvZycpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBUeXBlOiAnV2FybmluZycsCiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsOiBDb3JlLkxhbmd1YWdlLlRyYW5zbGF0ZSgiRGVsZXRlIiksCiAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5EaWFsb2cgLklubmVyQ29udGVudCAuQ2VudGVyJykudGV4dChDb3JlLkxhbmd1YWdlLlRyYW5zbGF0ZSgiRGVsZXRpbmcgdGVtcGxhdGUuLi4iKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuRGlhbG9nIC5Db250ZW50IC5Db250ZW50Rm9vdGVyJykucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29yZS5BSkFYLkZ1bmN0aW9uQ2FsbCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3JlLkNvbmZpZy5HZXQoJ0Jhc2VsaW5rJykgKyAnQWN0aW9uPUFkbWluSW1wb3J0RXhwb3J0O1N1YmFjdGlvbj1UZW1wbGF0ZURlbGV0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBUZW1wbGF0ZUlEOiAkSW1wb3J0RXhwb3J0RGVsZXRlRWxlbWVudC5kYXRhKCdpZCcpIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oUmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIERpYWxvZ1RleHQgPSBDb3JlLkxhbmd1YWdlLlRyYW5zbGF0ZSgiVGhlcmUgd2FzIGFuIGVycm9yIGRlbGV0aW5nIHRoZSB0ZW1wbGF0ZS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VJbnQoUmVzcG9uc2UsIDEwKSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNUZW1wbGF0ZUlEXycgKyBwYXJzZUludChSZXNwb25zZSwgMTApKS5mYWRlT3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpYWxvZ1RleHQgPSBDb3JlLkxhbmd1YWdlLlRyYW5zbGF0ZSgiVGVtcGxhdGUgd2FzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5EaWFsb2cgLklubmVyQ29udGVudCAuQ2VudGVyJykudGV4dChEaWFsb2dUZXh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3JlLlVJLkRpYWxvZy5DbG9zZURpYWxvZygkKCcuRGlhbG9nOnZpc2libGUnKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXQogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CiAgICB9OwoKICAgIENvcmUuSW5pdC5SZWdpc3Rlck5hbWVzcGFjZShUYXJnZXROUywgJ0FQUF9NT0RVTEUnKTsKCiAgICByZXR1cm4gVGFyZ2V0TlM7Cn0oSVRTTS5BZG1pbi5JbXBvcnRFeHBvcnQgfHwge30pKTsK</File>
        <File Permission="660" Location="var/httpd/htdocs/skins/Agent/default/css/ITSM.ImportExport.css" Encode="Base64">LyoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjEgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDIxIFpudW55IEdtYkgsIGh0dHBzOi8vem51bnkub3JnLwoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgoqLwoKLyoqCiAqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgogKiBAc2VjdGlvbiAgICAgSW1wb3J0IEV4cG9ydCBTY3JlZW4KICovCgpAbWVkaWEgc2NyZWVuLHByb2plY3Rpb24sdHYsaGFuZGhlbGQgewoKLyoqCiAqIEBzdWJzZWN0aW9uCiAqLwoKCi5NYXBIZWFkZXJSb3cgbGFiZWwgewogICAgY29sb3I6ICM5MjkyOTI7Cn0KCi5NYXBIZWFkZXJSb3cgLkhlYWRlciwKLk1hcEhlYWRlclJvdyAuRmllbGQgewogICAgZGlzcGxheTogaW5saW5lOwogICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgcGFkZGluZy1sZWZ0OiAycHg7Cn0KCmJ1dHRvbi5BcnJvd1VwLApidXR0b24uQXJyb3dEb3duIHsKICAgIGhlaWdodDogMTZweDsKICAgIHdpZHRoOiAxNnB4OwogICAgcGFkZGluZzogMXB4OwogICAgbWFyZ2luLXRvcDogMDsKICAgIG1hcmdpbi1ib3R0b206IDFweDsKICAgIGJvcmRlci1zdHlsZTogbm9uZTsKICAgIHRleHQtaW5kZW50OiAtOTk5OXB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKYnV0dG9uLkFycm93VXA6YWN0aXZlLApidXR0b24uQXJyb3dEb3duOmFjdGl2ZSB7CiAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICBtYXJnaW4tYm90dG9tOiAwOwp9CgpidXR0b24uQXJyb3dVcFtkaXNhYmxlZD0iZGlzYWJsZWQiXTphY3RpdmUsCmJ1dHRvbi5BcnJvd0Rvd25bZGlzYWJsZWQ9ImRpc2FibGVkIl06YWN0aXZlIHsKICAgIG1hcmdpbi10b3A6IDBweDsKICAgIG1hcmdpbi1ib3R0b206IDFweDsKfQoKYnV0dG9uLkFycm93VXAgewogICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29ucy9pbXBvcnRleHBvcnRfYXJyb3dfdXAucG5nKTsKfQoKYnV0dG9uLkFycm93VXBbZGlzYWJsZWQ9ImRpc2FibGVkIl0gewogICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29ucy9pbXBvcnRleHBvcnRfYXJyb3dfdXBfZGlzYWJsZWQucG5nKTsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKYnV0dG9uLkFycm93RG93biB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb25zL2ltcG9ydGV4cG9ydF9hcnJvd19kb3duLnBuZyk7Cn0KCmJ1dHRvbi5BcnJvd0Rvd25bZGlzYWJsZWQ9ImRpc2FibGVkIl17CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb25zL2ltcG9ydGV4cG9ydF9hcnJvd19kb3duX2Rpc2FibGVkLnBuZyk7CiAgICBjdXJzb3I6IGRlZmF1bHQ7Cn0KCn0gLyogZW5kIEBtZWRpYSAqLwo=</File>
        <File Permission="660" Location="var/httpd/htdocs/skins/Agent/default/img/icons/importexport_arrow_up.png" Encode="Base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZlJREFUeNqkUztLA0EQnr3bvEhhI9FC09gJInJiZbAQREHUWhTtbK8ULEWwFVLZaJE/YKWFgn2SQgxBgjYSIoYkEsxxuec6c/FxCXmAGZjbmdmZ7+a1TAgBw5AEQxL3K7OnjxAMhyEQCkEgGARJllfJ7jrOjWWaYBkGmM0mPBzOdAdoIyF2MFD9lkfxmxqYgT/Ysix1fzOukHp59apCq1epgT0QFGya6u56XMnnG0C8vTahkI3u+gJ4wYah7m1NKcWiBrregFqtArlcCTaWxhW66wRpKwEdEjTW5EUmS/riXEzhXMB9upSFdMnzYYwl/KXwjgwOsHEgXBds285oQgYHAQ1dB875PJMkmkz/Jjq2DbqmeXJFDoHDwAMwUI9Eo/0BtHod9EbjVy/zKDgugIkARHSy52uUFroDFM9WgI9NQ2T5qJUBj2AJfwD63QnY73mUznuPkRy022MwcfNsJnlMMtlawYMXadItP8Wst1yhmmz9SVQLBbTRUn0iv1CrfpyZ/zXiiOgYQY72WHDq5QfGuF0B/kNfAgwAlIbWNoRkTzIAAAAASUVORK5CYII=</File>
        <File Permission="660" Location="var/httpd/htdocs/skins/Agent/default/img/icons/importexport_arrow_up_disabled.png" Encode="Base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAAXNSR0IArs4c6QAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2goUEigB30KkogAAAMpJREFUKM+lkT0OAWEQhp/9ESJKF5FPK1oSCQfYXvvVDuAcCola5w5sKdkL6EQhYv+NYpddSyi8xUwxT2bemTGE7zJ/1LGzNKNBnRrWANJNTEjAvAzkclINtFm+dQAQJ9ZjBWstFIhZlCM9Uh4eQxVpcSqAOKGeqAM+J/b0VfhE8hFRT1i40FEWWxfA6GVjckCmKTeSXcoNH7trYlVNJlwBQQiAZhU4c8k6IfiAT+sVOD52AQJ4xsJk6VrRp1PHWXJXgOGWAePvb94BXKRFykgCmkUAAAAASUVORK5CYII=</File>
        <File Permission="660" Location="var/httpd/htdocs/skins/Agent/default/img/icons/importexport_arrow_down.png" Encode="Base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZBJREFUeNrEU79Lw0AUfpemhZI4CIpCJ92cHE4HJ0HEQcFRQdShIJ0E/5SCOBSkgxZE7CS4iIt06NIMnVxUcKhWCJb+iPl1l/gu1ppKKkIHH1zu3r33ffnu3Tvi+z4MYxIMaXLYWcy/9taEkBxOtOtqqDTzFbtNT0QTeIyFXbq5kgoIzq9rf1PgOk5fsNVyQZTo5/5AgqauQ1JVe75puuB5AI5lfe91OvidiiYwms0gOakogd9ovYPjuuCY5ifYMMC17cEKhDEEGO02yLIMNYsB9wjYSMCwPh7nvx8BK51DzZSjbo5E9biCBBAQoFW6ORpOmegi2nYJEyhNr9EHPOo9qvXAB3V1iY4mAF7OrjS83tLARkJwwbWsbPmoqCkJCXQmwRuPQVyW4Clf1ERM5IQxJNzK6vwWSmcQm1nfxv2Dsb0dyjHcOD4Vf87yu8uCVb2AMKaPAJPEJK5gRF7Y3yCTs7uBsnr1hJUPi7gUd9j2Q6AognEcKRwxMr08FxA83lS6KaLXnxHjRRL8y2v8EGAAqEvNnH+aSSAAAAAASUVORK5CYII=</File>
        <File Permission="660" Location="var/httpd/htdocs/skins/Agent/default/img/icons/importexport_arrow_down_disabled.png" Encode="Base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAAXNSR0IArs4c6QAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2goUEig6bklNhgAAAMlJREFUKM+lkT0KAjEQhb9IFEE9TToP4BU8gq2exG23FAKCYCmIra25iYL4w/6asVhddlW0cJo3yXy8CS9K+F6NH3N0IVMAVIgBnIwAJlXgVogZGNh8ckgfxzNS9jXgQAeACE8MwLUOnIjpACcyYuBa+uinVc4ZzQVPRI5/XSGhN54cQYhhB+IYVYBkK2ZojkR4+qbNyqltLSixSTBzLRIyNEuXBGJfkhSbBtb16LJwaTmuPBLEZszHoIKmfcvhieR70Ovqnfr7N++lLlCSshf+TwAAAABJRU5ErkJggg==</File>
    </Filelist>
    <DatabaseInstall Type="post">
        <TableCreate Name="imexport_template">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="imexport_object" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="imexport_format" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="name" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="valid_id" Required="true" Type="SMALLINT"/>
            <Column Name="comments" Required="false" Size="200" Type="VARCHAR"/>
            <Column Name="create_time" Required="false" Type="DATE"/>
            <Column Name="create_by" Required="false" Type="INTEGER"/>
            <Column Name="change_time" Required="false" Type="DATE"/>
            <Column Name="change_by" Required="false" Type="INTEGER"/>
            <ForeignKey ForeignTable="users">
                <Reference Local="create_by" Foreign="id"/>
                <Reference Local="change_by" Foreign="id"/>
            </ForeignKey>
        </TableCreate>
        <TableCreate Name="imexport_object">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="template_id" Required="true" Type="BIGINT"/>
            <Column Name="data_key" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="data_value" Required="true" Size="200" Type="VARCHAR"/>
            <Index Name="imexport_object_template_id">
                <IndexColumn Name="template_id"/>
            </Index>
        </TableCreate>
        <TableCreate Name="imexport_format">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="template_id" Required="true" Type="BIGINT"/>
            <Column Name="data_key" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="data_value" Required="true" Size="200" Type="VARCHAR"/>
            <Index Name="imexport_format_template_id">
                <IndexColumn Name="template_id"/>
            </Index>
        </TableCreate>
        <TableCreate Name="imexport_mapping">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="template_id" Required="true" Type="BIGINT"/>
            <Column Name="position" Required="true" Type="INTEGER"/>
            <Index Name="imexport_mapping_template_id">
                <IndexColumn Name="template_id"/>
            </Index>
        </TableCreate>
        <TableCreate Name="imexport_mapping_object">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="mapping_id" Required="true" Type="BIGINT"/>
            <Column Name="data_key" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="data_value" Required="true" Size="200" Type="VARCHAR"/>
            <Index Name="imexport_mapping_object_mapping_id">
                <IndexColumn Name="mapping_id"/>
            </Index>
        </TableCreate>
        <TableCreate Name="imexport_mapping_format">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="mapping_id" Required="true" Type="BIGINT"/>
            <Column Name="data_key" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="data_value" Required="true" Size="200" Type="VARCHAR"/>
            <Index Name="imexport_mapping_format_mapping_id">
                <IndexColumn Name="mapping_id"/>
            </Index>
        </TableCreate>
        <TableCreate Name="imexport_search">
            <Column Name="id" Required="true" PrimaryKey="true" AutoIncrement="true" Type="BIGINT"/>
            <Column Name="template_id" Required="true" Type="BIGINT"/>
            <Column Name="data_key" Required="true" Size="100" Type="VARCHAR"/>
            <Column Name="data_value" Required="true" Size="200" Type="VARCHAR"/>
            <Index Name="imexport_search_template_id">
                <IndexColumn Name="template_id"/>
            </Index>
        </TableCreate>
    </DatabaseInstall>
    <DatabaseUninstall Type="pre">
        <TableDrop Name="imexport_template"/>
        <TableDrop Name="imexport_object"/>
        <TableDrop Name="imexport_format"/>
        <TableDrop Name="imexport_mapping"/>
        <TableDrop Name="imexport_mapping_object"/>
        <TableDrop Name="imexport_mapping_format"/>
        <TableDrop Name="imexport_search"/>
    </DatabaseUninstall>
    <CodeInstall Type="post"><![CDATA[

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};

        $Kernel::OM->Get($CodeModule)->CodeInstall();

    ]]></CodeInstall>
    <!-- It is IMPORTANT that this CodeUpgrade (Version="2.0.3") comes BEFORE the regular CodeUpgrade block without any version number! -->
    <CodeUpgrade Type="post" Version="2.0.3"><![CDATA[

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};

        # discard internally stored object, so that the next access to object creates them newly
        $Kernel::OM->ObjectsDiscard(
            Objects            => [$CodeModule],
            ForcePackageReload => 1,
        );

        $Kernel::OM->Get($CodeModule)->CodeUpgradeFromBefore_2_0_3();

    ]]></CodeUpgrade>
    <CodeUpgrade Type="post" Version="4.0.91"><![CDATA[

        # create the package name
        my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};

        $Kernel::OM->Get($CodeModule)->CodeUpgradeFromLowerThan_4_0_91();

    ]]></CodeUpgrade>
    <IntroUninstall Type="pre" Title="Uninstallation Information" Lang="en"><![CDATA[

        </br>
        <strong>ATTENTION</strong>
        </br>
        </br>
        If you uninstall this package, all database tables that were created during installation will be deleted.
        All data from these tables will be irrevocably lost!
        </br>
        </br>
        ((enjoy))</br>
        </br>

    ]]></IntroUninstall>
    <IntroUninstall Type="pre" Title="Uninstallation Information" Lang="de"><![CDATA[

        </br>
        <strong>ACHTUNG</strong>
        </br>
        </br>
        Bei der Deinstallation werden die von diesem Paket angelegten Datenbank-Tabellen gelöscht.
        Alle darin enthaltenen Daten gehen unwiderruflich verloren!
        </br>
        </br>
        ((enjoy))</br>
        </br>

    ]]></IntroUninstall>
    <IntroUninstall Type="pre" Title="Uninstallation Information" Lang="es"><![CDATA[

        <br/>
        <strong>ATENCIÓN</strong>
        <br/>
        <br/>
        Si usted desinstala este paquete, todas las tablas de la base de datos que se crearon durante la instalación
        del mismo, se eliminarán. ¡La totalidad de los datos que contenían dichas tablas, se perderá irrevocablemente!
        <br/>
        <br/>
        ((enjoy))<br/>
        <br/>

    ]]></IntroUninstall>
    <IntroUninstall Type="pre" Title="Eltávolítási információk" Lang="hu"><![CDATA[

        </br>
        <strong>FIGYELEM</strong>
        </br>
        </br>
        Ha eltávolítja ezt a csomagot, akkor a telepítés során létrehozott összes adatbázistábla törlésre kerül.
        Az ezekben a táblákban lévő összes adat visszavonhatatlanul el fog veszni!
        </br>
        </br>
        ((enjoy))</br>
        </br>

    ]]></IntroUninstall>
</otrs_package>
