From Christian.Grundmann at fabasoft.com Wed Jan 11 14:16:34 2017 Content-Type: multipart/mixed; boundary="===============2352463591082789750==" MIME-Version: 1.0 From: Grundmann, Christian To: users at ovirt.org Subject: [ovirt-users] Max number of api calls per user? Date: Wed, 11 Jan 2017 14:16:29 +0000 Message-ID: <6A17C71B52524C408E7AAF69103E9E490FA8E5AE@fabamailserver.fabagl.fabasoft.com> --===============2352463591082789750== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_NextPart_000_001B_01D26C1D.AF69E5D0 Content-Type: multipart/alternative; boundary=3D"----=3D_NextPart_001_001C_01D26C1D.AF69E5D0" ------=3D_NextPart_001_001C_01D26C1D.AF69E5D0 Content-Type: text/plain; charset=3D"us-ascii" Content-Transfer-Encoding: 7bit Hi, is there a maximum number of sessions per user? = I am doing python-api calls to remove VMs If I call my script 30 times simultaneously, one or two get an error. = Traceback (most recent call last): File "remove_vm.py", line 24, in if VMNAME in [vm.name for vm in api.vms.list()]: File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py", line 35761, in list headers=3D{"All-Content":all_content} File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", line 46, in get return self.request(method=3D'GET', url=3Durl, headers=3Dheaders, cls= =3Dcls) File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", line 122, in request persistent_auth=3Dself.__persistent_auth File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py ", line 79, in do_request persistent_auth) File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py ", line 162, in __do_request raise errors.RequestError(response_code, response_reason, response_body) ovirtsdk.infrastructure.errors.RequestError: = status: 401 reason: Unauthorized detail: User is not logged in. = = Is there some setting I can tune? = Thx Christian ------=3D_NextPart_001_001C_01D26C1D.AF69E5D0 Content-Type: text/html; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

is there a maximum number of =3D sessions per user?

 

I am doing python-api calls to remove =3D VMs

If I = =3D call my script 30 times simultaneously, one or two get an =3D error.

 

Traceback (most recent call =3D
last):
  File =3D
"remove_vm.py", line 24, in =3D
<module>
    if VMNAME in [vm.name for vm in =3D
api.vms.list()]:
  =
=3D
File =3D
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py=
=3D
", line 35761, in list
    =3D
headers=3D3D{"All-Content":all_content}
  File =3D "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py&q= =3D uot;, line 46, in get
    return self.request(method=3D3D'GET', =3D
url=3D3Durl, headers=3D3Dheaders, =3D
cls=3D3Dcls)
  File =
=3D
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py&q=
=3D
uot;, line 122, in request
    =3D
persistent_auth=3D3Dself.__persistent_auth
  File =3D
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
=3D
spool.py", line 79, in do_request
    =3D
persistent_auth)
  =
=3D
File =3D
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
=3D
spool.py", line 162, in =3D
__do_request
    raise errors.RequestError(response_code, =
=3D
response_reason, response_body)
ovirtsdk.infrastructure.errors.RequestError: =3D
status: =3D
401
reason: =3D
Unauthorized
detail: User =
=3D
is not logged in.

 

 

Is there some setting I can tune?

 

Thx =3D Christian

------=3D_NextPart_001_001C_01D26C1D.AF69E5D0-- ------=3D_NextPart_000_001B_01D26C1D.AF69E5D0 Content-Type: application/pkcs7-signature; name=3D"smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=3D"smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEYgw ggO0MIICnKADAgECAhAz3dwydvPctkRqdEdmtvWQMA0GCSqGSIb3DQEBDQUAMGIxEzARBgoJkiaJ k/IsZAEZFgNjb20xGDAWBgoJkiaJk/IsZAEZFghmYWJhc29mdDEWMBQGCgmSJomT8ixkARkWBmZh YmFnbDEZMBcGA1UEAxMQRmFiYXNvZnQgUm9vdCBDQTAeFw0xNTAzMTIxMDQ5MjRaFw0zNTAzMTIx MDU5MjNaMGIxEzARBgoJkiaJk/IsZAEZFgNjb20xGDAWBgoJkiaJk/IsZAEZFghmYWJhc29mdDEW MBQGCgmSJomT8ixkARkWBmZhYmFnbDEZMBcGA1UEAxMQRmFiYXNvZnQgUm9vdCBDQTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALEpZPd3DdZ9u81Q8/ZggZz3NSdxsajLL22MQR5XVJqT C+Yf17FCCjnXWgz0WUKUwmPMm6xprJqvuYd826vR66ufSStsdqDpdxcrmD+EybzK06bLqG6ohWVT Rb/ojwo1aXQnvyuXNHMmLSJN/OwNtFwpHagNpYOZ53yOC5XGKR/Ccn2liwncVBK8T5NOCS3XhhP6 75GstUv3HBORD3aR9T5igRG8HtTSoi632Jt0RvM7m7u6Cr6404CxLKmSyeJ8UHl7Tt/tWS5GfsXh uil/1dfNgMXkbGjzG3rruq6v9fIr3ugkjx669IyE77TCCNkUUD9yGi29DAYsIcsAHInvCx8CAwEA AaNmMGQwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w HQYDVR0OBBYEFKGdS2QXPACK0nl5gjbPMfr7WXSKMBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3 DQEBDQUAA4IBAQBhSSizNg+izsk+STpoWOSI0aHUX85OHVLkUY4bREQ9JGPYLrkSpf7nSBmEELHJ PodEabiISIhMkEJYjVAT08K0NZQPxpK0wQokSitc5yQNX0Pm6uebzDk6VoDecFJ0pa2PxH5BJ9QE wj9inbSFRgMAc2QZTWsebxYh2SBdosXy1Bxsj4PQ1KkkTlVzt8tFtq2a8HFKgMAKM3E7DOlhxv2m 5rmmTmbS2y/Q51kzlbGSrAcc67NzjArHu4VXM7d7uEK9Wu4u/Ou/bo2VuFpiedl0N7Xjs6HOcRvi 70Qk68dBdIlGwfzfq7R1wgBztsOMAnT7d/pU+iBtmnO5RhxWJoqkMIIGCDCCBPCgAwIBAgITQAAA AAhP/WtF9O8JAAAAAAAACDANBgkqhkiG9w0BAQ0FADBiMRMwEQYKCZImiZPyLGQBGRYDY29tMRgw FgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZFgZmYWJhZ2wxGTAXBgNVBAMT EEZhYmFzb2Z0IFJvb3QgQ0EwHhcNMTUwMzEyMTY0NjUxWhcNMjUwMzA5MTY0NjUxWjBqMRMwEQYK CZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZ FgZmYWJhZ2wxITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALHDWZCRRueho+HBJGHMuSp+Dm0aMC78M4im5Ux7IGF8B5ZXsb+a tVBhBrFdsdazQr377siIL1W1YcS0zcezNdMKkt4/e7/Hop9pyTec5h2njAjFODuZWguXKmxPZXBa 96op0dzwvho6VVkFSp6NADZme/TNc6vm3BSSvgAZW3ALEEU26bBOZUH8KwapQJAAMEZdBwpMC7gl ig/5fhKPtxMwE9TA4axXEyRPWcFu2w91L/pSfU4eZWHj1wWcQP1DRfu8Jv1sFe7nTZejlFf5vAG6 vzELmd5ODJRC6xsSz08Dp3QXzVlqcCovcKAWdKVbgZBdYBiDriqP9n4zsTHRcqcCAwEAAaOCAq0w ggKpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBT4t/n6Dt0CIFcE0mlMpK3Ov8xrDjA9Bgkr BgEEAYI3FQcEMDAuBiYrBgEEAYI3FQi0y2GBgpx/gb2BFobG2H+C16cCgUGD4pIEgtm7EAIBZAIB AzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBShnUtkFzwAitJ5eYI2 zzH6+1l0ijCCASIGA1UdHwSCARkwggEVMIIBEaCCAQ2gggEJhoHJbGRhcDovLy9DTj1GYWJhc29m dCUyMFJvb3QlMjBDQSxDTj1GQUJBUk9PVENBLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2 aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWZhYmFnbCxEQz1mYWJhc29mdCxE Qz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3Ry aWJ1dGlvblBvaW50hjtodHRwOi8vY3JsLmZhYmFzb2Z0LmNvbS9DZXJ0RW5yb2xsL0ZhYmFzb2Z0 JTIwUm9vdCUyMENBLmNybDCB0QYIKwYBBQUHAQEEgcQwgcEwgb4GCCsGAQUFBzAChoGxbGRhcDov Ly9DTj1GYWJhc29mdCUyMFJvb3QlMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2Vydmlj ZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1mYWJhZ2wsREM9ZmFiYXNvZnQsREM9 Y29tP2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5 MA0GCSqGSIb3DQEBDQUAA4IBAQADapqIl4xDaVfGyK1VudKlSXzmZo0nwtW1QtyPkgBk+kclnPj4 sowyaJOnjAC1ybBkJYgd1tWNJw378kolEnuFrhiip8n/8zE2AFoQ4n8/P6diYj0X07nxHawTDAbk 0oLFaixsW7rqsn0/DVN6G+XSn172yR0wRLrKRjPqezsnj96RDUSzLeuj8QjTYcpdgane4kpuWl6S 7chXI51APIbLDWXhKtfQeUJkYR6ZPNjgFO5KnPjViYxmnCWuXpOOoB2P+7MuFWuahrpeRN6NF5zm NwXpCv6UeLF2BD1zjECG0D7T/Nqf/Q5W4kBDxCz2fySzbXprc98U7J1RfXY19nDsMIIHwDCCBqig AwIBAgITGgAACDuGB9gHiydMcQAAAAAIOzANBgkqhkiG9w0BAQ0FADBqMRMwEQYKCZImiZPyLGQB GRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZFgZmYWJhZ2wx ITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQTAeFw0xNzAxMDkwODE4MDJaFw0xOTAx MDkwODE4MDJaMB4xHDAaBgNVBAMTE0NocmlzdGlhbi5HcnVuZG1hbm4wggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQC5eKLQm8gyQnhKwv5yF5I/2bEnebo3+pSwTIqleOa6Rhb+XH/Zt1Oq 5Ru1EF0pKQz6skkP/6785PfJEjbhg2GPaqSPuGEn0CKUWH9lLKNqtzODOm58B0mWLpd5O+SIufZ4 YPIogrwy1mEPXc2KDdPj3YNmF7RWuEBkHj7b9BCno92bBZAGF+PpHf6ssRvzDE4hKUxIjFIZJmAp jctFFfofRgQ/AHrx4FED1pnlKZglUrMvZFJm7qrwf3euSYV83kMVTqx3fVLhcRtKh/5GQJiIdJXH kCopt6D5xmKiVcQEiieYwY4VPo0Q2fQbIMF0PlHNSXmbVrm1WNPkbcQccPbRAgMBAAGjggSpMIIE pTA9BgkrBgEEAYI3FQcEMDAuBiYrBgEEAYI3FQi0y2GBgpx/gb2BFobG2H+C16cCgUGH7+IpgbCD UQIBZAIBAjATBgNVHSUEDDAKBggrBgEFBQcDBDALBgNVHQ8EBAMCBaAwGwYJKwYBBAGCNxUKBA4w DDAKBggrBgEFBQcDBDCBlAYJKoZIhvcNAQkPBIGGMIGDMAsGCWCGSAFlAwQBKjALBglghkgBZQME AS0wCwYJYIZIAWUDBAEWMAsGCWCGSAFlAwQBGTALBglghkgBZQMEAQIwCwYJYIZIAWUDBAEFMAoG CCqGSIb3DQMHMAcGBSsOAwIHMA4GCCqGSIb3DQMCAgIAgDAOBggqhkiG9w0DBAICAgAwHQYDVR0O BBYEFDy8FgCwa5cyXmIi0XnfYHuuHgEJMB8GA1UdIwQYMBaAFPi3+foO3QIgVwTSaUykrc6/zGsO MIIBhwYDVR0fBIIBfjCCAXowggF2oIIBcqCCAW6GgdJsZGFwOi8vL0NOPUZhYmFzb2Z0JTIwSW50 ZXJtZWRpYXRlJTIwQ0EsQ049RkFCQUlOVEVSQ0EsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNl cnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZmFiYWdsLERDPWZhYmFzb2Z0 LERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlz dHJpYnV0aW9uUG9pbnSGUmh0dHA6Ly9GQUJBSU5URVJDQS5mYWJhZ2wuZmFiYXNvZnQuY29tL0Nl cnRFbnJvbGwvRmFiYXNvZnQlMjBJbnRlcm1lZGlhdGUlMjBDQS5jcmyGQ2h0dHA6Ly9jcmwuZmFi YXNvZnQuY29tL0NlcnRFbnJvbGwvRmFiYXNvZnQlMjBJbnRlcm1lZGlhdGUlMjBDQS5jcmwwggGU BggrBgEFBQcBAQSCAYYwggGCMIHGBggrBgEFBQcwAoaBuWxkYXA6Ly8vQ049RmFiYXNvZnQlMjBJ bnRlcm1lZGlhdGUlMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2Vy dmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1mYWJhZ2wsREM9ZmFiYXNvZnQsREM9Y29tP2NBQ2Vy dGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MH4GCCsGAQUF BzAChnJodHRwOi8vRkFCQUlOVEVSQ0EuZmFiYWdsLmZhYmFzb2Z0LmNvbS9DZXJ0RW5yb2xsL0ZB QkFJTlRFUkNBLmZhYmFnbC5mYWJhc29mdC5jb21fRmFiYXNvZnQlMjBJbnRlcm1lZGlhdGUlMjBD QS5jcnQwNwYIKwYBBQUHMAGGK2h0dHA6Ly9GQUJBSU5URVJDQS5mYWJhZ2wuZmFiYXNvZnQuY29t L29jc3AwKwYDVR0RBCQwIoEgQ2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20wDQYJKoZI hvcNAQENBQADggEBAJ5ZSuHMRSW90+4brUFaCsi4JwwJv8QEWl+xVXG7AqMXFtjJfbYCYLZHiHAg 6RuwI+HUOy7QDAdYyxlwXYBXtqYGAWEEq4vAY/nhGb1PcRGCxJZ9AgB2ylHUKj1abqpaOINp1cYT 5DK+SgJo5KHXAhBgs9UpABWNbuflcQdV47wjnzYKSjR+fNwKsVan/T39XyI7NJPSKUWnlG0BiEGg I7my4ilp4kNsJ8C+w8RZY5z3UFk3gNkl2kPDlgJ6aDoApKUpbYyafOopiz2jG0uaSdL3jaz4OCHb LmkA9coKWVDsAKYSlBBTabuXi5d+WNMsbC0fQMmeZu2usQnte/380XsxggPcMIID2AIBATCBgTBq MRMwEQYKCZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJ k/IsZAEZFgZmYWJhZ2wxITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQQITGgAACDuG B9gHiydMcQAAAAAIOzANBglghkgBZQMEAgEFAKCCAiswGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEH ATAcBgkqhkiG9w0BCQUxDxcNMTcwMTExMTQxNjI5WjAvBgkqhkiG9w0BCQQxIgQgdFpQRG7M7I7N x9uUqzcMrlh/Lqk8gXJDN+z4xFkcK8IwgZIGCSsGAQQBgjcQBDGBhDCBgTBqMRMwEQYKCZImiZPy LGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZFgZmYWJh Z2wxITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQQITGgAACDuGB9gHiydMcQAAAAAI OzCBkwYJKoZIhvcNAQkPMYGFMIGCMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCgYIKoZIhvcN AwcwCwYJYIZIAWUDBAECMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDALBglghkgBZQME AgEwCwYJYIZIAWUDBAIDMAsGCWCGSAFlAwQCAjAHBgUrDgMCGjCBlAYLKoZIhvcNAQkQAgsxgYSg gYEwajETMBEGCgmSJomT8ixkARkWA2NvbTEYMBYGCgmSJomT8ixkARkWCGZhYmFzb2Z0MRYwFAYK CZImiZPyLGQBGRYGZmFiYWdsMSEwHwYDVQQDExhGYWJhc29mdCBJbnRlcm1lZGlhdGUgQ0ECExoA AAg7hgfYB4snTHEAAAAACDswDQYJKoZIhvcNAQEBBQAEggEACqkzpayjkFFUIWbTqk/bJOZWZsv3 /Lzq43H5xenltq3ITqznY5TQv+qXWygKcqYa39TScnrR75Uo0jo7mrfceeu6oFSmJhY3X837ggX6 BrWrYSDReQD9iCyP4/otecxusTeBbcy+ZP/pepOD7S6fvPRgo4cG2RgAQDvEiTslWfDEhuyuHEFC nZpYD81B2Ls+OFnqbDGcIIjNRjsgElKHJtdB9Zft8k9K6SC4G1L/9En2YbLa3+P+55fVMUiAUguc WiHFqqjODSjQQaxWC7yMaIQZjbpQdrMiejno6YRk3+hMcBS+A9T+3XUn1e9muJ2muAM+IpHHBQAf SuGmBFJZ4gAAAAAAAA=3D=3D ------=3D_NextPart_000_001B_01D26C1D.AF69E5D0-- --===============2352463591082789750== Content-Type: multipart/signed MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9OZXh0UGFydF8wMDBfMDAxQl8wMUQyNkMxRC5BRjY5RTVEMApDb250ZW50LVR5cGU6 IG11bHRpcGFydC9hbHRlcm5hdGl2ZTsKCWJvdW5kYXJ5PSItLS0tPV9OZXh0UGFydF8wMDFfMDAx Q18wMUQyNkMxRC5BRjY5RTVEMCIKCgotLS0tLS09X05leHRQYXJ0XzAwMV8wMDFDXzAxRDI2QzFE LkFGNjlFNUQwCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKCWNoYXJzZXQ9InVzLWFzY2lpIgpD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CgpIaSwKCmlzIHRoZXJlIGEgbWF4aW11bSBu dW1iZXIgb2Ygc2Vzc2lvbnMgcGVyIHVzZXI/CgogCgpJIGFtIGRvaW5nIHB5dGhvbi1hcGkgY2Fs bHMgdG8gcmVtb3ZlIFZNcwoKSWYgSSBjYWxsIG15IHNjcmlwdCAzMCB0aW1lcyBzaW11bHRhbmVv dXNseSwgb25lIG9yIHR3byBnZXQgYW4gZXJyb3IuCgogCgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50 IGNhbGwgbGFzdCk6CiAgRmlsZSAicmVtb3ZlX3ZtLnB5IiwgbGluZSAyNCwgaW4gPG1vZHVsZT4K ICAgIGlmIFZNTkFNRSBpbiBbdm0ubmFtZSBmb3Igdm0gaW4gYXBpLnZtcy5saXN0KCldOgogIEZp bGUKIi91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL292aXJ0c2RrL2luZnJhc3RydWN0 dXJlL2Jyb2tlcnMucHkiLCBsaW5lCjM1NzYxLCBpbiBsaXN0CiAgICBoZWFkZXJzPXsiQWxsLUNv bnRlbnQiOmFsbF9jb250ZW50fQogIEZpbGUgIi91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2th Z2VzL292aXJ0c2RrL2luZnJhc3RydWN0dXJlL3Byb3h5LnB5IiwKbGluZSA0NiwgaW4gZ2V0CiAg ICByZXR1cm4gc2VsZi5yZXF1ZXN0KG1ldGhvZD0nR0VUJywgdXJsPXVybCwgaGVhZGVycz1oZWFk ZXJzLCBjbHM9Y2xzKQogIEZpbGUgIi91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL292 aXJ0c2RrL2luZnJhc3RydWN0dXJlL3Byb3h5LnB5IiwKbGluZSAxMjIsIGluIHJlcXVlc3QKICAg IHBlcnNpc3RlbnRfYXV0aD1zZWxmLl9fcGVyc2lzdGVudF9hdXRoCiAgRmlsZQoiL3Vzci9saWIv cHl0aG9uMi43L3NpdGUtcGFja2FnZXMvb3ZpcnRzZGsvaW5mcmFzdHJ1Y3R1cmUvY29ubmVjdGlv bnNwb29sLnB5CiIsIGxpbmUgNzksIGluIGRvX3JlcXVlc3QKICAgIHBlcnNpc3RlbnRfYXV0aCkK ICBGaWxlCiIvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9vdmlydHNkay9pbmZyYXN0 cnVjdHVyZS9jb25uZWN0aW9uc3Bvb2wucHkKIiwgbGluZSAxNjIsIGluIF9fZG9fcmVxdWVzdAog ICAgcmFpc2UgZXJyb3JzLlJlcXVlc3RFcnJvcihyZXNwb25zZV9jb2RlLCByZXNwb25zZV9yZWFz b24sIHJlc3BvbnNlX2JvZHkpCm92aXJ0c2RrLmluZnJhc3RydWN0dXJlLmVycm9ycy5SZXF1ZXN0 RXJyb3I6IApzdGF0dXM6IDQwMQpyZWFzb246IFVuYXV0aG9yaXplZApkZXRhaWw6IFVzZXIgaXMg bm90IGxvZ2dlZCBpbi4KCiAKCiAKCklzIHRoZXJlIHNvbWUgc2V0dGluZyBJIGNhbiB0dW5lPwoK IAoKVGh4IENocmlzdGlhbgoKCi0tLS0tLT1fTmV4dFBhcnRfMDAxXzAwMUNfMDFEMjZDMUQuQUY2 OUU1RDAKQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7CgljaGFyc2V0PSJ1cy1hc2NpaSIKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50YWJsZQoKPGh0bWwgeG1sbnM6dj0zRCJ1 cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIgPQp4bWxuczpvPTNEInVybjpzY2hlbWFzLW1p Y3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgPQp4bWxuczp3PTNEInVybjpzY2hlbWFzLW1pY3Jv c29mdC1jb206b2ZmaWNlOndvcmQiID0KeG1sbnM6bT0zRCJodHRwOi8vc2NoZW1hcy5taWNyb3Nv ZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiID0KeG1sbnM9M0QiaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+PGhlYWQ+PE1FVEEgPQpIVFRQLUVRVUlWPTNEIkNvbnRlbnQtVHlwZSIg Q09OVEVOVD0zRCJ0ZXh0L2h0bWw7ID0KY2hhcnNldD0zRHVzLWFzY2lpIj48bWV0YSBuYW1lPTNE R2VuZXJhdG9yIGNvbnRlbnQ9M0QiTWljcm9zb2Z0IFdvcmQgMTUgPQooZmlsdGVyZWQgbWVkaXVt KSI+PHN0eWxlPjwhLS0KLyogRm9udCBEZWZpbml0aW9ucyAqLwpAZm9udC1mYWNlCgl7Zm9udC1m YW1pbHk6IkNhbWJyaWEgTWF0aCI7CglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30KQGZv bnQtZmFjZQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7CglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAz IDIgNDt9Ci8qIFN0eWxlIERlZmluaXRpb25zICovCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws IGRpdi5Nc29Ob3JtYWwKCXttYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9u dC1zaXplOjExLjBwdDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOwoJbXNvLWZh cmVhc3QtbGFuZ3VhZ2U6RU4tVVM7fQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rCgl7bXNvLXN0 eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6IzA1NjNDMTsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp bmU7fQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQKCXttc28tc3R5bGUtcHJp b3JpdHk6OTk7Cgljb2xvcjojOTU0RjcyOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CnBy ZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHlsZS1saW5rOiJIVE1MIFZvcmZvcm1h dGllcnQgWmNobiI7CgltYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9udC1z aXplOjEwLjBwdDsKCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQpzcGFuLkUtTWFpbEZvcm1h dHZvcmxhZ2UxNwoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLWNvbXBvc2U7Cglmb250LWZhbWls eToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOndpbmRvd3RleHQ7fQpzcGFuLkhUTUxWb3Jm b3JtYXRpZXJ0WmNobgoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFZvcmZvcm1hdGllcnQgWmNobiI7 Cgltc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgltc28tc3R5bGUtbGluazoiSFRNTCBWb3Jmb3JtYXRp ZXJ0IjsKCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Cgltc28tZmFyZWFzdC1sYW5ndWFnZTpE RS1BVDt9CnNwYW4udGltZXN0YW1wCgl7bXNvLXN0eWxlLW5hbWU6dGltZXN0YW1wO30KLk1zb0No cERlZmF1bHQKCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKCW1zby1mYXJlYXN0LWxhbmd1 YWdlOkVOLVVTO30KQHBhZ2UgV29yZFNlY3Rpb24xCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7Cglt YXJnaW46NzAuODVwdCA3MC44NXB0IDIuMGNtIDcwLjg1cHQ7fQpkaXYuV29yZFNlY3Rpb24xCgl7 cGFnZTpXb3JkU2VjdGlvbjE7fQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8 bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PTNEImVkaXQiIHNwaWRtYXg9M0QiMTAyNiIgLz4KPC94bWw+ PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBlbGF5b3V0IHY6ZXh0 PTNEImVkaXQiPgo8bzppZG1hcCB2OmV4dD0zRCJlZGl0IiBkYXRhPTNEIjEiIC8+CjwvbzpzaGFw ZWxheW91dD48L3htbD48IVtlbmRpZl0tLT48L2hlYWQ+PGJvZHkgbGFuZz0zRERFLUFUID0KbGlu az0zRCIjMDU2M0MxIiB2bGluaz0zRCIjOTU0RjcyIj48ZGl2IGNsYXNzPTNEV29yZFNlY3Rpb24x PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gbGFuZz0zREVOLVVTPkhpLDxvOnA+PC9vOnA+ PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxzcGFuIGxhbmc9M0RFTi1VUz5pcyB0 aGVyZSBhIG1heGltdW0gbnVtYmVyIG9mID0Kc2Vzc2lvbnMgcGVyIHVzZXI/PG86cD48L286cD48 L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVTPjxvOnA+ Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9Cmxhbmc9 M0RFTi1VUz5JIGFtIGRvaW5nIHB5dGhvbi1hcGkgY2FsbHMgdG8gcmVtb3ZlID0KVk1zPG86cD48 L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuIGxhbmc9M0RFTi1VUz5J ZiBJID0KY2FsbCBteSBzY3JpcHQgMzAgdGltZXMgc2ltdWx0YW5lb3VzbHksIG9uZSBvciB0d28g Z2V0IGFuID0KZXJyb3IuPG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFs PjxzcGFuID0KbGFuZz0zREVOLVVTPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cHJlPjxz cGFuID0KbGFuZz0zREVOLVVTPlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCA9Cmxhc3QpOjxv OnA+PC9vOnA+PC9zcGFuPjwvcHJlPjxwcmU+PHNwYW4gbGFuZz0zREVOLVVTPiZuYnNwOyBGaWxl ID0KJnF1b3Q7cmVtb3ZlX3ZtLnB5JnF1b3Q7LCBsaW5lIDI0LCBpbiA9CiZsdDttb2R1bGUmZ3Q7 PG86cD48L286cD48L3NwYW4+PC9wcmU+PHByZT48c3BhbiA9Cmxhbmc9M0RFTi1VUz4mbmJzcDsm bmJzcDsmbmJzcDsgaWYgVk1OQU1FIGluIFt2bS5uYW1lIGZvciB2bSBpbiA9CmFwaS52bXMubGlz dCgpXTo8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGFuIGxhbmc9M0RFTi1VUz4mbmJz cDsgPQpGaWxlID0KJnF1b3Q7L3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvb3ZpcnRz ZGsvaW5mcmFzdHJ1Y3R1cmUvYnJva2Vycy5weT0KJnF1b3Q7LCBsaW5lIDM1NzYxLCBpbiBsaXN0 PG86cD48L286cD48L3NwYW4+PC9wcmU+PHByZT48c3BhbiA9Cmxhbmc9M0RFTi1VUz4mbmJzcDsm bmJzcDsmbmJzcDsgPQpoZWFkZXJzPTNEeyZxdW90O0FsbC1Db250ZW50JnF1b3Q7OmFsbF9jb250 ZW50fTxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPjxwPQpyZT48c3BhbiBsYW5nPTNERU4tVVM+Jm5i c3A7IEZpbGUgPQomcXVvdDsvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9vdmlydHNk ay9pbmZyYXN0cnVjdHVyZS9wcm94eS5weSZxPQp1b3Q7LCBsaW5lIDQ2LCBpbiBnZXQ8bzpwPjwv bzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGFuID0KbGFuZz0zREVOLVVTPiZuYnNwOyZuYnNwOyZu YnNwOyByZXR1cm4gc2VsZi5yZXF1ZXN0KG1ldGhvZD0zRCdHRVQnLCA9CnVybD0zRHVybCwgaGVh ZGVycz0zRGhlYWRlcnMsID0KY2xzPTNEY2xzKTxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPjxwcmU+ PHNwYW4gbGFuZz0zREVOLVVTPiZuYnNwOyBGaWxlID0KJnF1b3Q7L3Vzci9saWIvcHl0aG9uMi43 L3NpdGUtcGFja2FnZXMvb3ZpcnRzZGsvaW5mcmFzdHJ1Y3R1cmUvcHJveHkucHkmcT0KdW90Oywg bGluZSAxMjIsIGluIHJlcXVlc3Q8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGFuID0K bGFuZz0zREVOLVVTPiZuYnNwOyZuYnNwOyZuYnNwOyA9CnBlcnNpc3RlbnRfYXV0aD0zRHNlbGYu X19wZXJzaXN0ZW50X2F1dGg8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGE9Cm4gbGFu Zz0zREVOLVVTPiZuYnNwOyBGaWxlID0KJnF1b3Q7L3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFj a2FnZXMvb3ZpcnRzZGsvaW5mcmFzdHJ1Y3R1cmUvY29ubmVjdGlvbj0Kc3Bvb2wucHkmcXVvdDss IGxpbmUgNzksIGluIGRvX3JlcXVlc3Q8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGFu ID0KbGFuZz0zREVOLVVTPiZuYnNwOyZuYnNwOyZuYnNwOyA9CnBlcnNpc3RlbnRfYXV0aCk8bzpw PjwvbzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGFuIGxhbmc9M0RFTi1VUz4mbmJzcDsgPQpGaWxl ID0KJnF1b3Q7L3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvb3ZpcnRzZGsvaW5mcmFz dHJ1Y3R1cmUvY29ubmVjdGlvbj0Kc3Bvb2wucHkmcXVvdDssIGxpbmUgMTYyLCBpbiA9Cl9fZG9f cmVxdWVzdDxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPjxwcmU+PHNwYW4gPQpsYW5nPTNERU4tVVM+ Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJhaXNlIGVycm9ycy5SZXF1ZXN0RXJyb3IocmVzcG9uc2VfY29k ZSwgPQpyZXNwb25zZV9yZWFzb24sIHJlc3BvbnNlX2JvZHkpPG86cD48L286cD48L3NwYW4+PC9w cmU+PHByZT48c3BhbiA9Cmxhbmc9M0RFTi1VUz5vdmlydHNkay5pbmZyYXN0cnVjdHVyZS5lcnJv cnMuUmVxdWVzdEVycm9yOiA9CjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPjxwcmU+PHNwYW4gbGFu Zz0zREVOLVVTPnN0YXR1czogPQo0MDE8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT48cHJlPjxzcGFu IGxhbmc9M0RFTi1VUz5yZWFzb246ID0KVW5hdXRob3JpemVkPG86cD48L286cD48L3NwYW4+PC9w cmU+PHByZT48c3BhbiBsYW5nPTNERU4tVVM+ZGV0YWlsOiBVc2VyID0KaXMgbm90IGxvZ2dlZCBp bi48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9Cmxh bmc9M0RFTi1VUz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3Jt YWw+PHNwYW4gPQpsYW5nPTNERU4tVVM+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNs YXNzPTNETXNvTm9ybWFsPjxzcGFuID0KbGFuZz0zREVOLVVTPklzIHRoZXJlIHNvbWUgc2V0dGlu ZyBJIGNhbiB0dW5lPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFs PjxzcGFuIGxhbmc9M0RFTi1VUz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFz cz0zRE1zb05vcm1hbD48c3BhbiBsYW5nPTNERU4tVVM+VGh4ID0KQ2hyaXN0aWFuPG86cD48L286 cD48L3NwYW4+PC9wPjwvZGl2PjwvYm9keT48L2h0bWw+Ci0tLS0tLT1fTmV4dFBhcnRfMDAxXzAw MUNfMDFEMjZDMUQuQUY2OUU1RDAtLQoKLS0tLS0tPV9OZXh0UGFydF8wMDBfMDAxQl8wMUQyNkMx RC5BRjY5RTVEMApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZTsgbmFt ZT0ic21pbWUucDdzIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQKQ29udGVudC1E aXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InNtaW1lLnA3cyIKCk1JQUdDU3FHU0li M0RRRUhBcUNBTUlBQ0FRRXhEekFOQmdsZ2hrZ0JaUU1FQWdFRkFEQ0FCZ2txaGtpRzl3MEJCd0VB QUtDQ0VZZ3cKZ2dPME1JSUNuS0FEQWdFQ0FoQXozZHd5ZHZQY3RrUnFkRWRtdHZXUU1BMEdDU3FH U0liM0RRRUJEUVVBTUdJeEV6QVJCZ29Ka2lhSgprL0lzWkFFWkZnTmpiMjB4R0RBV0Jnb0praWFK ay9Jc1pBRVpGZ2htWVdKaGMyOW1kREVXTUJRR0NnbVNKb21UOGl4a0FSa1dCbVpoClltRm5iREVa TUJjR0ExVUVBeE1RUm1GaVlYTnZablFnVW05dmRDQkRRVEFlRncweE5UQXpNVEl4TURRNU1qUmFG dzB6TlRBek1USXgKTURVNU1qTmFNR0l4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEdEQVdC Z29Ka2lhSmsvSXNaQUVaRmdobVlXSmhjMjltZERFVwpNQlFHQ2dtU0pvbVQ4aXhrQVJrV0JtWmhZ bUZuYkRFWk1CY0dBMVVFQXhNUVJtRmlZWE52Wm5RZ1VtOXZkQ0JEUVRDQ0FTSXdEUVlKCktvWklo dmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxFcFpQZDNEZFo5dTgxUTgvWmdnWnozTlNkeHNh akxMMjJNUVI1WFZKcVQKQytZZjE3RkNDam5YV2d6MFdVS1V3bVBNbTZ4cHJKcXZ1WWQ4MjZ2UjY2 dWZTU3RzZHFEcGR4Y3JtRCtFeWJ6SzA2YkxxRzZvaFdWVApSYi9vandvMWFYUW52eXVYTkhNbUxT Sk4vT3dOdEZ3cEhhZ05wWU9aNTN5T0M1WEdLUi9DY24ybGl3bmNWQks4VDVOT0NTM1hoaFA2Cjc1 R3N0VXYzSEJPUkQzYVI5VDVpZ1JHOEh0VFNvaTYzMkp0MFJ2TTdtN3U2Q3I2NDA0Q3hMS21TeWVK OFVIbDdUdC90V1M1R2ZzWGgKdWlsLzFkZk5nTVhrYkdqekczcnJ1cTZ2OWZJcjN1Z2tqeDY2OUl5 RTc3VENDTmtVVUQ5eUdpMjlEQVlzSWNzQUhJbnZDeDhDQXdFQQpBYU5tTUdRd0V3WUpLd1lCQkFH Q054UUNCQVllQkFCREFFRXdDd1lEVlIwUEJBUURBZ0dHTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3 CkhRWURWUjBPQkJZRUZLR2RTMlFYUEFDSzBubDVnamJQTWZyN1dYU0tNQkFHQ1NzR0FRUUJnamNW QVFRREFnRUFNQTBHQ1NxR1NJYjMKRFFFQkRRVUFBNElCQVFCaFNTaXpOZytpenNrK1NUcG9XT1NJ MGFIVVg4NU9IVkxrVVk0YlJFUTlKR1BZTHJrU3BmN25TQm1FRUxISgpQb2RFYWJpSVNJaE1rRUpZ alZBVDA4SzBOWlFQeHBLMHdRb2tTaXRjNXlRTlgwUG02dWViekRrNlZvRGVjRkowcGEyUHhINUJK OVFFCndqOWluYlNGUmdNQWMyUVpUV3NlYnhZaDJTQmRvc1h5MUJ4c2o0UFExS2trVGxWenQ4dEZ0 cTJhOEhGS2dNQUtNM0U3RE9saHh2Mm0KNXJtbVRtYlMyeS9RNTFremxiR1NyQWNjNjdOempBckh1 NFZYTTdkN3VFSzlXdTR1L091L2JvMlZ1RnBpZWRsME43WGpzNkhPY1J2aQo3MFFrNjhkQmRJbEd3 ZnpmcTdSMXdnQnp0c09NQW5UN2QvcFUraUJ0bW5PNVJoeFdKb3FrTUlJR0NEQ0NCUENnQXdJQkFn SVRRQUFBCkFBaFAvV3RGOU84SkFBQUFBQUFBQ0RBTkJna3Foa2lHOXcwQkFRMEZBREJpTVJNd0VR WUtDWkltaVpQeUxHUUJHUllEWTI5dE1SZ3cKRmdZS0NaSW1pWlB5TEdRQkdSWUlabUZpWVhOdlpu UXhGakFVQmdvSmtpYUprL0lzWkFFWkZnWm1ZV0poWjJ3eEdUQVhCZ05WQkFNVApFRVpoWW1GemIy WjBJRkp2YjNRZ1EwRXdIaGNOTVRVd016RXlNVFkwTmpVeFdoY05NalV3TXpBNU1UWTBOalV4V2pC cU1STXdFUVlLCkNaSW1pWlB5TEdRQkdSWURZMjl0TVJnd0ZnWUtDWkltaVpQeUxHUUJHUllJWm1G aVlYTnZablF4RmpBVUJnb0praWFKay9Jc1pBRVoKRmdabVlXSmhaMnd4SVRBZkJnTlZCQU1UR0Va aFltRnpiMlowSUVsdWRHVnliV1ZrYVdGMFpTQkRRVENDQVNJd0RRWUpLb1pJaHZjTgpBUUVCQlFB RGdnRVBBRENDQVFvQ2dnRUJBTEhEV1pDUlJ1ZWhvK0hCSkdITXVTcCtEbTBhTUM3OE00aW01VXg3 SUdGOEI1WlhzYithCnRWQmhCckZkc2RhelFyMzc3c2lJTDFXMVljUzB6Y2V6TmRNS2t0NC9lNy9I b3A5cHlUZWM1aDJuakFqRk9EdVpXZ3VYS214UFpYQmEKOTZvcDBkend2aG82VlZrRlNwNk5BRFpt ZS9UTmM2dm0zQlNTdmdBWlczQUxFRVUyNmJCT1pVSDhLd2FwUUpBQU1FWmRCd3BNQzdnbAppZy81 ZmhLUHR4TXdFOVRBNGF4WEV5UlBXY0Z1Mnc5MUwvcFNmVTRlWldIajF3V2NRUDFEUmZ1OEp2MXNG ZTduVFplamxGZjV2QUc2CnZ6RUxtZDVPREpSQzZ4c1N6MDhEcDNRWHpWbHFjQ292Y0tBV2RLVmJn WkJkWUJpRHJpcVA5bjR6c1RIUmNxY0NBd0VBQWFPQ0FxMHcKZ2dLcE1CQUdDU3NHQVFRQmdqY1ZB UVFEQWdFQU1CMEdBMVVkRGdRV0JCVDR0L242RHQwQ0lGY0UwbWxNcEszT3Y4eHJEakE5QmdrcgpC Z0VFQVlJM0ZRY0VNREF1QmlZckJnRUVBWUkzRlFpMHkyR0JncHgvZ2IyQkZvYkcySCtDMTZjQ2dV R0Q0cElFZ3RtN0VBSUJaQUlCCkF6QUxCZ05WSFE4RUJBTUNBWVl3RHdZRFZSMFRBUUgvQkFVd0F3 RUIvekFmQmdOVkhTTUVHREFXZ0JTaG5VdGtGendBaXRKNWVZSTIKenpINisxbDBpakNDQVNJR0Ex VWRId1NDQVJrd2dnRVZNSUlCRWFDQ0FRMmdnZ0VKaG9ISmJHUmhjRG92THk5RFRqMUdZV0poYzI5 bQpkQ1V5TUZKdmIzUWxNakJEUVN4RFRqMUdRVUpCVWs5UFZFTkJMRU5PUFVORVVDeERUajFRZFdK c2FXTWxNakJMWlhrbE1qQlRaWEoyCmFXTmxjeXhEVGoxVFpYSjJhV05sY3l4RFRqMURiMjVtYVdk MWNtRjBhVzl1TEVSRFBXWmhZbUZuYkN4RVF6MW1ZV0poYzI5bWRDeEUKUXoxamIyMC9ZMlZ5ZEds bWFXTmhkR1ZTWlhadlkyRjBhVzl1VEdsemREOWlZWE5sUDI5aWFtVmpkRU5zWVhOelBXTlNURVJw YzNSeQphV0oxZEdsdmJsQnZhVzUwaGp0b2RIUndPaTh2WTNKc0xtWmhZbUZ6YjJaMExtTnZiUzlE WlhKMFJXNXliMnhzTDBaaFltRnpiMlowCkpUSXdVbTl2ZENVeU1FTkJMbU55YkRDQjBRWUlLd1lC QlFVSEFRRUVnY1F3Z2NFd2diNEdDQ3NHQVFVRkJ6QUNob0d4YkdSaGNEb3YKTHk5RFRqMUdZV0po YzI5bWRDVXlNRkp2YjNRbE1qQkRRU3hEVGoxQlNVRXNRMDQ5VUhWaWJHbGpKVEl3UzJWNUpUSXdV MlZ5ZG1sagpaWE1zUTA0OVUyVnlkbWxqWlhNc1EwNDlRMjl1Wm1sbmRYSmhkR2x2Yml4RVF6MW1Z V0poWjJ3c1JFTTlabUZpWVhOdlpuUXNSRU05ClkyOXRQMk5CUTJWeWRHbG1hV05oZEdVL1ltRnpa VDl2WW1wbFkzUkRiR0Z6Y3oxalpYSjBhV1pwWTJGMGFXOXVRWFYwYUc5eWFYUjUKTUEwR0NTcUdT SWIzRFFFQkRRVUFBNElCQVFBRGFwcUlsNHhEYVZmR3lLMVZ1ZEtsU1h6bVpvMG53dFcxUXR5UGtn Qmsra2NsblBqNApzb3d5YUpPbmpBQzF5YkJrSllnZDF0V05KdzM3OGtvbEVudUZyaGlpcDhuLzh6 RTJBRm9RNG44L1A2ZGlZajBYMDdueEhhd1REQWJrCjBvTEZhaXhzVzdycXNuMC9EVk42RytYU24x NzJ5UjB3UkxyS1JqUHFlenNuajk2UkRVU3pMZXVqOFFqVFljcGRnYW5lNGtwdVdsNlMKN2NoWEk1 MUFQSWJMRFdYaEt0ZlFlVUprWVI2WlBOamdGTzVLblBqVmlZeG1uQ1d1WHBPT29CMlArN011Rld1 YWhycGVSTjZORjV6bQpOd1hwQ3Y2VWVMRjJCRDF6akVDRzBEN1QvTnFmL1E1VzRrQkR4Q3oyZnlT emJYcHJjOThVN0oxUmZYWTE5bkRzTUlJSHdEQ0NCcWlnCkF3SUJBZ0lUR2dBQUNEdUdCOWdIaXlk TWNRQUFBQUFJT3pBTkJna3Foa2lHOXcwQkFRMEZBREJxTVJNd0VRWUtDWkltaVpQeUxHUUIKR1JZ RFkyOXRNUmd3RmdZS0NaSW1pWlB5TEdRQkdSWUlabUZpWVhOdlpuUXhGakFVQmdvSmtpYUprL0lz WkFFWkZnWm1ZV0poWjJ3eApJVEFmQmdOVkJBTVRHRVpoWW1GemIyWjBJRWx1ZEdWeWJXVmthV0Yw WlNCRFFUQWVGdzB4TnpBeE1Ea3dPREU0TURKYUZ3MHhPVEF4Ck1Ea3dPREU0TURKYU1CNHhIREFh QmdOVkJBTVRFME5vY21semRHbGhiaTVIY25WdVpHMWhibTR3Z2dFaU1BMEdDU3FHU0liM0RRRUIK QVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUM1ZUtMUW04Z3lRbmhLd3Y1eUY1SS8yYkVuZWJvMytwU3dU SXFsZU9hNlJoYitYSC9adDFPcQo1UnUxRUYwcEtRejZza2tQLzY3ODVQZkpFamJoZzJHUGFxU1B1 R0VuMENLVVdIOWxMS05xdHpPRE9tNThCMG1XTHBkNU8rU0l1Zlo0CllQSW9ncnd5MW1FUFhjMktE ZFBqM1lObUY3Uld1RUJrSGo3YjlCQ25vOTJiQlpBR0YrUHBIZjZzc1J2ekRFNGhLVXhJakZJWkpt QXAKamN0RkZmb2ZSZ1EvQUhyeDRGRUQxcG5sS1pnbFVyTXZaRkptN3Fyd2YzZXVTWVY4M2tNVlRx eDNmVkxoY1J0S2gvNUdRSmlJZEpYSAprQ29wdDZENXhtS2lWY1FFaWllWXdZNFZQbzBRMmZRYklN RjBQbEhOU1htYlZybTFXTlBrYmNRY2NQYlJBZ01CQUFHamdnU3BNSUlFCnBUQTlCZ2tyQmdFRUFZ STNGUWNFTURBdUJpWXJCZ0VFQVlJM0ZRaTB5MkdCZ3B4L2diMkJGb2JHMkgrQzE2Y0NnVUdINytJ cGdiQ0QKVVFJQlpBSUJBakFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQkRBTEJnTlZIUThFQkFN Q0JhQXdHd1lKS3dZQkJBR0NOeFVLQkE0dwpEREFLQmdnckJnRUZCUWNEQkRDQmxBWUpLb1pJaHZj TkFRa1BCSUdHTUlHRE1Bc0dDV0NHU0FGbEF3UUJLakFMQmdsZ2hrZ0JaUU1FCkFTMHdDd1lKWUla SUFXVURCQUVXTUFzR0NXQ0dTQUZsQXdRQkdUQUxCZ2xnaGtnQlpRTUVBUUl3Q3dZSllJWklBV1VE QkFFRk1Bb0cKQ0NxR1NJYjNEUU1ITUFjR0JTc09Bd0lITUE0R0NDcUdTSWIzRFFNQ0FnSUFnREFP QmdncWhraUc5dzBEQkFJQ0FnQXdIUVlEVlIwTwpCQllFRkR5OEZnQ3dhNWN5WG1JaTBYbmZZSHV1 SGdFSk1COEdBMVVkSXdRWU1CYUFGUGkzK2ZvTzNRSWdWd1RTYVV5a3JjNi96R3NPCk1JSUJod1lE VlIwZkJJSUJmakNDQVhvd2dnRjJvSUlCY3FDQ0FXNkdnZEpzWkdGd09pOHZMME5PUFVaaFltRnpi MlowSlRJd1NXNTAKWlhKdFpXUnBZWFJsSlRJd1EwRXNRMDQ5UmtGQ1FVbE9WRVZTUTBFc1EwNDlR MFJRTEVOT1BWQjFZbXhwWXlVeU1FdGxlU1V5TUZObApjblpwWTJWekxFTk9QVk5sY25acFkyVnpM RU5PUFVOdmJtWnBaM1Z5WVhScGIyNHNSRU05Wm1GaVlXZHNMRVJEUFdaaFltRnpiMlowCkxFUkRQ V052YlQ5alpYSjBhV1pwWTJGMFpWSmxkbTlqWVhScGIyNU1hWE4wUDJKaGMyVS9iMkpxWldOMFEy eGhjM005WTFKTVJHbHoKZEhKcFluVjBhVzl1VUc5cGJuU0dVbWgwZEhBNkx5OUdRVUpCU1U1VVJW SkRRUzVtWVdKaFoyd3VabUZpWVhOdlpuUXVZMjl0TDBObApjblJGYm5KdmJHd3ZSbUZpWVhOdlpu UWxNakJKYm5SbGNtMWxaR2xoZEdVbE1qQkRRUzVqY215R1EyaDBkSEE2THk5amNtd3VabUZpCllY TnZablF1WTI5dEwwTmxjblJGYm5KdmJHd3ZSbUZpWVhOdlpuUWxNakJKYm5SbGNtMWxaR2xoZEdV bE1qQkRRUzVqY213d2dnR1UKQmdnckJnRUZCUWNCQVFTQ0FZWXdnZ0dDTUlIR0JnZ3JCZ0VGQlFj d0FvYUJ1V3hrWVhBNkx5OHZRMDQ5Um1GaVlYTnZablFsTWpCSgpiblJsY20xbFpHbGhkR1VsTWpC RFFTeERUajFCU1VFc1EwNDlVSFZpYkdsakpUSXdTMlY1SlRJd1UyVnlkbWxqWlhNc1EwNDlVMlZ5 CmRtbGpaWE1zUTA0OVEyOXVabWxuZFhKaGRHbHZiaXhFUXoxbVlXSmhaMndzUkVNOVptRmlZWE52 Wm5Rc1JFTTlZMjl0UDJOQlEyVnkKZEdsbWFXTmhkR1UvWW1GelpUOXZZbXBsWTNSRGJHRnpjejFq WlhKMGFXWnBZMkYwYVc5dVFYVjBhRzl5YVhSNU1INEdDQ3NHQVFVRgpCekFDaG5Kb2RIUndPaTh2 UmtGQ1FVbE9WRVZTUTBFdVptRmlZV2RzTG1aaFltRnpiMlowTG1OdmJTOURaWEowUlc1eWIyeHNM MFpCClFrRkpUbFJGVWtOQkxtWmhZbUZuYkM1bVlXSmhjMjltZEM1amIyMWZSbUZpWVhOdlpuUWxN akJKYm5SbGNtMWxaR2xoZEdVbE1qQkQKUVM1amNuUXdOd1lJS3dZQkJRVUhNQUdHSzJoMGRIQTZM eTlHUVVKQlNVNVVSVkpEUVM1bVlXSmhaMnd1Wm1GaVlYTnZablF1WTI5dApMMjlqYzNBd0t3WURW UjBSQkNRd0lvRWdRMmh5YVhOMGFXRnVMa2R5ZFc1a2JXRnVia0JtWVdKaGMyOW1kQzVqYjIwd0RR WUpLb1pJCmh2Y05BUUVOQlFBRGdnRUJBSjVaU3VITVJTVzkwKzRiclVGYUNzaTRKd3dKdjhRRVds K3hWWEc3QXFNWEZ0akpmYllDWUxaSGlIQWcKNlJ1d0krSFVPeTdRREFkWXl4bHdYWUJYdHFZR0FX RUVxNHZBWS9uaEdiMVBjUkdDeEpaOUFnQjJ5bEhVS2oxYWJxcGFPSU5wMWNZVAo1REsrU2dKbzVL SFhBaEJnczlVcEFCV05idWZsY1FkVjQ3d2puellLU2pSK2ZOd0tzVmFuL1QzOVh5STdOSlBTS1VX bmxHMEJpRUdnCkk3bXk0aWxwNGtOc0o4Qyt3OFJaWTV6M1VGazNnTmtsMmtQRGxnSjZhRG9BcEtV cGJZeWFmT29waXoyakcwdWFTZEwzamF6NE9DSGIKTG1rQTljb0tXVkRzQUtZU2xCQlRhYnVYaTVk K1dOTXNiQzBmUU1tZVp1MnVzUW50ZS8zODBYc3hnZ1BjTUlJRDJBSUJBVENCZ1RCcQpNUk13RVFZ S0NaSW1pWlB5TEdRQkdSWURZMjl0TVJnd0ZnWUtDWkltaVpQeUxHUUJHUllJWm1GaVlYTnZablF4 RmpBVUJnb0praWFKCmsvSXNaQUVaRmdabVlXSmhaMnd4SVRBZkJnTlZCQU1UR0VaaFltRnpiMlow SUVsdWRHVnliV1ZrYVdGMFpTQkRRUUlUR2dBQUNEdUcKQjlnSGl5ZE1jUUFBQUFBSU96QU5CZ2xn aGtnQlpRTUVBZ0VGQUtDQ0Fpc3dHQVlKS29aSWh2Y05BUWtETVFzR0NTcUdTSWIzRFFFSApBVEFj QmdrcWhraUc5dzBCQ1FVeER4Y05NVGN3TVRFeE1UUXhOakk1V2pBdkJna3Foa2lHOXcwQkNRUXhJ Z1FnZEZwUVJHN003STdOCng5dVVxemNNcmxoL0xxazhnWEpETit6NHhGa2NLOEl3Z1pJR0NTc0dB UVFCZ2pjUUJER0JoRENCZ1RCcU1STXdFUVlLQ1pJbWlaUHkKTEdRQkdSWURZMjl0TVJnd0ZnWUtD WkltaVpQeUxHUUJHUllJWm1GaVlYTnZablF4RmpBVUJnb0praWFKay9Jc1pBRVpGZ1ptWVdKaApa Mnd4SVRBZkJnTlZCQU1UR0VaaFltRnpiMlowSUVsdWRHVnliV1ZrYVdGMFpTQkRRUUlUR2dBQUNE dUdCOWdIaXlkTWNRQUFBQUFJCk96Q0Jrd1lKS29aSWh2Y05BUWtQTVlHRk1JR0NNQXNHQ1dDR1NB RmxBd1FCS2pBTEJnbGdoa2dCWlFNRUFSWXdDZ1lJS29aSWh2Y04KQXdjd0N3WUpZSVpJQVdVREJB RUNNQTRHQ0NxR1NJYjNEUU1DQWdJQWdEQU5CZ2dxaGtpRzl3MERBZ0lCUURBTEJnbGdoa2dCWlFN RQpBZ0V3Q3dZSllJWklBV1VEQkFJRE1Bc0dDV0NHU0FGbEF3UUNBakFIQmdVckRnTUNHakNCbEFZ TEtvWklodmNOQVFrUUFnc3hnWVNnCmdZRXdhakVUTUJFR0NnbVNKb21UOGl4a0FSa1dBMk52YlRF WU1CWUdDZ21TSm9tVDhpeGtBUmtXQ0daaFltRnpiMlowTVJZd0ZBWUsKQ1pJbWlaUHlMR1FCR1JZ R1ptRmlZV2RzTVNFd0h3WURWUVFERXhoR1lXSmhjMjltZENCSmJuUmxjbTFsWkdsaGRHVWdRMEVD RXhvQQpBQWc3aGdmWUI0c25USEVBQUFBQUNEc3dEUVlKS29aSWh2Y05BUUVCQlFBRWdnRUFDcWt6 cGF5amtGRlVJV2JUcWsvYkpPWldac3YzCi9MenE0M0g1eGVubHRxM0lUcXpuWTVUUXYrcVhXeWdL Y3FZYTM5VFNjbnJSNzVVbzBqbzdtcmZjZWV1Nm9GU21KaFkzWDgzN2dnWDYKQnJXcllTRFJlUUQ5 aUN5UDQvb3RlY3h1c1RlQmJjeStaUC9wZXBPRDdTNmZ2UFJnbzRjRzJSZ0FRRHZFaVRzbFdmREVo dXl1SEVGQwpuWnBZRDgxQjJMcytPRm5xYkRHY0lJak5SanNnRWxLSEp0ZEI5WmZ0OGs5SzZTQzRH MUwvOUVuMlliTGEzK1ArNTVmVk1VaUFVZ3VjCldpSEZxcWpPRFNqUVFheFdDN3lNYUlRWmpicFFk ck1pZWpubzZZUmszK2hNY0JTK0E5VCszWFVuMWU5bXVKMm11QU0rSXBISEJRQWYKU3VHbUJGSlo0 Z0FBQUFBQUFBPT0KCi0tLS0tLT1fTmV4dFBhcnRfMDAwXzAwMUJfMDFEMjZDMUQuQUY2OUU1RDAt LQo= --===============2352463591082789750==-- From jhernand at redhat.com Wed Jan 11 14:26:24 2017 Content-Type: multipart/mixed; boundary="===============2149877787302348152==" MIME-Version: 1.0 From: =?utf-8?q?Juan_Hern=C3=A1ndez_=3Cjhernand_at_redhat=2Ecom=3E?= To: users at ovirt.org Subject: Re: [ovirt-users] Max number of api calls per user? Date: Wed, 11 Jan 2017 15:26:20 +0100 Message-ID: In-Reply-To: 6A17C71B52524C408E7AAF69103E9E490FA8E5AE@fabamailserver.fabagl.fabasoft.com --===============2149877787302348152== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 01/11/2017 03:16 PM, Grundmann, Christian wrote: > Hi, > = > is there a maximum number of sessions per user? > = There is no limit, except the available memory. > = > = > I am doing python-api calls to remove VMs > = > If I call my script 30 times simultaneously, one or two get an error. > What does 'simultaneously' mean exactly? Are you sending the requests in parallel from different threads? Or from different processes? Or just sending them in a loop? The /var/log/ovirt-engine/server.log, /var/log/ovirt-engine/engine.log and /var/log/httpd/ssl_access_log files can help determine what is happening. Can you check and maybe share the relevant part of those files? > = > = > Traceback (most recent call last): > = > File "remove_vm.py", line 24, in > = > if VMNAME in [vm.name for vm in api.vms.list()]: > = > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py", > line 35761, in list > = > headers=3D{"All-Content":all_content} > = > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", > line 46, in get > = > return self.request(method=3D'GET', url=3Durl, headers=3Dheaders, cls= =3Dcls) > = > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", > line 122, in request > = > persistent_auth=3Dself.__persistent_auth > = > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool= .py", > line 79, in do_request > = > persistent_auth) > = > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool= .py", > line 162, in __do_request > = > raise errors.RequestError(response_code, response_reason, response_bo= dy) > = > ovirtsdk.infrastructure.errors.RequestError: > = > status: 401 > = > reason: Unauthorized > = > detail: User is not logged in. > = > = > = > = > = > Is there some setting I can tune? > = > = > = > Thx Christian > = > = > = > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > = --===============2149877787302348152==-- From Christian.Grundmann at fabasoft.com Wed Jan 11 14:45:58 2017 Content-Type: multipart/mixed; boundary="===============9202857925440863630==" MIME-Version: 1.0 From: Grundmann, Christian To: users at ovirt.org Subject: Re: [ovirt-users] Max number of api calls per user? Date: Wed, 11 Jan 2017 14:45:53 +0000 Message-ID: <6A17C71B52524C408E7AAF69103E9E490FA8E5F0@fabamailserver.fabagl.fabasoft.com> In-Reply-To: aad51dd9-3c68-2826-fe5a-b818cb2fb4f4@redhat.com --===============9202857925440863630== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_NextPart_000_0023_01D26C21.CAC03380 Content-Type: text/plain; charset=3D"iso-8859-1" Content-Transfer-Encoding: quoted-printable @ What does 'simultaneously' mean exactly? Are you sending the requests =3D in parallel from different threads? Or from different processes? Or just sending them in a loop? I call the python script multiple times for different VMs from different shells. @ The /var/log/ovirt-engine/server.log, /var/log/ovirt-engine/engine.log = =3D and /var/log/httpd/ssl_access_log files can help determine what is =3D happening. Can you check and maybe share the relevant part of those files? Script started @14:57:34=3D20 Error @14:57:35 /var/log/ovirt-engine/server.log Nothing around that time /var/log/ovirt-engine/engine.log: 2017-01-11 14:57:34,015 INFO [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-109) [642e44ba] User admin(a)internal successfully logged in with scopes: ovirt-app-api ovirt-ext=3D3Dtoken-info:authz-search ovirt-ext=3D3Dtoken-info:public-authz-search =3D ovirt-ext=3D3Dtoken-info:validate 2017-01-11 14:57:34,139 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-41) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,139 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-41) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,149 INFO [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-41) [1aa17f11] Running command: LogoutSessionCommand internal: false. 2017-01-11 14:57:34,238 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-97) [601ac7b6] User admin(a)internal successfully logged out 2017-01-11 14:57:34,328 INFO [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default =3D task-46) [10ffdf24] Running command: CreateUserSessionCommand internal: false. 2017-01-11 14:57:34,339 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-87) [5f84b0d0] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,340 INFO [org.ovirt.engine.core.bll.aaa.SessionDataContainer] (default task-87) [5f84b0d0] Not removing session 'y71cMky/m5Du0v4Hk9yWL3ppHW+kN2GXg07SajV6RQgOxC7hn6kFzpFwCu5iwEpiYq6EkBSE= =3D Ogi w4RvsYG6ljA=3D3D=3D3D', session has running commands for user =3D 'admin(a)internal'. 2017-01-11 14:57:34,379 INFO [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-113) = =3D [] User admin(a)internal successfully logged in with scopes: ovirt-app-api ovirt-ext=3D3Dtoken-info:authz-search =3D ovirt-ext=3D3Dtoken-info:public-authz-search ovirt-ext=3D3Dtoken-info:validate 2017-01-11 14:57:34,390 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-41) [1aa17f11] Correlation ID: 1aa17f11, Call Stack: null, Custom Event ID: -1, Message: User admin(a)internal logged out. 2017-01-11 14:57:34,405 INFO [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-93) =3D [] User admin(a)internal successfully logged in with scopes: ovirt-app-api ovirt-ext=3D3Dtoken-info:authz-search =3D ovirt-ext=3D3Dtoken-info:public-authz-search ovirt-ext=3D3Dtoken-info:validate 2017-01-11 14:57:34,409 INFO [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default =3D task-86) [779c3119] Running command: CreateUserSessionCommand internal: false. 2017-01-11 14:57:34,414 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-127) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,423 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-5) [70e23ef9] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,433 INFO [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default =3D task-90) [1ddb1bec] Running command: CreateUserSessionCommand internal: false. 2017-01-11 14:57:34,452 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-117) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,462 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-80) [4634514] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,493 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-128) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,504 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-88) [3ff7029c] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,509 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-90) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,509 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-90) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,513 INFO [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-90) [26eb0e8c] Running command: LogoutSessionCommand internal: false. 2017-01-11 14:57:34,538 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-121) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,543 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-90) [26eb0e8c] Correlation ID: 26eb0e8c, Call Stack: null, Custom Event ID: -1, Message: User admin(a)internal logged out. 2017-01-11 14:57:34,549 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-118) [6b0d30df] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,579 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-104) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,589 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-46) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,589 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-46) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,589 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-46) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,589 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-46) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,590 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-95) [e63a4b5] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,608 INFO [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-46) [8ec575] Running command: LogoutSessionCommand internal: false. 2017-01-11 14:57:34,620 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-46) [8ec575] Correlation ID: 8ec575, Call Stack: null, =3D Custom Event ID: -1, Message: User admin(a)internal logged out. 2017-01-11 14:57:34,621 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-66) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,632 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-111) [1d758723] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,634 INFO [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-98) =3D [] User admin(a)internal successfully logged in with scopes: ovirt-app-api ovirt-ext=3D3Dtoken-info:authz-search =3D ovirt-ext=3D3Dtoken-info:public-authz-search ovirt-ext=3D3Dtoken-info:validate 2017-01-11 14:57:34,649 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-86) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,649 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-86) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,661 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-29) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,662 INFO [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-86) [79018786] Running command: LogoutSessionCommand internal: false. 2017-01-11 14:57:34,663 INFO [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default =3D task-115) [159567e6] Running command: CreateUserSessionCommand internal: false. 2017-01-11 14:57:34,674 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-27) [437feff3] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,713 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-86) [79018786] Correlation ID: 79018786, Call Stack: null, Custom Event ID: -1, Message: User admin(a)internal logged out. 2017-01-11 14:57:34,736 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-106) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,747 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-2) [5d0322ea] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,775 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-124) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,786 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-123) [6801a804] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,813 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-122) [3f73178e] User admin(a)internal successfully logged out 2017-01-11 14:57:34,823 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-31) [6accfc49] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,838 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-115) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,838 ERROR =3D [org.ovirt.engine.api.restapi.util.LinkHelper] (default task-115) [] Can't find relative path for class "org.ovirt.engine.api.resource.VmDisksResource", will return null 2017-01-11 14:57:34,848 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-72) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,848 INFO [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-115) [e7cc467] Running command: LogoutSessionCommand internal: false. 2017-01-11 14:57:34,850 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-115) [e7cc467] Correlation ID: e7cc467, Call Stack: null, Custom Event ID: -1, Message: User admin(a)internal logged out. 2017-01-11 14:57:34,857 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-19) [13a2371a] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,881 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-14) [] User admin(a)internal successfully logged out 2017-01-11 14:57:34,890 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-7) [1121b52c] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,914 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-52) [7b9d8c85] User admin(a)internal successfully logged out 2017-01-11 14:57:34,924 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-32) [779d5e1b] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,950 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-77) [25acd31d] User admin(a)internal successfully logged out 2017-01-11 14:57:34,960 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-71) [139b42cb] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:34,984 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-49) [6ad03c30] User admin(a)internal successfully logged out 2017-01-11 14:57:34,993 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-70) [49e9793d] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:35,001 INFO [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-4) [87e012e] User admin(a)internal successfully logged in with scopes: ovirt-app-api ovirt-ext=3D3Dtoken-info:authz-search ovirt-ext=3D3Dtoken-info:public-authz-search =3D ovirt-ext=3D3Dtoken-info:validate 2017-01-11 14:57:35,017 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-54) [7b23ca46] User admin(a)internal successfully logged out 2017-01-11 14:57:35,025 INFO [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default =3D task-110) [7c624c47] Running command: CreateUserSessionCommand internal: false. 2017-01-11 14:57:35,160 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-55) [77646ec] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:35,170 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default task-9) [] Operation Failed: User is not logged in. 2017-01-11 14:57:35,202 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-68) [] User admin(a)internal successfully logged out 2017-01-11 14:57:35,727 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-107) [5737fe3] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:35,894 INFO [org.ovirt.engine.core.bll.ConcurrentChildCommandsExecutionCallback] (DefaultQuartzScheduler2) [4f83b357] Command 'AddVm' (id: '0edecf3e-b569-4740-a668-716d9cc9c7a0') waiting on child command id: 'a108698e-3700-4e10-bb84-2eb7c240946f' type:'CreateSnapshotFromTemplate' = =3D to complete 2017-01-11 14:57:36,023 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-47) [1d991080] User admin(a)internal successfully logged out 2017-01-11 14:57:36,042 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-76) [e2fc101] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:36,065 INFO [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-125) [f1add85] User admin(a)internal successfully logged in with scopes: ovirt-app-api ovirt-ext=3D3Dtoken-info:authz-search ovirt-ext=3D3Dtoken-info:public-authz-search =3D ovirt-ext=3D3Dtoken-info:validate 2017-01-11 14:57:36,076 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-13) [] User admin(a)internal successfully logged out 2017-01-11 14:57:36,085 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-18) [7bdcca61] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:36,088 INFO [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default =3D task-6) [13a410f5] Running command: CreateUserSessionCommand internal: false. 2017-01-11 14:57:36,110 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-11) [21953244] User admin(a)internal successfully logged out 2017-01-11 14:57:36,118 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-73) [736278fd] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:36,144 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-57) [] User admin(a)internal successfully logged out 2017-01-11 14:57:36,184 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-59) [5f0ffe54] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:36,243 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-69) [] User admin(a)internal successfully logged out 2017-01-11 14:57:36,265 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-21) [67729ab5] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:36,289 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-75) [1ae6ee51] User admin(a)internal successfully logged out 2017-01-11 14:57:36,403 INFO [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] =3D (default task-28) [4e245041] Running command: TerminateSessionsForTokenCommand internal: true. 2017-01-11 14:57:36,758 INFO [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default =3D task-83) [50e9072b] User admin(a)internal successfully logged out /var/log/httpd/ssl_access_log: 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:54:47 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 988391 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:55:15 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:55:17 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 980012 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:21 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:22 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:22 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:23 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:23 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:23 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:24 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:24 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:25 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:25 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:26 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:26 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:27 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:30 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:30 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:30 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:31 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:31 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:32 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:32 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 990370 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:33 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:33 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:34 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:35 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 401 155 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:35 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:36 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:38 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:38 +0100] =3D "GET /ovirt-engine/api/vms;case_sensitive=3D3DTrue HTTP/1.1" 200 1012092 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:39 +0100] =3D "GET /ovirt-engine/api HTTP/1.1" 200 4395 Thx Christian -----Urspr=3DFCngliche Nachricht----- Von: Juan Hern=3DE1ndez [mailto:jhernand(a)redhat.com]=3D20 Gesendet: Mittwoch, 11. J=3DE4nner 2017 15:26 An: Grundmann, Christian ; 'users(a)ovirt.org' Betreff: Re: [ovirt-users] Max number of api calls per user? On 01/11/2017 03:16 PM, Grundmann, Christian wrote: > Hi, >=3D20 > is there a maximum number of sessions per user? >=3D20 There is no limit, except the available memory. > =3D20 >=3D20 > I am doing python-api calls to remove VMs >=3D20 > If I call my script 30 times simultaneously, one or two get an error. > What does 'simultaneously' mean exactly? Are you sending the requests in parallel from different threads? Or from different processes? Or just sending them in a loop? The /var/log/ovirt-engine/server.log, /var/log/ovirt-engine/engine.log =3D and /var/log/httpd/ssl_access_log files can help determine what is =3D happening. Can you check and maybe share the relevant part of those files? > =3D20 >=3D20 > Traceback (most recent call last): >=3D20 > File "remove_vm.py", line 24, in >=3D20 > if VMNAME in [vm.name for vm in api.vms.list()]: >=3D20 > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py", > line 35761, in list >=3D20 > headers=3D3D{"All-Content":all_content} >=3D20 > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", > line 46, in get >=3D20 > return self.request(method=3D3D'GET', url=3D3Durl, headers=3D3Dheader= s,=3D20 > cls=3D3Dcls) >=3D20 > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", > line 122, in request >=3D20 > persistent_auth=3D3Dself.__persistent_auth >=3D20 > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionsp > ool.py", > line 79, in do_request >=3D20 > persistent_auth) >=3D20 > File > "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionsp > ool.py", > line 162, in __do_request >=3D20 > raise errors.RequestError(response_code, response_reason,=3D20 > response_body) >=3D20 > ovirtsdk.infrastructure.errors.RequestError: >=3D20 > status: 401 >=3D20 > reason: Unauthorized >=3D20 > detail: User is not logged in. >=3D20 > =3D20 >=3D20 > =3D20 >=3D20 > Is there some setting I can tune? >=3D20 > =3D20 >=3D20 > Thx Christian >=3D20 >=3D20 >=3D20 > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users >=3D20 ------=3D_NextPart_000_0023_01D26C21.CAC03380 Content-Type: application/pkcs7-signature; name=3D"smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=3D"smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEYgw ggO0MIICnKADAgECAhAz3dwydvPctkRqdEdmtvWQMA0GCSqGSIb3DQEBDQUAMGIxEzARBgoJkiaJ k/IsZAEZFgNjb20xGDAWBgoJkiaJk/IsZAEZFghmYWJhc29mdDEWMBQGCgmSJomT8ixkARkWBmZh YmFnbDEZMBcGA1UEAxMQRmFiYXNvZnQgUm9vdCBDQTAeFw0xNTAzMTIxMDQ5MjRaFw0zNTAzMTIx MDU5MjNaMGIxEzARBgoJkiaJk/IsZAEZFgNjb20xGDAWBgoJkiaJk/IsZAEZFghmYWJhc29mdDEW MBQGCgmSJomT8ixkARkWBmZhYmFnbDEZMBcGA1UEAxMQRmFiYXNvZnQgUm9vdCBDQTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALEpZPd3DdZ9u81Q8/ZggZz3NSdxsajLL22MQR5XVJqT C+Yf17FCCjnXWgz0WUKUwmPMm6xprJqvuYd826vR66ufSStsdqDpdxcrmD+EybzK06bLqG6ohWVT Rb/ojwo1aXQnvyuXNHMmLSJN/OwNtFwpHagNpYOZ53yOC5XGKR/Ccn2liwncVBK8T5NOCS3XhhP6 75GstUv3HBORD3aR9T5igRG8HtTSoi632Jt0RvM7m7u6Cr6404CxLKmSyeJ8UHl7Tt/tWS5GfsXh uil/1dfNgMXkbGjzG3rruq6v9fIr3ugkjx669IyE77TCCNkUUD9yGi29DAYsIcsAHInvCx8CAwEA AaNmMGQwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w HQYDVR0OBBYEFKGdS2QXPACK0nl5gjbPMfr7WXSKMBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3 DQEBDQUAA4IBAQBhSSizNg+izsk+STpoWOSI0aHUX85OHVLkUY4bREQ9JGPYLrkSpf7nSBmEELHJ PodEabiISIhMkEJYjVAT08K0NZQPxpK0wQokSitc5yQNX0Pm6uebzDk6VoDecFJ0pa2PxH5BJ9QE wj9inbSFRgMAc2QZTWsebxYh2SBdosXy1Bxsj4PQ1KkkTlVzt8tFtq2a8HFKgMAKM3E7DOlhxv2m 5rmmTmbS2y/Q51kzlbGSrAcc67NzjArHu4VXM7d7uEK9Wu4u/Ou/bo2VuFpiedl0N7Xjs6HOcRvi 70Qk68dBdIlGwfzfq7R1wgBztsOMAnT7d/pU+iBtmnO5RhxWJoqkMIIGCDCCBPCgAwIBAgITQAAA AAhP/WtF9O8JAAAAAAAACDANBgkqhkiG9w0BAQ0FADBiMRMwEQYKCZImiZPyLGQBGRYDY29tMRgw FgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZFgZmYWJhZ2wxGTAXBgNVBAMT EEZhYmFzb2Z0IFJvb3QgQ0EwHhcNMTUwMzEyMTY0NjUxWhcNMjUwMzA5MTY0NjUxWjBqMRMwEQYK CZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZ FgZmYWJhZ2wxITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALHDWZCRRueho+HBJGHMuSp+Dm0aMC78M4im5Ux7IGF8B5ZXsb+a tVBhBrFdsdazQr377siIL1W1YcS0zcezNdMKkt4/e7/Hop9pyTec5h2njAjFODuZWguXKmxPZXBa 96op0dzwvho6VVkFSp6NADZme/TNc6vm3BSSvgAZW3ALEEU26bBOZUH8KwapQJAAMEZdBwpMC7gl ig/5fhKPtxMwE9TA4axXEyRPWcFu2w91L/pSfU4eZWHj1wWcQP1DRfu8Jv1sFe7nTZejlFf5vAG6 vzELmd5ODJRC6xsSz08Dp3QXzVlqcCovcKAWdKVbgZBdYBiDriqP9n4zsTHRcqcCAwEAAaOCAq0w ggKpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBT4t/n6Dt0CIFcE0mlMpK3Ov8xrDjA9Bgkr BgEEAYI3FQcEMDAuBiYrBgEEAYI3FQi0y2GBgpx/gb2BFobG2H+C16cCgUGD4pIEgtm7EAIBZAIB AzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBShnUtkFzwAitJ5eYI2 zzH6+1l0ijCCASIGA1UdHwSCARkwggEVMIIBEaCCAQ2gggEJhoHJbGRhcDovLy9DTj1GYWJhc29m dCUyMFJvb3QlMjBDQSxDTj1GQUJBUk9PVENBLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2 aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWZhYmFnbCxEQz1mYWJhc29mdCxE Qz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3Ry aWJ1dGlvblBvaW50hjtodHRwOi8vY3JsLmZhYmFzb2Z0LmNvbS9DZXJ0RW5yb2xsL0ZhYmFzb2Z0 JTIwUm9vdCUyMENBLmNybDCB0QYIKwYBBQUHAQEEgcQwgcEwgb4GCCsGAQUFBzAChoGxbGRhcDov Ly9DTj1GYWJhc29mdCUyMFJvb3QlMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2Vydmlj ZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1mYWJhZ2wsREM9ZmFiYXNvZnQsREM9 Y29tP2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5 MA0GCSqGSIb3DQEBDQUAA4IBAQADapqIl4xDaVfGyK1VudKlSXzmZo0nwtW1QtyPkgBk+kclnPj4 sowyaJOnjAC1ybBkJYgd1tWNJw378kolEnuFrhiip8n/8zE2AFoQ4n8/P6diYj0X07nxHawTDAbk 0oLFaixsW7rqsn0/DVN6G+XSn172yR0wRLrKRjPqezsnj96RDUSzLeuj8QjTYcpdgane4kpuWl6S 7chXI51APIbLDWXhKtfQeUJkYR6ZPNjgFO5KnPjViYxmnCWuXpOOoB2P+7MuFWuahrpeRN6NF5zm NwXpCv6UeLF2BD1zjECG0D7T/Nqf/Q5W4kBDxCz2fySzbXprc98U7J1RfXY19nDsMIIHwDCCBqig AwIBAgITGgAACDuGB9gHiydMcQAAAAAIOzANBgkqhkiG9w0BAQ0FADBqMRMwEQYKCZImiZPyLGQB GRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZFgZmYWJhZ2wx ITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQTAeFw0xNzAxMDkwODE4MDJaFw0xOTAx MDkwODE4MDJaMB4xHDAaBgNVBAMTE0NocmlzdGlhbi5HcnVuZG1hbm4wggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQC5eKLQm8gyQnhKwv5yF5I/2bEnebo3+pSwTIqleOa6Rhb+XH/Zt1Oq 5Ru1EF0pKQz6skkP/6785PfJEjbhg2GPaqSPuGEn0CKUWH9lLKNqtzODOm58B0mWLpd5O+SIufZ4 YPIogrwy1mEPXc2KDdPj3YNmF7RWuEBkHj7b9BCno92bBZAGF+PpHf6ssRvzDE4hKUxIjFIZJmAp jctFFfofRgQ/AHrx4FED1pnlKZglUrMvZFJm7qrwf3euSYV83kMVTqx3fVLhcRtKh/5GQJiIdJXH kCopt6D5xmKiVcQEiieYwY4VPo0Q2fQbIMF0PlHNSXmbVrm1WNPkbcQccPbRAgMBAAGjggSpMIIE pTA9BgkrBgEEAYI3FQcEMDAuBiYrBgEEAYI3FQi0y2GBgpx/gb2BFobG2H+C16cCgUGH7+IpgbCD UQIBZAIBAjATBgNVHSUEDDAKBggrBgEFBQcDBDALBgNVHQ8EBAMCBaAwGwYJKwYBBAGCNxUKBA4w DDAKBggrBgEFBQcDBDCBlAYJKoZIhvcNAQkPBIGGMIGDMAsGCWCGSAFlAwQBKjALBglghkgBZQME AS0wCwYJYIZIAWUDBAEWMAsGCWCGSAFlAwQBGTALBglghkgBZQMEAQIwCwYJYIZIAWUDBAEFMAoG CCqGSIb3DQMHMAcGBSsOAwIHMA4GCCqGSIb3DQMCAgIAgDAOBggqhkiG9w0DBAICAgAwHQYDVR0O BBYEFDy8FgCwa5cyXmIi0XnfYHuuHgEJMB8GA1UdIwQYMBaAFPi3+foO3QIgVwTSaUykrc6/zGsO MIIBhwYDVR0fBIIBfjCCAXowggF2oIIBcqCCAW6GgdJsZGFwOi8vL0NOPUZhYmFzb2Z0JTIwSW50 ZXJtZWRpYXRlJTIwQ0EsQ049RkFCQUlOVEVSQ0EsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNl cnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZmFiYWdsLERDPWZhYmFzb2Z0 LERDPWNvbT9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlz dHJpYnV0aW9uUG9pbnSGUmh0dHA6Ly9GQUJBSU5URVJDQS5mYWJhZ2wuZmFiYXNvZnQuY29tL0Nl cnRFbnJvbGwvRmFiYXNvZnQlMjBJbnRlcm1lZGlhdGUlMjBDQS5jcmyGQ2h0dHA6Ly9jcmwuZmFi YXNvZnQuY29tL0NlcnRFbnJvbGwvRmFiYXNvZnQlMjBJbnRlcm1lZGlhdGUlMjBDQS5jcmwwggGU BggrBgEFBQcBAQSCAYYwggGCMIHGBggrBgEFBQcwAoaBuWxkYXA6Ly8vQ049RmFiYXNvZnQlMjBJ bnRlcm1lZGlhdGUlMjBDQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2Vy dmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1mYWJhZ2wsREM9ZmFiYXNvZnQsREM9Y29tP2NBQ2Vy dGlmaWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MH4GCCsGAQUF BzAChnJodHRwOi8vRkFCQUlOVEVSQ0EuZmFiYWdsLmZhYmFzb2Z0LmNvbS9DZXJ0RW5yb2xsL0ZB QkFJTlRFUkNBLmZhYmFnbC5mYWJhc29mdC5jb21fRmFiYXNvZnQlMjBJbnRlcm1lZGlhdGUlMjBD QS5jcnQwNwYIKwYBBQUHMAGGK2h0dHA6Ly9GQUJBSU5URVJDQS5mYWJhZ2wuZmFiYXNvZnQuY29t L29jc3AwKwYDVR0RBCQwIoEgQ2hyaXN0aWFuLkdydW5kbWFubkBmYWJhc29mdC5jb20wDQYJKoZI hvcNAQENBQADggEBAJ5ZSuHMRSW90+4brUFaCsi4JwwJv8QEWl+xVXG7AqMXFtjJfbYCYLZHiHAg 6RuwI+HUOy7QDAdYyxlwXYBXtqYGAWEEq4vAY/nhGb1PcRGCxJZ9AgB2ylHUKj1abqpaOINp1cYT 5DK+SgJo5KHXAhBgs9UpABWNbuflcQdV47wjnzYKSjR+fNwKsVan/T39XyI7NJPSKUWnlG0BiEGg I7my4ilp4kNsJ8C+w8RZY5z3UFk3gNkl2kPDlgJ6aDoApKUpbYyafOopiz2jG0uaSdL3jaz4OCHb LmkA9coKWVDsAKYSlBBTabuXi5d+WNMsbC0fQMmeZu2usQnte/380XsxggPcMIID2AIBATCBgTBq MRMwEQYKCZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJ k/IsZAEZFgZmYWJhZ2wxITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQQITGgAACDuG B9gHiydMcQAAAAAIOzANBglghkgBZQMEAgEFAKCCAiswGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEH ATAcBgkqhkiG9w0BCQUxDxcNMTcwMTExMTQ0NTUzWjAvBgkqhkiG9w0BCQQxIgQgWHvF9OM8V0AH g+yfyzFNymafNaCUffkkHJqZJPgmmPUwgZIGCSsGAQQBgjcQBDGBhDCBgTBqMRMwEQYKCZImiZPy LGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIZmFiYXNvZnQxFjAUBgoJkiaJk/IsZAEZFgZmYWJh Z2wxITAfBgNVBAMTGEZhYmFzb2Z0IEludGVybWVkaWF0ZSBDQQITGgAACDuGB9gHiydMcQAAAAAI OzCBkwYJKoZIhvcNAQkPMYGFMIGCMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCgYIKoZIhvcN AwcwCwYJYIZIAWUDBAECMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDALBglghkgBZQME AgEwCwYJYIZIAWUDBAIDMAsGCWCGSAFlAwQCAjAHBgUrDgMCGjCBlAYLKoZIhvcNAQkQAgsxgYSg gYEwajETMBEGCgmSJomT8ixkARkWA2NvbTEYMBYGCgmSJomT8ixkARkWCGZhYmFzb2Z0MRYwFAYK CZImiZPyLGQBGRYGZmFiYWdsMSEwHwYDVQQDExhGYWJhc29mdCBJbnRlcm1lZGlhdGUgQ0ECExoA AAg7hgfYB4snTHEAAAAACDswDQYJKoZIhvcNAQEBBQAEggEAl2yugT6gEXKkrIeeViNrLaNNv+O7 wwGMusrym0BZ4C5HBI1jj9dPi278mM3a+Z+2HLRsMwJ6/ILW1F9tuRXUbVCKsKGr3jbAocD7PFWQ sTBew1Mq6QscqvGlT+kkyJXHrSvohrfymoSduu6gJ0/M6GjT1ohQVLG795ae9VUea7dN6D/BhFmo WQognUhCLPKSnEntUhDlxMYWJhzHm7Fqk2cVePhzkQGiyz2uuvxe9oWmtg56xEvR5q/X45LSSNZt LpOvxSjR7c2lwy5sR3re/e1hV2O8CNAHEpWX/scnpGIlYAciSWM3ua41Phu1EPdQ4Fyn+RVkpdVS lSV7rBMN9AAAAAAAAA=3D=3D ------=3D_NextPart_000_0023_01D26C21.CAC03380-- --===============9202857925440863630== Content-Type: multipart/signed MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9OZXh0UGFydF8wMDBfMDAyM18wMUQyNkMyMS5DQUMwMzM4MApDb250ZW50LVR5cGU6 IHRleHQvcGxhaW47CgljaGFyc2V0PSJpc28tODg1OS0xIgpDb250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiBxdW90ZWQtcHJpbnRhYmxlCgpAIFdoYXQgZG9lcyAnc2ltdWx0YW5lb3VzbHknIG1lYW4g ZXhhY3RseT8gQXJlIHlvdSBzZW5kaW5nIHRoZSByZXF1ZXN0cyA9CmluCnBhcmFsbGVsIGZyb20g ZGlmZmVyZW50IHRocmVhZHM/IE9yIGZyb20gZGlmZmVyZW50IHByb2Nlc3Nlcz8gT3IganVzdApz ZW5kaW5nIHRoZW0gaW4gYSBsb29wPwoKSSBjYWxsIHRoZSBweXRob24gc2NyaXB0IG11bHRpcGxl IHRpbWVzIGZvciBkaWZmZXJlbnQgVk1zIGZyb20gZGlmZmVyZW50CnNoZWxscy4KCkAgVGhlIC92 YXIvbG9nL292aXJ0LWVuZ2luZS9zZXJ2ZXIubG9nLCAvdmFyL2xvZy9vdmlydC1lbmdpbmUvZW5n aW5lLmxvZyA9CmFuZAovdmFyL2xvZy9odHRwZC9zc2xfYWNjZXNzX2xvZyBmaWxlcyBjYW4gaGVs cCBkZXRlcm1pbmUgd2hhdCBpcyA9CmhhcHBlbmluZy4KQ2FuIHlvdSBjaGVjayBhbmQgbWF5YmUg c2hhcmUgdGhlIHJlbGV2YW50IHBhcnQgb2YgdGhvc2UgZmlsZXM/CgpTY3JpcHQgc3RhcnRlZCBA MTQ6NTc6MzQ9MjAKRXJyb3IgQDE0OjU3OjM1CgovdmFyL2xvZy9vdmlydC1lbmdpbmUvc2VydmVy LmxvZwpOb3RoaW5nIGFyb3VuZCB0aGF0IHRpbWUKCi92YXIvbG9nL292aXJ0LWVuZ2luZS9lbmdp bmUubG9nOgoKMjAxNy0wMS0xMSAxNDo1NzozNCwwMTUgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5j b3JlLnNzby51dGlscy5BdXRoZW50aWNhdGlvblV0aWxzXSAoZGVmYXVsdCB0YXNrLTEwOSkKWzY0 MmU0NGJhXSBVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4gd2l0aCBz Y29wZXM6Cm92aXJ0LWFwcC1hcGkgb3ZpcnQtZXh0PTNEdG9rZW4taW5mbzphdXRoei1zZWFyY2gK b3ZpcnQtZXh0PTNEdG9rZW4taW5mbzpwdWJsaWMtYXV0aHotc2VhcmNoID0Kb3ZpcnQtZXh0PTNE dG9rZW4taW5mbzp2YWxpZGF0ZQoyMDE3LTAxLTExIDE0OjU3OjM0LDEzOSBFUlJPUiA9Cltvcmcu b3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnV0aWwuTGlua0hlbHBlcl0KKGRlZmF1bHQgdGFzay00 MSkgW10gQ2FuJ3QgZmluZCByZWxhdGl2ZSBwYXRoIGZvciBjbGFzcwoib3JnLm92aXJ0LmVuZ2lu ZS5hcGkucmVzb3VyY2UuVm1EaXNrc1Jlc291cmNlIiwgd2lsbCByZXR1cm4gbnVsbAoyMDE3LTAx LTExIDE0OjU3OjM0LDEzOSBFUlJPUiA9Cltvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnV0 aWwuTGlua0hlbHBlcl0KKGRlZmF1bHQgdGFzay00MSkgW10gQ2FuJ3QgZmluZCByZWxhdGl2ZSBw YXRoIGZvciBjbGFzcwoib3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzb3VyY2UuVm1EaXNrc1Jlc291 cmNlIiwgd2lsbCByZXR1cm4gbnVsbAoyMDE3LTAxLTExIDE0OjU3OjM0LDE0OSBJTkZPCltvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLmFhYS5Mb2dvdXRTZXNzaW9uQ29tbWFuZF0gKGRlZmF1bHQg dGFzay00MSkKWzFhYTE3ZjExXSBSdW5uaW5nIGNvbW1hbmQ6IExvZ291dFNlc3Npb25Db21tYW5k IGludGVybmFsOiBmYWxzZS4KMjAxNy0wMS0xMSAxNDo1NzozNCwyMzggSU5GTwpbb3JnLm92aXJ0 LmVuZ2luZS5jb3JlLnNzby5zZXJ2bGV0cy5PQXV0aFJldm9rZVNlcnZsZXRdIChkZWZhdWx0ID0K dGFzay05NykKWzYwMWFjN2I2XSBVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dn ZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzQsMzI4IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29y ZS5ibGwuYWFhLkNyZWF0ZVVzZXJTZXNzaW9uQ29tbWFuZF0gKGRlZmF1bHQgPQp0YXNrLTQ2KQpb MTBmZmRmMjRdIFJ1bm5pbmcgY29tbWFuZDogQ3JlYXRlVXNlclNlc3Npb25Db21tYW5kIGludGVy bmFsOiBmYWxzZS4KMjAxNy0wMS0xMSAxNDo1NzozNCwzMzkgSU5GTwpbb3JnLm92aXJ0LmVuZ2lu ZS5jb3JlLmJsbC5hYWEuVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmRdID0KKGRlZmF1 bHQKdGFzay04NykgWzVmODRiMGQwXSBSdW5uaW5nIGNvbW1hbmQ6IFRlcm1pbmF0ZVNlc3Npb25z Rm9yVG9rZW5Db21tYW5kCmludGVybmFsOiB0cnVlLgoyMDE3LTAxLTExIDE0OjU3OjM0LDM0MCBJ TkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLmFhYS5TZXNzaW9uRGF0YUNvbnRhaW5lcl0g KGRlZmF1bHQgdGFzay04NykKWzVmODRiMGQwXSBOb3QgcmVtb3Zpbmcgc2Vzc2lvbgoneTcxY01r eS9tNUR1MHY0SGs5eVdMM3BwSFcra04yR1hnMDdTYWpWNlJRZ094QzdobjZrRnpwRndDdTVpd0Vw aVlxNkVrQlNFPQpPZ2kKdzRSdnNZRzZsakE9M0Q9M0QnLCBzZXNzaW9uIGhhcyBydW5uaW5nIGNv bW1hbmRzIGZvciB1c2VyID0KJ2FkbWluQGludGVybmFsJy4KMjAxNy0wMS0xMSAxNDo1NzozNCwz NzkgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnNzby51dGlscy5BdXRoZW50aWNhdGlvblV0 aWxzXSAoZGVmYXVsdCB0YXNrLTExMykgPQpbXQpVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3Nm dWxseSBsb2dnZWQgaW4gd2l0aCBzY29wZXM6IG92aXJ0LWFwcC1hcGkKb3ZpcnQtZXh0PTNEdG9r ZW4taW5mbzphdXRoei1zZWFyY2ggPQpvdmlydC1leHQ9M0R0b2tlbi1pbmZvOnB1YmxpYy1hdXRo ei1zZWFyY2gKb3ZpcnQtZXh0PTNEdG9rZW4taW5mbzp2YWxpZGF0ZQoyMDE3LTAxLTExIDE0OjU3 OjM0LDM5MCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuZGFsLmRiYnJva2VyLmF1ZGl0bG9n aGFuZGxpbmcuQXVkaXRMb2dEaXJlY3Rvcl0KKGRlZmF1bHQgdGFzay00MSkgWzFhYTE3ZjExXSBD b3JyZWxhdGlvbiBJRDogMWFhMTdmMTEsIENhbGwgU3RhY2s6IG51bGwsCkN1c3RvbSBFdmVudCBJ RDogLTEsIE1lc3NhZ2U6IFVzZXIgYWRtaW5AaW50ZXJuYWwgbG9nZ2VkIG91dC4KMjAxNy0wMS0x MSAxNDo1NzozNCw0MDUgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnNzby51dGlscy5BdXRo ZW50aWNhdGlvblV0aWxzXSAoZGVmYXVsdCB0YXNrLTkzKSA9CltdClVzZXIgYWRtaW5AaW50ZXJu YWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBpbiB3aXRoIHNjb3Blczogb3ZpcnQtYXBwLWFwaQpvdmly dC1leHQ9M0R0b2tlbi1pbmZvOmF1dGh6LXNlYXJjaCA9Cm92aXJ0LWV4dD0zRHRva2VuLWluZm86 cHVibGljLWF1dGh6LXNlYXJjaApvdmlydC1leHQ9M0R0b2tlbi1pbmZvOnZhbGlkYXRlCjIwMTct MDEtMTEgMTQ6NTc6MzQsNDA5IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLkNy ZWF0ZVVzZXJTZXNzaW9uQ29tbWFuZF0gKGRlZmF1bHQgPQp0YXNrLTg2KQpbNzc5YzMxMTldIFJ1 bm5pbmcgY29tbWFuZDogQ3JlYXRlVXNlclNlc3Npb25Db21tYW5kIGludGVybmFsOiBmYWxzZS4K MjAxNy0wMS0xMSAxNDo1NzozNCw0MTQgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnNzby5z ZXJ2bGV0cy5PQXV0aFJldm9rZVNlcnZsZXRdIChkZWZhdWx0ID0KdGFzay0xMjcpCltdIFVzZXIg YWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBvdXQKMjAxNy0wMS0xMSAxNDo1Nzoz NCw0MjMgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEuVGVybWluYXRlU2Vzc2lv bnNGb3JUb2tlbkNvbW1hbmRdID0KKGRlZmF1bHQKdGFzay01KSBbNzBlMjNlZjldIFJ1bm5pbmcg Y29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQKaW50ZXJuYWw6IHRydWUu CjIwMTctMDEtMTEgMTQ6NTc6MzQsNDMzIElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwu YWFhLkNyZWF0ZVVzZXJTZXNzaW9uQ29tbWFuZF0gKGRlZmF1bHQgPQp0YXNrLTkwKQpbMWRkYjFi ZWNdIFJ1bm5pbmcgY29tbWFuZDogQ3JlYXRlVXNlclNlc3Npb25Db21tYW5kIGludGVybmFsOiBm YWxzZS4KMjAxNy0wMS0xMSAxNDo1NzozNCw0NTIgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3Jl LnNzby5zZXJ2bGV0cy5PQXV0aFJldm9rZVNlcnZsZXRdIChkZWZhdWx0ID0KdGFzay0xMTcpCltd IFVzZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBvdXQKMjAxNy0wMS0xMSAx NDo1NzozNCw0NjIgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEuVGVybWluYXRl U2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmRdID0KKGRlZmF1bHQKdGFzay04MCkgWzQ2MzQ1MTRdIFJ1 bm5pbmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQKaW50ZXJuYWw6 IHRydWUuCjIwMTctMDEtMTEgMTQ6NTc6MzQsNDkzIElORk8KW29yZy5vdmlydC5lbmdpbmUuY29y ZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stMTI4KQpb XSBVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEg MTQ6NTc6MzQsNTA0IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0 ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kXSA9CihkZWZhdWx0CnRhc2stODgpIFszZmY3MDI5Y10g UnVubmluZyBjb21tYW5kOiBUZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZAppbnRlcm5h bDogdHJ1ZS4KMjAxNy0wMS0xMSAxNDo1NzozNCw1MDkgRVJST1IgPQpbb3JnLm92aXJ0LmVuZ2lu ZS5hcGkucmVzdGFwaS51dGlsLkxpbmtIZWxwZXJdCihkZWZhdWx0IHRhc2stOTApIFtdIENhbid0 IGZpbmQgcmVsYXRpdmUgcGF0aCBmb3IgY2xhc3MKIm9yZy5vdmlydC5lbmdpbmUuYXBpLnJlc291 cmNlLlZtRGlza3NSZXNvdXJjZSIsIHdpbGwgcmV0dXJuIG51bGwKMjAxNy0wMS0xMSAxNDo1Nzoz NCw1MDkgRVJST1IgPQpbb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS51dGlsLkxpbmtIZWxw ZXJdCihkZWZhdWx0IHRhc2stOTApIFtdIENhbid0IGZpbmQgcmVsYXRpdmUgcGF0aCBmb3IgY2xh c3MKIm9yZy5vdmlydC5lbmdpbmUuYXBpLnJlc291cmNlLlZtRGlza3NSZXNvdXJjZSIsIHdpbGwg cmV0dXJuIG51bGwKMjAxNy0wMS0xMSAxNDo1NzozNCw1MTMgSU5GTwpbb3JnLm92aXJ0LmVuZ2lu ZS5jb3JlLmJsbC5hYWEuTG9nb3V0U2Vzc2lvbkNvbW1hbmRdIChkZWZhdWx0IHRhc2stOTApClsy NmViMGU4Y10gUnVubmluZyBjb21tYW5kOiBMb2dvdXRTZXNzaW9uQ29tbWFuZCBpbnRlcm5hbDog ZmFsc2UuCjIwMTctMDEtMTEgMTQ6NTc6MzQsNTM4IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29y ZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stMTIxKQpb XSBVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEg MTQ6NTc6MzQsNTQzIElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5kYWwuZGJicm9rZXIuYXVk aXRsb2doYW5kbGluZy5BdWRpdExvZ0RpcmVjdG9yXQooZGVmYXVsdCB0YXNrLTkwKSBbMjZlYjBl OGNdIENvcnJlbGF0aW9uIElEOiAyNmViMGU4YywgQ2FsbCBTdGFjazogbnVsbCwKQ3VzdG9tIEV2 ZW50IElEOiAtMSwgTWVzc2FnZTogVXNlciBhZG1pbkBpbnRlcm5hbCBsb2dnZWQgb3V0LgoyMDE3 LTAxLTExIDE0OjU3OjM0LDU0OSBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLmFhYS5U ZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZF0gPQooZGVmYXVsdAp0YXNrLTExOCkgWzZi MGQzMGRmXSBSdW5uaW5nIGNvbW1hbmQ6IFRlcm1pbmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5k CmludGVybmFsOiB0cnVlLgoyMDE3LTAxLTExIDE0OjU3OjM0LDU3OSBJTkZPCltvcmcub3ZpcnQu ZW5naW5lLmNvcmUuc3NvLnNlcnZsZXRzLk9BdXRoUmV2b2tlU2VydmxldF0gKGRlZmF1bHQgPQp0 YXNrLTEwNCkKW10gVXNlciBhZG1pbkBpbnRlcm5hbCBzdWNjZXNzZnVsbHkgbG9nZ2VkIG91dAoy MDE3LTAxLTExIDE0OjU3OjM0LDU4OSBFUlJPUiA9Cltvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0 YXBpLnV0aWwuTGlua0hlbHBlcl0KKGRlZmF1bHQgdGFzay00NikgW10gQ2FuJ3QgZmluZCByZWxh dGl2ZSBwYXRoIGZvciBjbGFzcwoib3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzb3VyY2UuVm1EaXNr c1Jlc291cmNlIiwgd2lsbCByZXR1cm4gbnVsbAoyMDE3LTAxLTExIDE0OjU3OjM0LDU4OSBFUlJP UiA9Cltvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnV0aWwuTGlua0hlbHBlcl0KKGRlZmF1 bHQgdGFzay00NikgW10gQ2FuJ3QgZmluZCByZWxhdGl2ZSBwYXRoIGZvciBjbGFzcwoib3JnLm92 aXJ0LmVuZ2luZS5hcGkucmVzb3VyY2UuVm1EaXNrc1Jlc291cmNlIiwgd2lsbCByZXR1cm4gbnVs bAoyMDE3LTAxLTExIDE0OjU3OjM0LDU4OSBFUlJPUiA9Cltvcmcub3ZpcnQuZW5naW5lLmFwaS5y ZXN0YXBpLnV0aWwuTGlua0hlbHBlcl0KKGRlZmF1bHQgdGFzay00NikgW10gQ2FuJ3QgZmluZCBy ZWxhdGl2ZSBwYXRoIGZvciBjbGFzcwoib3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzb3VyY2UuVm1E aXNrc1Jlc291cmNlIiwgd2lsbCByZXR1cm4gbnVsbAoyMDE3LTAxLTExIDE0OjU3OjM0LDU4OSBF UlJPUiA9Cltvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnV0aWwuTGlua0hlbHBlcl0KKGRl ZmF1bHQgdGFzay00NikgW10gQ2FuJ3QgZmluZCByZWxhdGl2ZSBwYXRoIGZvciBjbGFzcwoib3Jn Lm92aXJ0LmVuZ2luZS5hcGkucmVzb3VyY2UuVm1EaXNrc1Jlc291cmNlIiwgd2lsbCByZXR1cm4g bnVsbAoyMDE3LTAxLTExIDE0OjU3OjM0LDU5MCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUu YmxsLmFhYS5UZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZF0gPQooZGVmYXVsdAp0YXNr LTk1KSBbZTYzYTRiNV0gUnVubmluZyBjb21tYW5kOiBUZXJtaW5hdGVTZXNzaW9uc0ZvclRva2Vu Q29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAxNy0wMS0xMSAxNDo1NzozNCw2MDggSU5GTwpbb3Jn Lm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEuTG9nb3V0U2Vzc2lvbkNvbW1hbmRdIChkZWZhdWx0 IHRhc2stNDYpCls4ZWM1NzVdIFJ1bm5pbmcgY29tbWFuZDogTG9nb3V0U2Vzc2lvbkNvbW1hbmQg aW50ZXJuYWw6IGZhbHNlLgoyMDE3LTAxLTExIDE0OjU3OjM0LDYyMCBJTkZPCltvcmcub3ZpcnQu ZW5naW5lLmNvcmUuZGFsLmRiYnJva2VyLmF1ZGl0bG9naGFuZGxpbmcuQXVkaXRMb2dEaXJlY3Rv cl0KKGRlZmF1bHQgdGFzay00NikgWzhlYzU3NV0gQ29ycmVsYXRpb24gSUQ6IDhlYzU3NSwgQ2Fs bCBTdGFjazogbnVsbCwgPQpDdXN0b20KRXZlbnQgSUQ6IC0xLCBNZXNzYWdlOiBVc2VyIGFkbWlu QGludGVybmFsIGxvZ2dlZCBvdXQuCjIwMTctMDEtMTEgMTQ6NTc6MzQsNjIxIElORk8KW29yZy5v dmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVs dCA9CnRhc2stNjYpIFtdClVzZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBv dXQKMjAxNy0wMS0xMSAxNDo1NzozNCw2MzIgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs bC5hYWEuVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmRdID0KKGRlZmF1bHQKdGFzay0x MTEpIFsxZDc1ODcyM10gUnVubmluZyBjb21tYW5kOiBUZXJtaW5hdGVTZXNzaW9uc0ZvclRva2Vu Q29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAxNy0wMS0xMSAxNDo1NzozNCw2MzQgSU5GTwpbb3Jn Lm92aXJ0LmVuZ2luZS5jb3JlLnNzby51dGlscy5BdXRoZW50aWNhdGlvblV0aWxzXSAoZGVmYXVs dCB0YXNrLTk4KSA9CltdClVzZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBp biB3aXRoIHNjb3Blczogb3ZpcnQtYXBwLWFwaQpvdmlydC1leHQ9M0R0b2tlbi1pbmZvOmF1dGh6 LXNlYXJjaCA9Cm92aXJ0LWV4dD0zRHRva2VuLWluZm86cHVibGljLWF1dGh6LXNlYXJjaApvdmly dC1leHQ9M0R0b2tlbi1pbmZvOnZhbGlkYXRlCjIwMTctMDEtMTEgMTQ6NTc6MzQsNjQ5IEVSUk9S ID0KW29yZy5vdmlydC5lbmdpbmUuYXBpLnJlc3RhcGkudXRpbC5MaW5rSGVscGVyXQooZGVmYXVs dCB0YXNrLTg2KSBbXSBDYW4ndCBmaW5kIHJlbGF0aXZlIHBhdGggZm9yIGNsYXNzCiJvcmcub3Zp cnQuZW5naW5lLmFwaS5yZXNvdXJjZS5WbURpc2tzUmVzb3VyY2UiLCB3aWxsIHJldHVybiBudWxs CjIwMTctMDEtMTEgMTQ6NTc6MzQsNjQ5IEVSUk9SID0KW29yZy5vdmlydC5lbmdpbmUuYXBpLnJl c3RhcGkudXRpbC5MaW5rSGVscGVyXQooZGVmYXVsdCB0YXNrLTg2KSBbXSBDYW4ndCBmaW5kIHJl bGF0aXZlIHBhdGggZm9yIGNsYXNzCiJvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXNvdXJjZS5WbURp c2tzUmVzb3VyY2UiLCB3aWxsIHJldHVybiBudWxsCjIwMTctMDEtMTEgMTQ6NTc6MzQsNjYxIElO Rk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0 XSAoZGVmYXVsdCA9CnRhc2stMjkpIFtdClVzZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5 IGxvZ2dlZCBvdXQKMjAxNy0wMS0xMSAxNDo1NzozNCw2NjIgSU5GTwpbb3JnLm92aXJ0LmVuZ2lu ZS5jb3JlLmJsbC5hYWEuTG9nb3V0U2Vzc2lvbkNvbW1hbmRdIChkZWZhdWx0IHRhc2stODYpCls3 OTAxODc4Nl0gUnVubmluZyBjb21tYW5kOiBMb2dvdXRTZXNzaW9uQ29tbWFuZCBpbnRlcm5hbDog ZmFsc2UuCjIwMTctMDEtMTEgMTQ6NTc6MzQsNjYzIElORk8KW29yZy5vdmlydC5lbmdpbmUuY29y ZS5ibGwuYWFhLkNyZWF0ZVVzZXJTZXNzaW9uQ29tbWFuZF0gKGRlZmF1bHQgPQp0YXNrLTExNSkK WzE1OTU2N2U2XSBSdW5uaW5nIGNvbW1hbmQ6IENyZWF0ZVVzZXJTZXNzaW9uQ29tbWFuZCBpbnRl cm5hbDogZmFsc2UuCjIwMTctMDEtMTEgMTQ6NTc6MzQsNjc0IElORk8KW29yZy5vdmlydC5lbmdp bmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kXSA9CihkZWZh dWx0CnRhc2stMjcpIFs0MzdmZWZmM10gUnVubmluZyBjb21tYW5kOiBUZXJtaW5hdGVTZXNzaW9u c0ZvclRva2VuQ29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAxNy0wMS0xMSAxNDo1NzozNCw3MTMg SU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmRhbC5kYmJyb2tlci5hdWRpdGxvZ2hhbmRsaW5n LkF1ZGl0TG9nRGlyZWN0b3JdCihkZWZhdWx0IHRhc2stODYpIFs3OTAxODc4Nl0gQ29ycmVsYXRp b24gSUQ6IDc5MDE4Nzg2LCBDYWxsIFN0YWNrOiBudWxsLApDdXN0b20gRXZlbnQgSUQ6IC0xLCBN ZXNzYWdlOiBVc2VyIGFkbWluQGludGVybmFsIGxvZ2dlZCBvdXQuCjIwMTctMDEtMTEgMTQ6NTc6 MzQsNzM2IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZv a2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stMTA2KQpbXSBVc2VyIGFkbWluQGludGVybmFsIHN1 Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzQsNzQ3IElORk8KW29yZy5v dmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5k XSA9CihkZWZhdWx0CnRhc2stMikgWzVkMDMyMmVhXSBSdW5uaW5nIGNvbW1hbmQ6IFRlcm1pbmF0 ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kCmludGVybmFsOiB0cnVlLgoyMDE3LTAxLTExIDE0OjU3 OjM0LDc3NSBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuc3NvLnNlcnZsZXRzLk9BdXRoUmV2 b2tlU2VydmxldF0gKGRlZmF1bHQgPQp0YXNrLTEyNCkKW10gVXNlciBhZG1pbkBpbnRlcm5hbCBz dWNjZXNzZnVsbHkgbG9nZ2VkIG91dAoyMDE3LTAxLTExIDE0OjU3OjM0LDc4NiBJTkZPCltvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLmFhYS5UZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFu ZF0gPQooZGVmYXVsdAp0YXNrLTEyMykgWzY4MDFhODA0XSBSdW5uaW5nIGNvbW1hbmQ6IFRlcm1p bmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kCmludGVybmFsOiB0cnVlLgoyMDE3LTAxLTExIDE0 OjU3OjM0LDgxMyBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuc3NvLnNlcnZsZXRzLk9BdXRo UmV2b2tlU2VydmxldF0gKGRlZmF1bHQgPQp0YXNrLTEyMikKWzNmNzMxNzhlXSBVc2VyIGFkbWlu QGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzQsODIz IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9y VG9rZW5Db21tYW5kXSA9CihkZWZhdWx0CnRhc2stMzEpIFs2YWNjZmM0OV0gUnVubmluZyBjb21t YW5kOiBUZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAx Ny0wMS0xMSAxNDo1NzozNCw4MzggRVJST1IgPQpbb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFw aS51dGlsLkxpbmtIZWxwZXJdCihkZWZhdWx0IHRhc2stMTE1KSBbXSBDYW4ndCBmaW5kIHJlbGF0 aXZlIHBhdGggZm9yIGNsYXNzCiJvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXNvdXJjZS5WbURpc2tz UmVzb3VyY2UiLCB3aWxsIHJldHVybiBudWxsCjIwMTctMDEtMTEgMTQ6NTc6MzQsODM4IEVSUk9S ID0KW29yZy5vdmlydC5lbmdpbmUuYXBpLnJlc3RhcGkudXRpbC5MaW5rSGVscGVyXQooZGVmYXVs dCB0YXNrLTExNSkgW10gQ2FuJ3QgZmluZCByZWxhdGl2ZSBwYXRoIGZvciBjbGFzcwoib3JnLm92 aXJ0LmVuZ2luZS5hcGkucmVzb3VyY2UuVm1EaXNrc1Jlc291cmNlIiwgd2lsbCByZXR1cm4gbnVs bAoyMDE3LTAxLTExIDE0OjU3OjM0LDg0OCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuc3Nv LnNlcnZsZXRzLk9BdXRoUmV2b2tlU2VydmxldF0gKGRlZmF1bHQgPQp0YXNrLTcyKSBbXQpVc2Vy IGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6 MzQsODQ4IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLkxvZ291dFNlc3Npb25D b21tYW5kXSAoZGVmYXVsdCB0YXNrLTExNSkKW2U3Y2M0NjddIFJ1bm5pbmcgY29tbWFuZDogTG9n b3V0U2Vzc2lvbkNvbW1hbmQgaW50ZXJuYWw6IGZhbHNlLgoyMDE3LTAxLTExIDE0OjU3OjM0LDg1 MCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuZGFsLmRiYnJva2VyLmF1ZGl0bG9naGFuZGxp bmcuQXVkaXRMb2dEaXJlY3Rvcl0KKGRlZmF1bHQgdGFzay0xMTUpIFtlN2NjNDY3XSBDb3JyZWxh dGlvbiBJRDogZTdjYzQ2NywgQ2FsbCBTdGFjazogbnVsbCwKQ3VzdG9tIEV2ZW50IElEOiAtMSwg TWVzc2FnZTogVXNlciBhZG1pbkBpbnRlcm5hbCBsb2dnZWQgb3V0LgoyMDE3LTAxLTExIDE0OjU3 OjM0LDg1NyBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLmFhYS5UZXJtaW5hdGVTZXNz aW9uc0ZvclRva2VuQ29tbWFuZF0gPQooZGVmYXVsdAp0YXNrLTE5KSBbMTNhMjM3MWFdIFJ1bm5p bmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQKaW50ZXJuYWw6IHRy dWUuCjIwMTctMDEtMTEgMTQ6NTc6MzQsODgxIElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5z c28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stMTQpIFtdClVz ZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBvdXQKMjAxNy0wMS0xMSAxNDo1 NzozNCw4OTAgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEuVGVybWluYXRlU2Vz c2lvbnNGb3JUb2tlbkNvbW1hbmRdID0KKGRlZmF1bHQKdGFzay03KSBbMTEyMWI1MmNdIFJ1bm5p bmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQKaW50ZXJuYWw6IHRy dWUuCjIwMTctMDEtMTEgMTQ6NTc6MzQsOTE0IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5z c28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stNTIpCls3Yjlk OGM4NV0gVXNlciBhZG1pbkBpbnRlcm5hbCBzdWNjZXNzZnVsbHkgbG9nZ2VkIG91dAoyMDE3LTAx LTExIDE0OjU3OjM0LDkyNCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLmFhYS5UZXJt aW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZF0gPQooZGVmYXVsdAp0YXNrLTMyKSBbNzc5ZDVl MWJdIFJ1bm5pbmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQKaW50 ZXJuYWw6IHRydWUuCjIwMTctMDEtMTEgMTQ6NTc6MzQsOTUwIElORk8KW29yZy5vdmlydC5lbmdp bmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2st NzcpClsyNWFjZDMxZF0gVXNlciBhZG1pbkBpbnRlcm5hbCBzdWNjZXNzZnVsbHkgbG9nZ2VkIG91 dAoyMDE3LTAxLTExIDE0OjU3OjM0LDk2MCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxs LmFhYS5UZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZF0gPQooZGVmYXVsdAp0YXNrLTcx KSBbMTM5YjQyY2JdIFJ1bm5pbmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNv bW1hbmQKaW50ZXJuYWw6IHRydWUuCjIwMTctMDEtMTEgMTQ6NTc6MzQsOTg0IElORk8KW29yZy5v dmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0XSAoZGVmYXVs dCA9CnRhc2stNDkpCls2YWQwM2MzMF0gVXNlciBhZG1pbkBpbnRlcm5hbCBzdWNjZXNzZnVsbHkg bG9nZ2VkIG91dAoyMDE3LTAxLTExIDE0OjU3OjM0LDk5MyBJTkZPCltvcmcub3ZpcnQuZW5naW5l LmNvcmUuYmxsLmFhYS5UZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZF0gPQooZGVmYXVs dAp0YXNrLTcwKSBbNDllOTc5M2RdIFJ1bm5pbmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNG b3JUb2tlbkNvbW1hbmQKaW50ZXJuYWw6IHRydWUuCjIwMTctMDEtMTEgMTQ6NTc6MzUsMDAxIElO Rk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5zc28udXRpbHMuQXV0aGVudGljYXRpb25VdGlsc10g KGRlZmF1bHQgdGFzay00KQpbODdlMDEyZV0gVXNlciBhZG1pbkBpbnRlcm5hbCBzdWNjZXNzZnVs bHkgbG9nZ2VkIGluIHdpdGggc2NvcGVzOgpvdmlydC1hcHAtYXBpIG92aXJ0LWV4dD0zRHRva2Vu LWluZm86YXV0aHotc2VhcmNoCm92aXJ0LWV4dD0zRHRva2VuLWluZm86cHVibGljLWF1dGh6LXNl YXJjaCA9Cm92aXJ0LWV4dD0zRHRva2VuLWluZm86dmFsaWRhdGUKMjAxNy0wMS0xMSAxNDo1Nzoz NSwwMTcgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnNzby5zZXJ2bGV0cy5PQXV0aFJldm9r ZVNlcnZsZXRdIChkZWZhdWx0ID0KdGFzay01NCkKWzdiMjNjYTQ2XSBVc2VyIGFkbWluQGludGVy bmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzUsMDI1IElORk8K W29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLkNyZWF0ZVVzZXJTZXNzaW9uQ29tbWFuZF0g KGRlZmF1bHQgPQp0YXNrLTExMCkKWzdjNjI0YzQ3XSBSdW5uaW5nIGNvbW1hbmQ6IENyZWF0ZVVz ZXJTZXNzaW9uQ29tbWFuZCBpbnRlcm5hbDogZmFsc2UuCjIwMTctMDEtMTEgMTQ6NTc6MzUsMTYw IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9y VG9rZW5Db21tYW5kXSA9CihkZWZhdWx0CnRhc2stNTUpIFs3NzY0NmVjXSBSdW5uaW5nIGNvbW1h bmQ6IFRlcm1pbmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kCmludGVybmFsOiB0cnVlLgoyMDE3 LTAxLTExIDE0OjU3OjM1LDE3MCBFUlJPUgpbb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5y ZXNvdXJjZS5BYnN0cmFjdEJhY2tlbmRSZXNvdXJjZV0gKGRlZmF1bHQKdGFzay05KSBbXSBPcGVy YXRpb24gRmFpbGVkOiBVc2VyIGlzIG5vdCBsb2dnZWQgaW4uCjIwMTctMDEtMTEgMTQ6NTc6MzUs MjAyIElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VT ZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stNjgpIFtdClVzZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vz c2Z1bGx5IGxvZ2dlZCBvdXQKMjAxNy0wMS0xMSAxNDo1NzozNSw3MjcgSU5GTwpbb3JnLm92aXJ0 LmVuZ2luZS5jb3JlLmJsbC5hYWEuVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmRdID0K KGRlZmF1bHQKdGFzay0xMDcpIFs1NzM3ZmUzXSBSdW5uaW5nIGNvbW1hbmQ6IFRlcm1pbmF0ZVNl c3Npb25zRm9yVG9rZW5Db21tYW5kCmludGVybmFsOiB0cnVlLgoyMDE3LTAxLTExIDE0OjU3OjM1 LDg5NCBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLkNvbmN1cnJlbnRDaGlsZENvbW1h bmRzRXhlY3V0aW9uQ2FsbGJhY2tdCihEZWZhdWx0UXVhcnR6U2NoZWR1bGVyMikgWzRmODNiMzU3 XSBDb21tYW5kICdBZGRWbScgKGlkOgonMGVkZWNmM2UtYjU2OS00NzQwLWE2NjgtNzE2ZDljYzlj N2EwJykgd2FpdGluZyBvbiBjaGlsZCBjb21tYW5kIGlkOgonYTEwODY5OGUtMzcwMC00ZTEwLWJi ODQtMmViN2MyNDA5NDZmJyB0eXBlOidDcmVhdGVTbmFwc2hvdEZyb21UZW1wbGF0ZScgPQp0bwpj b21wbGV0ZQoyMDE3LTAxLTExIDE0OjU3OjM2LDAyMyBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNv cmUuc3NvLnNlcnZsZXRzLk9BdXRoUmV2b2tlU2VydmxldF0gKGRlZmF1bHQgPQp0YXNrLTQ3KQpb MWQ5OTEwODBdIFVzZXIgYWRtaW5AaW50ZXJuYWwgc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBvdXQKMjAx Ny0wMS0xMSAxNDo1NzozNiwwNDIgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEu VGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmRdID0KKGRlZmF1bHQKdGFzay03NikgW2Uy ZmMxMDFdIFJ1bm5pbmcgY29tbWFuZDogVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQK aW50ZXJuYWw6IHRydWUuCjIwMTctMDEtMTEgMTQ6NTc6MzYsMDY1IElORk8KW29yZy5vdmlydC5l bmdpbmUuY29yZS5zc28udXRpbHMuQXV0aGVudGljYXRpb25VdGlsc10gKGRlZmF1bHQgdGFzay0x MjUpCltmMWFkZDg1XSBVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4g d2l0aCBzY29wZXM6Cm92aXJ0LWFwcC1hcGkgb3ZpcnQtZXh0PTNEdG9rZW4taW5mbzphdXRoei1z ZWFyY2gKb3ZpcnQtZXh0PTNEdG9rZW4taW5mbzpwdWJsaWMtYXV0aHotc2VhcmNoID0Kb3ZpcnQt ZXh0PTNEdG9rZW4taW5mbzp2YWxpZGF0ZQoyMDE3LTAxLTExIDE0OjU3OjM2LDA3NiBJTkZPCltv cmcub3ZpcnQuZW5naW5lLmNvcmUuc3NvLnNlcnZsZXRzLk9BdXRoUmV2b2tlU2VydmxldF0gKGRl ZmF1bHQgPQp0YXNrLTEzKSBbXQpVc2VyIGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dn ZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzYsMDg1IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29y ZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kXSA9CihkZWZhdWx0CnRh c2stMTgpIFs3YmRjY2E2MV0gUnVubmluZyBjb21tYW5kOiBUZXJtaW5hdGVTZXNzaW9uc0ZvclRv a2VuQ29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAxNy0wMS0xMSAxNDo1NzozNiwwODggSU5GTwpb b3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEuQ3JlYXRlVXNlclNlc3Npb25Db21tYW5kXSAo ZGVmYXVsdCA9CnRhc2stNikKWzEzYTQxMGY1XSBSdW5uaW5nIGNvbW1hbmQ6IENyZWF0ZVVzZXJT ZXNzaW9uQ29tbWFuZCBpbnRlcm5hbDogZmFsc2UuCjIwMTctMDEtMTEgMTQ6NTc6MzYsMTEwIElO Rk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZva2VTZXJ2bGV0 XSAoZGVmYXVsdCA9CnRhc2stMTEpClsyMTk1MzI0NF0gVXNlciBhZG1pbkBpbnRlcm5hbCBzdWNj ZXNzZnVsbHkgbG9nZ2VkIG91dAoyMDE3LTAxLTExIDE0OjU3OjM2LDExOCBJTkZPCltvcmcub3Zp cnQuZW5naW5lLmNvcmUuYmxsLmFhYS5UZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZF0g PQooZGVmYXVsdAp0YXNrLTczKSBbNzM2Mjc4ZmRdIFJ1bm5pbmcgY29tbWFuZDogVGVybWluYXRl U2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmQKaW50ZXJuYWw6IHRydWUuCjIwMTctMDEtMTEgMTQ6NTc6 MzYsMTQ0IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5zc28uc2VydmxldHMuT0F1dGhSZXZv a2VTZXJ2bGV0XSAoZGVmYXVsdCA9CnRhc2stNTcpIFtdClVzZXIgYWRtaW5AaW50ZXJuYWwgc3Vj Y2Vzc2Z1bGx5IGxvZ2dlZCBvdXQKMjAxNy0wMS0xMSAxNDo1NzozNiwxODQgSU5GTwpbb3JnLm92 aXJ0LmVuZ2luZS5jb3JlLmJsbC5hYWEuVGVybWluYXRlU2Vzc2lvbnNGb3JUb2tlbkNvbW1hbmRd ID0KKGRlZmF1bHQKdGFzay01OSkgWzVmMGZmZTU0XSBSdW5uaW5nIGNvbW1hbmQ6IFRlcm1pbmF0 ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5kCmludGVybmFsOiB0cnVlLgoyMDE3LTAxLTExIDE0OjU3 OjM2LDI0MyBJTkZPCltvcmcub3ZpcnQuZW5naW5lLmNvcmUuc3NvLnNlcnZsZXRzLk9BdXRoUmV2 b2tlU2VydmxldF0gKGRlZmF1bHQgPQp0YXNrLTY5KSBbXQpVc2VyIGFkbWluQGludGVybmFsIHN1 Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzYsMjY1IElORk8KW29yZy5v dmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9yVG9rZW5Db21tYW5k XSA9CihkZWZhdWx0CnRhc2stMjEpIFs2NzcyOWFiNV0gUnVubmluZyBjb21tYW5kOiBUZXJtaW5h dGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAxNy0wMS0xMSAxNDo1 NzozNiwyODkgSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnNzby5zZXJ2bGV0cy5PQXV0aFJl dm9rZVNlcnZsZXRdIChkZWZhdWx0ID0KdGFzay03NSkKWzFhZTZlZTUxXSBVc2VyIGFkbWluQGlu dGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CjIwMTctMDEtMTEgMTQ6NTc6MzYsNDAzIElO Rk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuYWFhLlRlcm1pbmF0ZVNlc3Npb25zRm9yVG9r ZW5Db21tYW5kXSA9CihkZWZhdWx0CnRhc2stMjgpIFs0ZTI0NTA0MV0gUnVubmluZyBjb21tYW5k OiBUZXJtaW5hdGVTZXNzaW9uc0ZvclRva2VuQ29tbWFuZAppbnRlcm5hbDogdHJ1ZS4KMjAxNy0w MS0xMSAxNDo1NzozNiw3NTggSU5GTwpbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnNzby5zZXJ2bGV0 cy5PQXV0aFJldm9rZVNlcnZsZXRdIChkZWZhdWx0ID0KdGFzay04MykKWzUwZTkwNzJiXSBVc2Vy IGFkbWluQGludGVybmFsIHN1Y2Nlc3NmdWxseSBsb2dnZWQgb3V0CgoKL3Zhci9sb2cvaHR0cGQv c3NsX2FjY2Vzc19sb2c6CgoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0g LSBbMTEvSmFuLzIwMTc6MTQ6NTQ6NDcgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaS92 bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhUVFAvMS4xIiAyMDAgOTg4MzkxCjIwMDE6NjdjOjE5 MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NToxNSArMDEw MF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3Yzox OTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTU6MTcgKzAx MDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaS92bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhU VFAvMS4xIiAyMDAgOTgwMDEyCjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIg LSAtIFsxMS9KYW4vMjAxNzoxNDo1NzoyMSArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBp IEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIy IC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MjIgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2Fw aS92bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhUVFAvMS4xIiAyMDAgMTAxMjA5MgoyMDAxOjY3 YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MjIg KzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaSBIVFRQLzEuMSIgMjAwIDQzOTUKMjAwMTo2 N2M6MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjIz ICswMTAwXSA9CiJHRVQKL292aXJ0LWVuZ2luZS9hcGkvdm1zO2Nhc2Vfc2Vuc2l0aXZlPTNEVHJ1 ZSBIVFRQLzEuMSIgMjAwIDEwMTIwOTIKMjAwMTo2N2M6MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6 NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjIzICswMTAwXSA9CiJHRVQKL292aXJ0LWVuZ2lu ZS9hcGkgSFRUUC8xLjEiIDIwMCA0Mzk1CjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVl OjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzoyMyArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdp bmUvYXBpL3ZtcztjYXNlX3NlbnNpdGl2ZT0zRFRydWUgSFRUUC8xLjEiIDIwMCAxMDEyMDkyCjIw MDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1 NzoyNCArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoy MDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6 NTc6MjQgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaS92bXM7Y2FzZV9zZW5zaXRpdmU9 M0RUcnVlIEhUVFAvMS4xIiAyMDAgMTAxMjA5MgoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6 YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MjUgKzAxMDBdID0KIkdFVAovb3ZpcnQt ZW5naW5lL2FwaSBIVFRQLzEuMSIgMjAwIDQzOTUKMjAwMTo2N2M6MTkzMzpjMDE6ZmFiYTpjMGRl OmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjI1ICswMTAwXSA9CiJHRVQKL292aXJ0 LWVuZ2luZS9hcGkvdm1zO2Nhc2Vfc2Vuc2l0aXZlPTNEVHJ1ZSBIVFRQLzEuMSIgMjAwIDEwMTIw OTIKMjAwMTo2N2M6MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3 OjE0OjU3OjI2ICswMTAwXSA9CiJHRVQKL292aXJ0LWVuZ2luZS9hcGkgSFRUUC8xLjEiIDIwMCA0 Mzk1CjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAx NzoxNDo1NzoyNiArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBpL3ZtcztjYXNlX3NlbnNp dGl2ZT0zRFRydWUgSFRUUC8xLjEiIDIwMCAxMDEyMDkyCjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6 YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzoyNyArMDEwMF0gPQoiR0VUCi9v dmlydC1lbmdpbmUvYXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3YzoxOTMzOmMwMTpmYWJh OmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MjkgKzAxMDBdID0KIkdFVAov b3ZpcnQtZW5naW5lL2FwaSBIVFRQLzEuMSIgMjAwIDQzOTUKMjAwMTo2N2M6MTkzMzpjMDE6ZmFi YTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjI5ICswMTAwXSA9CiJHRVQK L292aXJ0LWVuZ2luZS9hcGkvdm1zO2Nhc2Vfc2Vuc2l0aXZlPTNEVHJ1ZSBIVFRQLzEuMSIgMjAw IDEwMTIwOTIKMjAwMTo2N2M6MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0ph bi8yMDE3OjE0OjU3OjI5ICswMTAwXSA9CiJHRVQKL292aXJ0LWVuZ2luZS9hcGkvdm1zO2Nhc2Vf c2Vuc2l0aXZlPTNEVHJ1ZSBIVFRQLzEuMSIgMjAwIDEwMTIwOTIKMjAwMTo2N2M6MTkzMzpjMDE6 ZmFiYTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjI5ICswMTAwXSA9CiJH RVQKL292aXJ0LWVuZ2luZS9hcGkgSFRUUC8xLjEiIDIwMCA0Mzk1CjIwMDE6NjdjOjE5MzM6YzAx OmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozMCArMDEwMF0gPQoi R0VUCi9vdmlydC1lbmdpbmUvYXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3YzoxOTMzOmMw MTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MzAgKzAxMDBdID0K IkdFVAovb3ZpcnQtZW5naW5lL2FwaS92bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhUVFAvMS4x IiAyMDAgMTAxMjA5MgoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBb MTEvSmFuLzIwMTc6MTQ6NTc6MzAgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaS92bXM7 Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhUVFAvMS4xIiAyMDAgMTAxMjA5MgoyMDAxOjY3YzoxOTMz OmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MzEgKzAxMDBd ID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaSBIVFRQLzEuMSIgMjAwIDQzOTUKMjAwMTo2N2M6MTkz MzpjMDE6ZmFiYTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjMxICswMTAw XSA9CiJHRVQKL292aXJ0LWVuZ2luZS9hcGkvdm1zO2Nhc2Vfc2Vuc2l0aXZlPTNEVHJ1ZSBIVFRQ LzEuMSIgMjAwIDEwMTIwOTIKMjAwMTo2N2M6MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6NDUyMiAt IC0gWzExL0phbi8yMDE3OjE0OjU3OjMyICswMTAwXSA9CiJHRVQKL292aXJ0LWVuZ2luZS9hcGkg SFRUUC8xLjEiIDIwMCA0Mzk1CjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIg LSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozMiArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBp L3ZtcztjYXNlX3NlbnNpdGl2ZT0zRFRydWUgSFRUUC8xLjEiIDIwMCA5OTAzNzAKMjAwMTo2N2M6 MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjMzICsw MTAwXSA9CiJHRVQKL292aXJ0LWVuZ2luZS9hcGkgSFRUUC8xLjEiIDIwMCA0Mzk1CjIwMDE6Njdj OjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozMyAr MDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBpL3ZtcztjYXNlX3NlbnNpdGl2ZT0zRFRydWUg SFRUUC8xLjEiIDIwMCAxMDEyMDkyCjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1 MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozNCArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUv YXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0 NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MzUgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5l L2FwaS92bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhUVFAvMS4xIiA0MDEgMTU1CjIwMDE6Njdj OjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozNSAr MDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3 YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MzYg KzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaS92bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVl IEhUVFAvMS4xIiAyMDAgMTAxMjA5MgoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0 NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MzcgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5l L2FwaSBIVFRQLzEuMSIgMjAwIDQzOTUKMjAwMTo2N2M6MTkzMzpjMDE6ZmFiYTpjMGRlOmJhNWU6 NDUyMiAtIC0gWzExL0phbi8yMDE3OjE0OjU3OjM3ICswMTAwXSA9CiJHRVQKL292aXJ0LWVuZ2lu ZS9hcGkgSFRUUC8xLjEiIDIwMCA0Mzk1CjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVl OjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozNyArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdp bmUvYXBpL3ZtcztjYXNlX3NlbnNpdGl2ZT0zRFRydWUgSFRUUC8xLjEiIDIwMCAxMDEyMDkyCjIw MDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpiYTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1 NzozNyArMDEwMF0gPQoiR0VUCi9vdmlydC1lbmdpbmUvYXBpL3ZtcztjYXNlX3NlbnNpdGl2ZT0z RFRydWUgSFRUUC8xLjEiIDIwMCAxMDEyMDkyCjIwMDE6NjdjOjE5MzM6YzAxOmZhYmE6YzBkZTpi YTVlOjQ1MjIgLSAtIFsxMS9KYW4vMjAxNzoxNDo1NzozOCArMDEwMF0gPQoiR0VUCi9vdmlydC1l bmdpbmUvYXBpIEhUVFAvMS4xIiAyMDAgNDM5NQoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6 YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6MTQ6NTc6MzggKzAxMDBdID0KIkdFVAovb3ZpcnQt ZW5naW5lL2FwaS92bXM7Y2FzZV9zZW5zaXRpdmU9M0RUcnVlIEhUVFAvMS4xIiAyMDAgMTAxMjA5 MgoyMDAxOjY3YzoxOTMzOmMwMTpmYWJhOmMwZGU6YmE1ZTo0NTIyIC0gLSBbMTEvSmFuLzIwMTc6 MTQ6NTc6MzkgKzAxMDBdID0KIkdFVAovb3ZpcnQtZW5naW5lL2FwaSBIVFRQLzEuMSIgMjAwIDQz OTUKCgoKVGh4IENocmlzdGlhbgoKLS0tLS1VcnNwcj1GQ25nbGljaGUgTmFjaHJpY2h0LS0tLS0K Vm9uOiBKdWFuIEhlcm49RTFuZGV6IFttYWlsdG86amhlcm5hbmRAcmVkaGF0LmNvbV09MjAKR2Vz ZW5kZXQ6IE1pdHR3b2NoLCAxMS4gSj1FNG5uZXIgMjAxNyAxNToyNgpBbjogR3J1bmRtYW5uLCBD aHJpc3RpYW4gPENocmlzdGlhbi5HcnVuZG1hbm5AZmFiYXNvZnQuY29tPjsKJ3VzZXJzQG92aXJ0 Lm9yZycgPHVzZXJzQG92aXJ0Lm9yZz4KQmV0cmVmZjogUmU6IFtvdmlydC11c2Vyc10gTWF4IG51 bWJlciBvZiBhcGkgY2FsbHMgcGVyIHVzZXI/CgpPbiAwMS8xMS8yMDE3IDAzOjE2IFBNLCBHcnVu ZG1hbm4sIENocmlzdGlhbiB3cm90ZToKPiBIaSwKPj0yMAo+IGlzIHRoZXJlIGEgbWF4aW11bSBu dW1iZXIgb2Ygc2Vzc2lvbnMgcGVyIHVzZXI/Cj49MjAKClRoZXJlIGlzIG5vIGxpbWl0LCBleGNl cHQgdGhlIGF2YWlsYWJsZSBtZW1vcnkuCgo+ID0yMAo+PTIwCj4gSSBhbSBkb2luZyBweXRob24t YXBpIGNhbGxzIHRvIHJlbW92ZSBWTXMKPj0yMAo+IElmIEkgY2FsbCBteSBzY3JpcHQgMzAgdGlt ZXMgc2ltdWx0YW5lb3VzbHksIG9uZSBvciB0d28gZ2V0IGFuIGVycm9yLgo+CgpXaGF0IGRvZXMg J3NpbXVsdGFuZW91c2x5JyBtZWFuIGV4YWN0bHk/IEFyZSB5b3Ugc2VuZGluZyB0aGUgcmVxdWVz dHMgaW4KcGFyYWxsZWwgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcz8gT3IgZnJvbSBkaWZmZXJlbnQg cHJvY2Vzc2VzPyBPciBqdXN0CnNlbmRpbmcgdGhlbSBpbiBhIGxvb3A/CgpUaGUgL3Zhci9sb2cv b3ZpcnQtZW5naW5lL3NlcnZlci5sb2csIC92YXIvbG9nL292aXJ0LWVuZ2luZS9lbmdpbmUubG9n ID0KYW5kCi92YXIvbG9nL2h0dHBkL3NzbF9hY2Nlc3NfbG9nIGZpbGVzIGNhbiBoZWxwIGRldGVy bWluZSB3aGF0IGlzID0KaGFwcGVuaW5nLgpDYW4geW91IGNoZWNrIGFuZCBtYXliZSBzaGFyZSB0 aGUgcmVsZXZhbnQgcGFydCBvZiB0aG9zZSBmaWxlcz8KCj4gPTIwCj49MjAKPiBUcmFjZWJhY2sg KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Cj49MjAKPiAgIEZpbGUgInJlbW92ZV92bS5weSIsIGxp bmUgMjQsIGluIDxtb2R1bGU+Cj49MjAKPiAgICAgaWYgVk1OQU1FIGluIFt2bS5uYW1lIGZvciB2 bSBpbiBhcGkudm1zLmxpc3QoKV06Cj49MjAKPiAgIEZpbGUKPiAiL3Vzci9saWIvcHl0aG9uMi43 L3NpdGUtcGFja2FnZXMvb3ZpcnRzZGsvaW5mcmFzdHJ1Y3R1cmUvYnJva2Vycy5weSIsCj4gbGlu ZSAzNTc2MSwgaW4gbGlzdAo+PTIwCj4gICAgIGhlYWRlcnM9M0R7IkFsbC1Db250ZW50IjphbGxf Y29udGVudH0KPj0yMAo+ICAgRmlsZQo+ICIvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdl cy9vdmlydHNkay9pbmZyYXN0cnVjdHVyZS9wcm94eS5weSIsCj4gbGluZSA0NiwgaW4gZ2V0Cj49 MjAKPiAgICAgcmV0dXJuIHNlbGYucmVxdWVzdChtZXRob2Q9M0QnR0VUJywgdXJsPTNEdXJsLCBo ZWFkZXJzPTNEaGVhZGVycyw9MjAKPiBjbHM9M0RjbHMpCj49MjAKPiAgIEZpbGUKPiAiL3Vzci9s aWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvb3ZpcnRzZGsvaW5mcmFzdHJ1Y3R1cmUvcHJveHku cHkiLAo+IGxpbmUgMTIyLCBpbiByZXF1ZXN0Cj49MjAKPiAgICAgcGVyc2lzdGVudF9hdXRoPTNE c2VsZi5fX3BlcnNpc3RlbnRfYXV0aAo+PTIwCj4gICBGaWxlCj4gIi91c3IvbGliL3B5dGhvbjIu Ny9zaXRlLXBhY2thZ2VzL292aXJ0c2RrL2luZnJhc3RydWN0dXJlL2Nvbm5lY3Rpb25zcAo+IG9v bC5weSIsCj4gbGluZSA3OSwgaW4gZG9fcmVxdWVzdAo+PTIwCj4gICAgIHBlcnNpc3RlbnRfYXV0 aCkKPj0yMAo+ICAgRmlsZQo+ICIvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9vdmly dHNkay9pbmZyYXN0cnVjdHVyZS9jb25uZWN0aW9uc3AKPiBvb2wucHkiLAo+IGxpbmUgMTYyLCBp biBfX2RvX3JlcXVlc3QKPj0yMAo+ICAgICByYWlzZSBlcnJvcnMuUmVxdWVzdEVycm9yKHJlc3Bv bnNlX2NvZGUsIHJlc3BvbnNlX3JlYXNvbiw9MjAKPiByZXNwb25zZV9ib2R5KQo+PTIwCj4gb3Zp cnRzZGsuaW5mcmFzdHJ1Y3R1cmUuZXJyb3JzLlJlcXVlc3RFcnJvcjoKPj0yMAo+IHN0YXR1czog NDAxCj49MjAKPiByZWFzb246IFVuYXV0aG9yaXplZAo+PTIwCj4gZGV0YWlsOiBVc2VyIGlzIG5v dCBsb2dnZWQgaW4uCj49MjAKPiA9MjAKPj0yMAo+ID0yMAo+PTIwCj4gSXMgdGhlcmUgc29tZSBz ZXR0aW5nIEkgY2FuIHR1bmU/Cj49MjAKPiA9MjAKPj0yMAo+IFRoeCBDaHJpc3RpYW4KPj0yMAo+ PTIwCj49MjAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IFVzZXJzIG1haWxpbmcgbGlzdAo+IFVzZXJzQG92aXJ0Lm9yZwo+IGh0dHA6Ly9saXN0cy5v dmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vycwo+PTIwCgoKLS0tLS0tPV9OZXh0UGFydF8w MDBfMDAyM18wMUQyNkMyMS5DQUMwMzM4MApDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3BrY3M3 LXNpZ25hdHVyZTsgbmFtZT0ic21pbWUucDdzIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBi YXNlNjQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InNtaW1lLnA3 cyIKCk1JQUdDU3FHU0liM0RRRUhBcUNBTUlBQ0FRRXhEekFOQmdsZ2hrZ0JaUU1FQWdFRkFEQ0FC Z2txaGtpRzl3MEJCd0VBQUtDQ0VZZ3cKZ2dPME1JSUNuS0FEQWdFQ0FoQXozZHd5ZHZQY3RrUnFk RWRtdHZXUU1BMEdDU3FHU0liM0RRRUJEUVVBTUdJeEV6QVJCZ29Ka2lhSgprL0lzWkFFWkZnTmpi MjB4R0RBV0Jnb0praWFKay9Jc1pBRVpGZ2htWVdKaGMyOW1kREVXTUJRR0NnbVNKb21UOGl4a0FS a1dCbVpoClltRm5iREVaTUJjR0ExVUVBeE1RUm1GaVlYTnZablFnVW05dmRDQkRRVEFlRncweE5U QXpNVEl4TURRNU1qUmFGdzB6TlRBek1USXgKTURVNU1qTmFNR0l4RXpBUkJnb0praWFKay9Jc1pB RVpGZ05qYjIweEdEQVdCZ29Ka2lhSmsvSXNaQUVaRmdobVlXSmhjMjltZERFVwpNQlFHQ2dtU0pv bVQ4aXhrQVJrV0JtWmhZbUZuYkRFWk1CY0dBMVVFQXhNUVJtRmlZWE52Wm5RZ1VtOXZkQ0JEUVRD Q0FTSXdEUVlKCktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxFcFpQZDNEZFo5dTgx UTgvWmdnWnozTlNkeHNhakxMMjJNUVI1WFZKcVQKQytZZjE3RkNDam5YV2d6MFdVS1V3bVBNbTZ4 cHJKcXZ1WWQ4MjZ2UjY2dWZTU3RzZHFEcGR4Y3JtRCtFeWJ6SzA2YkxxRzZvaFdWVApSYi9vandv MWFYUW52eXVYTkhNbUxTSk4vT3dOdEZ3cEhhZ05wWU9aNTN5T0M1WEdLUi9DY24ybGl3bmNWQks4 VDVOT0NTM1hoaFA2Cjc1R3N0VXYzSEJPUkQzYVI5VDVpZ1JHOEh0VFNvaTYzMkp0MFJ2TTdtN3U2 Q3I2NDA0Q3hMS21TeWVKOFVIbDdUdC90V1M1R2ZzWGgKdWlsLzFkZk5nTVhrYkdqekczcnJ1cTZ2 OWZJcjN1Z2tqeDY2OUl5RTc3VENDTmtVVUQ5eUdpMjlEQVlzSWNzQUhJbnZDeDhDQXdFQQpBYU5t TUdRd0V3WUpLd1lCQkFHQ054UUNCQVllQkFCREFFRXdDd1lEVlIwUEJBUURBZ0dHTUE4R0ExVWRF d0VCL3dRRk1BTUJBZjh3CkhRWURWUjBPQkJZRUZLR2RTMlFYUEFDSzBubDVnamJQTWZyN1dYU0tN QkFHQ1NzR0FRUUJnamNWQVFRREFnRUFNQTBHQ1NxR1NJYjMKRFFFQkRRVUFBNElCQVFCaFNTaXpO ZytpenNrK1NUcG9XT1NJMGFIVVg4NU9IVkxrVVk0YlJFUTlKR1BZTHJrU3BmN25TQm1FRUxISgpQ b2RFYWJpSVNJaE1rRUpZalZBVDA4SzBOWlFQeHBLMHdRb2tTaXRjNXlRTlgwUG02dWViekRrNlZv RGVjRkowcGEyUHhINUJKOVFFCndqOWluYlNGUmdNQWMyUVpUV3NlYnhZaDJTQmRvc1h5MUJ4c2o0 UFExS2trVGxWenQ4dEZ0cTJhOEhGS2dNQUtNM0U3RE9saHh2Mm0KNXJtbVRtYlMyeS9RNTFremxi R1NyQWNjNjdOempBckh1NFZYTTdkN3VFSzlXdTR1L091L2JvMlZ1RnBpZWRsME43WGpzNkhPY1J2 aQo3MFFrNjhkQmRJbEd3ZnpmcTdSMXdnQnp0c09NQW5UN2QvcFUraUJ0bW5PNVJoeFdKb3FrTUlJ R0NEQ0NCUENnQXdJQkFnSVRRQUFBCkFBaFAvV3RGOU84SkFBQUFBQUFBQ0RBTkJna3Foa2lHOXcw QkFRMEZBREJpTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SZ3cKRmdZS0NaSW1pWlB5TEdR QkdSWUlabUZpWVhOdlpuUXhGakFVQmdvSmtpYUprL0lzWkFFWkZnWm1ZV0poWjJ3eEdUQVhCZ05W QkFNVApFRVpoWW1GemIyWjBJRkp2YjNRZ1EwRXdIaGNOTVRVd016RXlNVFkwTmpVeFdoY05NalV3 TXpBNU1UWTBOalV4V2pCcU1STXdFUVlLCkNaSW1pWlB5TEdRQkdSWURZMjl0TVJnd0ZnWUtDWklt aVpQeUxHUUJHUllJWm1GaVlYTnZablF4RmpBVUJnb0praWFKay9Jc1pBRVoKRmdabVlXSmhaMnd4 SVRBZkJnTlZCQU1UR0VaaFltRnpiMlowSUVsdWRHVnliV1ZrYVdGMFpTQkRRVENDQVNJd0RRWUpL b1pJaHZjTgpBUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTEhEV1pDUlJ1ZWhvK0hCSkdITXVTcCtE bTBhTUM3OE00aW01VXg3SUdGOEI1WlhzYithCnRWQmhCckZkc2RhelFyMzc3c2lJTDFXMVljUzB6 Y2V6TmRNS2t0NC9lNy9Ib3A5cHlUZWM1aDJuakFqRk9EdVpXZ3VYS214UFpYQmEKOTZvcDBkend2 aG82VlZrRlNwNk5BRFptZS9UTmM2dm0zQlNTdmdBWlczQUxFRVUyNmJCT1pVSDhLd2FwUUpBQU1F WmRCd3BNQzdnbAppZy81ZmhLUHR4TXdFOVRBNGF4WEV5UlBXY0Z1Mnc5MUwvcFNmVTRlWldIajF3 V2NRUDFEUmZ1OEp2MXNGZTduVFplamxGZjV2QUc2CnZ6RUxtZDVPREpSQzZ4c1N6MDhEcDNRWHpW bHFjQ292Y0tBV2RLVmJnWkJkWUJpRHJpcVA5bjR6c1RIUmNxY0NBd0VBQWFPQ0FxMHcKZ2dLcE1C QUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1CMEdBMVVkRGdRV0JCVDR0L242RHQwQ0lGY0UwbWxNcEsz T3Y4eHJEakE5QmdrcgpCZ0VFQVlJM0ZRY0VNREF1QmlZckJnRUVBWUkzRlFpMHkyR0JncHgvZ2Iy QkZvYkcySCtDMTZjQ2dVR0Q0cElFZ3RtN0VBSUJaQUlCCkF6QUxCZ05WSFE4RUJBTUNBWVl3RHdZ RFZSMFRBUUgvQkFVd0F3RUIvekFmQmdOVkhTTUVHREFXZ0JTaG5VdGtGendBaXRKNWVZSTIKenpI NisxbDBpakNDQVNJR0ExVWRId1NDQVJrd2dnRVZNSUlCRWFDQ0FRMmdnZ0VKaG9ISmJHUmhjRG92 THk5RFRqMUdZV0poYzI5bQpkQ1V5TUZKdmIzUWxNakJEUVN4RFRqMUdRVUpCVWs5UFZFTkJMRU5P UFVORVVDeERUajFRZFdKc2FXTWxNakJMWlhrbE1qQlRaWEoyCmFXTmxjeXhEVGoxVFpYSjJhV05s Y3l4RFRqMURiMjVtYVdkMWNtRjBhVzl1TEVSRFBXWmhZbUZuYkN4RVF6MW1ZV0poYzI5bWRDeEUK UXoxamIyMC9ZMlZ5ZEdsbWFXTmhkR1ZTWlhadlkyRjBhVzl1VEdsemREOWlZWE5sUDI5aWFtVmpk RU5zWVhOelBXTlNURVJwYzNSeQphV0oxZEdsdmJsQnZhVzUwaGp0b2RIUndPaTh2WTNKc0xtWmhZ bUZ6YjJaMExtTnZiUzlEWlhKMFJXNXliMnhzTDBaaFltRnpiMlowCkpUSXdVbTl2ZENVeU1FTkJM bU55YkRDQjBRWUlLd1lCQlFVSEFRRUVnY1F3Z2NFd2diNEdDQ3NHQVFVRkJ6QUNob0d4YkdSaGNE b3YKTHk5RFRqMUdZV0poYzI5bWRDVXlNRkp2YjNRbE1qQkRRU3hEVGoxQlNVRXNRMDQ5VUhWaWJH bGpKVEl3UzJWNUpUSXdVMlZ5ZG1sagpaWE1zUTA0OVUyVnlkbWxqWlhNc1EwNDlRMjl1Wm1sbmRY SmhkR2x2Yml4RVF6MW1ZV0poWjJ3c1JFTTlabUZpWVhOdlpuUXNSRU05ClkyOXRQMk5CUTJWeWRH bG1hV05oZEdVL1ltRnpaVDl2WW1wbFkzUkRiR0Z6Y3oxalpYSjBhV1pwWTJGMGFXOXVRWFYwYUc5 eWFYUjUKTUEwR0NTcUdTSWIzRFFFQkRRVUFBNElCQVFBRGFwcUlsNHhEYVZmR3lLMVZ1ZEtsU1h6 bVpvMG53dFcxUXR5UGtnQmsra2NsblBqNApzb3d5YUpPbmpBQzF5YkJrSllnZDF0V05KdzM3OGtv bEVudUZyaGlpcDhuLzh6RTJBRm9RNG44L1A2ZGlZajBYMDdueEhhd1REQWJrCjBvTEZhaXhzVzdy cXNuMC9EVk42RytYU24xNzJ5UjB3UkxyS1JqUHFlenNuajk2UkRVU3pMZXVqOFFqVFljcGRnYW5l NGtwdVdsNlMKN2NoWEk1MUFQSWJMRFdYaEt0ZlFlVUprWVI2WlBOamdGTzVLblBqVmlZeG1uQ1d1 WHBPT29CMlArN011Rld1YWhycGVSTjZORjV6bQpOd1hwQ3Y2VWVMRjJCRDF6akVDRzBEN1QvTnFm L1E1VzRrQkR4Q3oyZnlTemJYcHJjOThVN0oxUmZYWTE5bkRzTUlJSHdEQ0NCcWlnCkF3SUJBZ0lU R2dBQUNEdUdCOWdIaXlkTWNRQUFBQUFJT3pBTkJna3Foa2lHOXcwQkFRMEZBREJxTVJNd0VRWUtD WkltaVpQeUxHUUIKR1JZRFkyOXRNUmd3RmdZS0NaSW1pWlB5TEdRQkdSWUlabUZpWVhOdlpuUXhG akFVQmdvSmtpYUprL0lzWkFFWkZnWm1ZV0poWjJ3eApJVEFmQmdOVkJBTVRHRVpoWW1GemIyWjBJ RWx1ZEdWeWJXVmthV0YwWlNCRFFUQWVGdzB4TnpBeE1Ea3dPREU0TURKYUZ3MHhPVEF4Ck1Ea3dP REU0TURKYU1CNHhIREFhQmdOVkJBTVRFME5vY21semRHbGhiaTVIY25WdVpHMWhibTR3Z2dFaU1B MEdDU3FHU0liM0RRRUIKQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUM1ZUtMUW04Z3lRbmhLd3Y1eUY1 SS8yYkVuZWJvMytwU3dUSXFsZU9hNlJoYitYSC9adDFPcQo1UnUxRUYwcEtRejZza2tQLzY3ODVQ ZkpFamJoZzJHUGFxU1B1R0VuMENLVVdIOWxMS05xdHpPRE9tNThCMG1XTHBkNU8rU0l1Zlo0CllQ SW9ncnd5MW1FUFhjMktEZFBqM1lObUY3Uld1RUJrSGo3YjlCQ25vOTJiQlpBR0YrUHBIZjZzc1J2 ekRFNGhLVXhJakZJWkptQXAKamN0RkZmb2ZSZ1EvQUhyeDRGRUQxcG5sS1pnbFVyTXZaRkptN3Fy d2YzZXVTWVY4M2tNVlRxeDNmVkxoY1J0S2gvNUdRSmlJZEpYSAprQ29wdDZENXhtS2lWY1FFaWll WXdZNFZQbzBRMmZRYklNRjBQbEhOU1htYlZybTFXTlBrYmNRY2NQYlJBZ01CQUFHamdnU3BNSUlF CnBUQTlCZ2tyQmdFRUFZSTNGUWNFTURBdUJpWXJCZ0VFQVlJM0ZRaTB5MkdCZ3B4L2diMkJGb2JH MkgrQzE2Y0NnVUdINytJcGdiQ0QKVVFJQlpBSUJBakFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNE QkRBTEJnTlZIUThFQkFNQ0JhQXdHd1lKS3dZQkJBR0NOeFVLQkE0dwpEREFLQmdnckJnRUZCUWNE QkRDQmxBWUpLb1pJaHZjTkFRa1BCSUdHTUlHRE1Bc0dDV0NHU0FGbEF3UUJLakFMQmdsZ2hrZ0Ja UU1FCkFTMHdDd1lKWUlaSUFXVURCQUVXTUFzR0NXQ0dTQUZsQXdRQkdUQUxCZ2xnaGtnQlpRTUVB UUl3Q3dZSllJWklBV1VEQkFFRk1Bb0cKQ0NxR1NJYjNEUU1ITUFjR0JTc09Bd0lITUE0R0NDcUdT SWIzRFFNQ0FnSUFnREFPQmdncWhraUc5dzBEQkFJQ0FnQXdIUVlEVlIwTwpCQllFRkR5OEZnQ3dh NWN5WG1JaTBYbmZZSHV1SGdFSk1COEdBMVVkSXdRWU1CYUFGUGkzK2ZvTzNRSWdWd1RTYVV5a3Jj Ni96R3NPCk1JSUJod1lEVlIwZkJJSUJmakNDQVhvd2dnRjJvSUlCY3FDQ0FXNkdnZEpzWkdGd09p OHZMME5PUFVaaFltRnpiMlowSlRJd1NXNTAKWlhKdFpXUnBZWFJsSlRJd1EwRXNRMDQ5UmtGQ1FV bE9WRVZTUTBFc1EwNDlRMFJRTEVOT1BWQjFZbXhwWXlVeU1FdGxlU1V5TUZObApjblpwWTJWekxF Tk9QVk5sY25acFkyVnpMRU5PUFVOdmJtWnBaM1Z5WVhScGIyNHNSRU05Wm1GaVlXZHNMRVJEUFda aFltRnpiMlowCkxFUkRQV052YlQ5alpYSjBhV1pwWTJGMFpWSmxkbTlqWVhScGIyNU1hWE4wUDJK aGMyVS9iMkpxWldOMFEyeGhjM005WTFKTVJHbHoKZEhKcFluVjBhVzl1VUc5cGJuU0dVbWgwZEhB Nkx5OUdRVUpCU1U1VVJWSkRRUzVtWVdKaFoyd3VabUZpWVhOdlpuUXVZMjl0TDBObApjblJGYm5K dmJHd3ZSbUZpWVhOdlpuUWxNakJKYm5SbGNtMWxaR2xoZEdVbE1qQkRRUzVqY215R1EyaDBkSEE2 THk5amNtd3VabUZpCllYTnZablF1WTI5dEwwTmxjblJGYm5KdmJHd3ZSbUZpWVhOdlpuUWxNakJK Ym5SbGNtMWxaR2xoZEdVbE1qQkRRUzVqY213d2dnR1UKQmdnckJnRUZCUWNCQVFTQ0FZWXdnZ0dD TUlIR0JnZ3JCZ0VGQlFjd0FvYUJ1V3hrWVhBNkx5OHZRMDQ5Um1GaVlYTnZablFsTWpCSgpiblJs Y20xbFpHbGhkR1VsTWpCRFFTeERUajFCU1VFc1EwNDlVSFZpYkdsakpUSXdTMlY1SlRJd1UyVnlk bWxqWlhNc1EwNDlVMlZ5CmRtbGpaWE1zUTA0OVEyOXVabWxuZFhKaGRHbHZiaXhFUXoxbVlXSmha MndzUkVNOVptRmlZWE52Wm5Rc1JFTTlZMjl0UDJOQlEyVnkKZEdsbWFXTmhkR1UvWW1GelpUOXZZ bXBsWTNSRGJHRnpjejFqWlhKMGFXWnBZMkYwYVc5dVFYVjBhRzl5YVhSNU1INEdDQ3NHQVFVRgpC ekFDaG5Kb2RIUndPaTh2UmtGQ1FVbE9WRVZTUTBFdVptRmlZV2RzTG1aaFltRnpiMlowTG1OdmJT OURaWEowUlc1eWIyeHNMMFpCClFrRkpUbFJGVWtOQkxtWmhZbUZuYkM1bVlXSmhjMjltZEM1amIy MWZSbUZpWVhOdlpuUWxNakJKYm5SbGNtMWxaR2xoZEdVbE1qQkQKUVM1amNuUXdOd1lJS3dZQkJR VUhNQUdHSzJoMGRIQTZMeTlHUVVKQlNVNVVSVkpEUVM1bVlXSmhaMnd1Wm1GaVlYTnZablF1WTI5 dApMMjlqYzNBd0t3WURWUjBSQkNRd0lvRWdRMmh5YVhOMGFXRnVMa2R5ZFc1a2JXRnVia0JtWVdK aGMyOW1kQzVqYjIwd0RRWUpLb1pJCmh2Y05BUUVOQlFBRGdnRUJBSjVaU3VITVJTVzkwKzRiclVG YUNzaTRKd3dKdjhRRVdsK3hWWEc3QXFNWEZ0akpmYllDWUxaSGlIQWcKNlJ1d0krSFVPeTdRREFk WXl4bHdYWUJYdHFZR0FXRUVxNHZBWS9uaEdiMVBjUkdDeEpaOUFnQjJ5bEhVS2oxYWJxcGFPSU5w MWNZVAo1REsrU2dKbzVLSFhBaEJnczlVcEFCV05idWZsY1FkVjQ3d2puellLU2pSK2ZOd0tzVmFu L1QzOVh5STdOSlBTS1VXbmxHMEJpRUdnCkk3bXk0aWxwNGtOc0o4Qyt3OFJaWTV6M1VGazNnTmts MmtQRGxnSjZhRG9BcEtVcGJZeWFmT29waXoyakcwdWFTZEwzamF6NE9DSGIKTG1rQTljb0tXVkRz QUtZU2xCQlRhYnVYaTVkK1dOTXNiQzBmUU1tZVp1MnVzUW50ZS8zODBYc3hnZ1BjTUlJRDJBSUJB VENCZ1RCcQpNUk13RVFZS0NaSW1pWlB5TEdRQkdSWURZMjl0TVJnd0ZnWUtDWkltaVpQeUxHUUJH UllJWm1GaVlYTnZablF4RmpBVUJnb0praWFKCmsvSXNaQUVaRmdabVlXSmhaMnd4SVRBZkJnTlZC QU1UR0VaaFltRnpiMlowSUVsdWRHVnliV1ZrYVdGMFpTQkRRUUlUR2dBQUNEdUcKQjlnSGl5ZE1j UUFBQUFBSU96QU5CZ2xnaGtnQlpRTUVBZ0VGQUtDQ0Fpc3dHQVlKS29aSWh2Y05BUWtETVFzR0NT cUdTSWIzRFFFSApBVEFjQmdrcWhraUc5dzBCQ1FVeER4Y05NVGN3TVRFeE1UUTBOVFV6V2pBdkJn a3Foa2lHOXcwQkNRUXhJZ1FnV0h2RjlPTThWMEFICmcreWZ5ekZOeW1hZk5hQ1VmZmtrSEpxWkpQ Z21tUFV3Z1pJR0NTc0dBUVFCZ2pjUUJER0JoRENCZ1RCcU1STXdFUVlLQ1pJbWlaUHkKTEdRQkdS WURZMjl0TVJnd0ZnWUtDWkltaVpQeUxHUUJHUllJWm1GaVlYTnZablF4RmpBVUJnb0praWFKay9J c1pBRVpGZ1ptWVdKaApaMnd4SVRBZkJnTlZCQU1UR0VaaFltRnpiMlowSUVsdWRHVnliV1ZrYVdG MFpTQkRRUUlUR2dBQUNEdUdCOWdIaXlkTWNRQUFBQUFJCk96Q0Jrd1lKS29aSWh2Y05BUWtQTVlH Rk1JR0NNQXNHQ1dDR1NBRmxBd1FCS2pBTEJnbGdoa2dCWlFNRUFSWXdDZ1lJS29aSWh2Y04KQXdj d0N3WUpZSVpJQVdVREJBRUNNQTRHQ0NxR1NJYjNEUU1DQWdJQWdEQU5CZ2dxaGtpRzl3MERBZ0lC UURBTEJnbGdoa2dCWlFNRQpBZ0V3Q3dZSllJWklBV1VEQkFJRE1Bc0dDV0NHU0FGbEF3UUNBakFI QmdVckRnTUNHakNCbEFZTEtvWklodmNOQVFrUUFnc3hnWVNnCmdZRXdhakVUTUJFR0NnbVNKb21U OGl4a0FSa1dBMk52YlRFWU1CWUdDZ21TSm9tVDhpeGtBUmtXQ0daaFltRnpiMlowTVJZd0ZBWUsK Q1pJbWlaUHlMR1FCR1JZR1ptRmlZV2RzTVNFd0h3WURWUVFERXhoR1lXSmhjMjltZENCSmJuUmxj bTFsWkdsaGRHVWdRMEVDRXhvQQpBQWc3aGdmWUI0c25USEVBQUFBQUNEc3dEUVlKS29aSWh2Y05B UUVCQlFBRWdnRUFsMnl1Z1Q2Z0VYS2tySWVlVmlOckxhTk52K083Cnd3R011c3J5bTBCWjRDNUhC STFqajlkUGkyNzhtTTNhK1orMkhMUnNNd0o2L0lMVzFGOXR1UlhVYlZDS3NLR3IzamJBb2NEN1BG V1EKc1RCZXcxTXE2UXNjcXZHbFQra2t5SlhIclN2b2hyZnltb1NkdXU2Z0owL002R2pUMW9oUVZM Rzc5NWFlOVZVZWE3ZE42RC9CaEZtbwpXUW9nblVoQ0xQS1NuRW50VWhEbHhNWVdKaHpIbTdGcWsy Y1ZlUGh6a1FHaXl6MnV1dnhlOW9XbXRnNTZ4RXZSNXEvWDQ1TFNTTlp0CkxwT3Z4U2pSN2MybHd5 NXNSM3JlL2UxaFYyTzhDTkFIRXBXWC9zY25wR0lsWUFjaVNXTTN1YTQxUGh1MUVQZFE0RnluK1JW a3BkVlMKbFNWN3JCTU45QUFBQUFBQUFBPT0KCi0tLS0tLT1fTmV4dFBhcnRfMDAwXzAwMjNfMDFE MjZDMjEuQ0FDMDMzODAtLQo= --===============9202857925440863630==-- From jhernand at redhat.com Thu Jan 12 16:23:28 2017 Content-Type: multipart/mixed; boundary="===============0517062600177902455==" MIME-Version: 1.0 From: =?utf-8?q?Juan_Hern=C3=A1ndez_=3Cjhernand_at_redhat=2Ecom=3E?= To: users at ovirt.org Subject: Re: [ovirt-users] Max number of api calls per user? Date: Thu, 12 Jan 2017 17:23:23 +0100 Message-ID: <8c518ee6-8e83-c703-97be-54322065506c@redhat.com> In-Reply-To: 6A17C71B52524C408E7AAF69103E9E490FA8E5F0@fabamailserver.fabagl.fabasoft.com --===============0517062600177902455== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 01/11/2017 03:45 PM, Grundmann, Christian wrote: > @ What does 'simultaneously' mean exactly? Are you sending the requests in > parallel from different threads? Or from different processes? Or just > sending them in a loop? > = > I call the python script multiple times for different VMs from different > shells. > = > @ The /var/log/ovirt-engine/server.log, /var/log/ovirt-engine/engine.log = and > /var/log/httpd/ssl_access_log files can help determine what is happening. > Can you check and maybe share the relevant part of those files? > = > Script started @14:57:34 = > Error @14:57:35 > = > /var/log/ovirt-engine/server.log > Nothing around that time > = > /var/log/ovirt-engine/engine.log: > = I think this error can be caused by the following bug: ovirt-shell: sporadic HTTP 500 errors https://bugzilla.redhat.com/1396833 It will be fixed in release 4.0.7. > 2017-01-11 14:57:34,015 INFO > [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-109) > [642e44ba] User admin(a)internal successfully logged in with scopes: > ovirt-app-api ovirt-ext=3Dtoken-info:authz-search > ovirt-ext=3Dtoken-info:public-authz-search ovirt-ext=3Dtoken-info:validate > 2017-01-11 14:57:34,139 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-41) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,139 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-41) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,149 INFO > [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-41) > [1aa17f11] Running command: LogoutSessionCommand internal: false. > 2017-01-11 14:57:34,238 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-97) > [601ac7b6] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,328 INFO > [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-46) > [10ffdf24] Running command: CreateUserSessionCommand internal: false. > 2017-01-11 14:57:34,339 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-87) [5f84b0d0] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,340 INFO > [org.ovirt.engine.core.bll.aaa.SessionDataContainer] (default task-87) > [5f84b0d0] Not removing session > 'y71cMky/m5Du0v4Hk9yWL3ppHW+kN2GXg07SajV6RQgOxC7hn6kFzpFwCu5iwEpiYq6EkBSE= Ogi > w4RvsYG6ljA=3D=3D', session has running commands for user 'admin(a)intern= al'. > 2017-01-11 14:57:34,379 INFO > [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-113) = [] > User admin(a)internal successfully logged in with scopes: ovirt-app-api > ovirt-ext=3Dtoken-info:authz-search ovirt-ext=3Dtoken-info:public-authz-s= earch > ovirt-ext=3Dtoken-info:validate > 2017-01-11 14:57:34,390 INFO > [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] > (default task-41) [1aa17f11] Correlation ID: 1aa17f11, Call Stack: null, > Custom Event ID: -1, Message: User admin(a)internal logged out. > 2017-01-11 14:57:34,405 INFO > [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-93) [] > User admin(a)internal successfully logged in with scopes: ovirt-app-api > ovirt-ext=3Dtoken-info:authz-search ovirt-ext=3Dtoken-info:public-authz-s= earch > ovirt-ext=3Dtoken-info:validate > 2017-01-11 14:57:34,409 INFO > [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-86) > [779c3119] Running command: CreateUserSessionCommand internal: false. > 2017-01-11 14:57:34,414 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-127) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,423 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-5) [70e23ef9] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,433 INFO > [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-90) > [1ddb1bec] Running command: CreateUserSessionCommand internal: false. > 2017-01-11 14:57:34,452 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-117) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,462 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-80) [4634514] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,493 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-128) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,504 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-88) [3ff7029c] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,509 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-90) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,509 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-90) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,513 INFO > [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-90) > [26eb0e8c] Running command: LogoutSessionCommand internal: false. > 2017-01-11 14:57:34,538 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-121) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,543 INFO > [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] > (default task-90) [26eb0e8c] Correlation ID: 26eb0e8c, Call Stack: null, > Custom Event ID: -1, Message: User admin(a)internal logged out. > 2017-01-11 14:57:34,549 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-118) [6b0d30df] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,579 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-104) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,589 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-46) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,589 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-46) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,589 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-46) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,589 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-46) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,590 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-95) [e63a4b5] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,608 INFO > [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-46) > [8ec575] Running command: LogoutSessionCommand internal: false. > 2017-01-11 14:57:34,620 INFO > [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] > (default task-46) [8ec575] Correlation ID: 8ec575, Call Stack: null, Cust= om > Event ID: -1, Message: User admin(a)internal logged out. > 2017-01-11 14:57:34,621 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-66)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:34,632 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-111) [1d758723] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,634 INFO > [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-98) [] > User admin(a)internal successfully logged in with scopes: ovirt-app-api > ovirt-ext=3Dtoken-info:authz-search ovirt-ext=3Dtoken-info:public-authz-s= earch > ovirt-ext=3Dtoken-info:validate > 2017-01-11 14:57:34,649 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-86) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,649 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-86) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,661 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-29)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:34,662 INFO > [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-86) > [79018786] Running command: LogoutSessionCommand internal: false. > 2017-01-11 14:57:34,663 INFO > [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-11= 5) > [159567e6] Running command: CreateUserSessionCommand internal: false. > 2017-01-11 14:57:34,674 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-27) [437feff3] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,713 INFO > [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] > (default task-86) [79018786] Correlation ID: 79018786, Call Stack: null, > Custom Event ID: -1, Message: User admin(a)internal logged out. > 2017-01-11 14:57:34,736 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-106) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,747 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-2) [5d0322ea] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,775 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-124) > [] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,786 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-123) [6801a804] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,813 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-122) > [3f73178e] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,823 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-31) [6accfc49] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,838 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-115) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,838 ERROR [org.ovirt.engine.api.restapi.util.LinkHelp= er] > (default task-115) [] Can't find relative path for class > "org.ovirt.engine.api.resource.VmDisksResource", will return null > 2017-01-11 14:57:34,848 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-72)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:34,848 INFO > [org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-115) > [e7cc467] Running command: LogoutSessionCommand internal: false. > 2017-01-11 14:57:34,850 INFO > [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] > (default task-115) [e7cc467] Correlation ID: e7cc467, Call Stack: null, > Custom Event ID: -1, Message: User admin(a)internal logged out. > 2017-01-11 14:57:34,857 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-19) [13a2371a] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,881 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-14)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:34,890 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-7) [1121b52c] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,914 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-52) > [7b9d8c85] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,924 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-32) [779d5e1b] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,950 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-77) > [25acd31d] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,960 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-71) [139b42cb] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:34,984 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-49) > [6ad03c30] User admin(a)internal successfully logged out > 2017-01-11 14:57:34,993 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-70) [49e9793d] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:35,001 INFO > [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-4) > [87e012e] User admin(a)internal successfully logged in with scopes: > ovirt-app-api ovirt-ext=3Dtoken-info:authz-search > ovirt-ext=3Dtoken-info:public-authz-search ovirt-ext=3Dtoken-info:validate > 2017-01-11 14:57:35,017 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-54) > [7b23ca46] User admin(a)internal successfully logged out > 2017-01-11 14:57:35,025 INFO > [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-11= 0) > [7c624c47] Running command: CreateUserSessionCommand internal: false. > 2017-01-11 14:57:35,160 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-55) [77646ec] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:35,170 ERROR > [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default > task-9) [] Operation Failed: User is not logged in. > 2017-01-11 14:57:35,202 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-68)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:35,727 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-107) [5737fe3] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:35,894 INFO > [org.ovirt.engine.core.bll.ConcurrentChildCommandsExecutionCallback] > (DefaultQuartzScheduler2) [4f83b357] Command 'AddVm' (id: > '0edecf3e-b569-4740-a668-716d9cc9c7a0') waiting on child command id: > 'a108698e-3700-4e10-bb84-2eb7c240946f' type:'CreateSnapshotFromTemplate' = to > complete > 2017-01-11 14:57:36,023 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-47) > [1d991080] User admin(a)internal successfully logged out > 2017-01-11 14:57:36,042 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-76) [e2fc101] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:36,065 INFO > [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-125) > [f1add85] User admin(a)internal successfully logged in with scopes: > ovirt-app-api ovirt-ext=3Dtoken-info:authz-search > ovirt-ext=3Dtoken-info:public-authz-search ovirt-ext=3Dtoken-info:validate > 2017-01-11 14:57:36,076 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-13)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:36,085 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-18) [7bdcca61] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:36,088 INFO > [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-6) > [13a410f5] Running command: CreateUserSessionCommand internal: false. > 2017-01-11 14:57:36,110 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-11) > [21953244] User admin(a)internal successfully logged out > 2017-01-11 14:57:36,118 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-73) [736278fd] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:36,144 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-57)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:36,184 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-59) [5f0ffe54] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:36,243 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-69)= [] > User admin(a)internal successfully logged out > 2017-01-11 14:57:36,265 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-21) [67729ab5] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:36,289 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-75) > [1ae6ee51] User admin(a)internal successfully logged out > 2017-01-11 14:57:36,403 INFO > [org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default > task-28) [4e245041] Running command: TerminateSessionsForTokenCommand > internal: true. > 2017-01-11 14:57:36,758 INFO > [org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-83) > [50e9072b] User admin(a)internal successfully logged out > = > = > /var/log/httpd/ssl_access_log: > = > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:54:47 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 988391 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:55:15 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:55:17 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 980012 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:21 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:22 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:22 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:23 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:23 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:23 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:24 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:24 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:25 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:25 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:26 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:26 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:27 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:29 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:30 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:30 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:30 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:31 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:31 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:32 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:32 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 990370 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:33 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:33 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:34 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:35 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 401 155 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:35 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:36 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:37 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:38 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:38 +0100] "G= ET > /ovirt-engine/api/vms;case_sensitive=3DTrue HTTP/1.1" 200 1012092 > 2001:67c:1933:c01:faba:c0de:ba5e:4522 - - [11/Jan/2017:14:57:39 +0100] "G= ET > /ovirt-engine/api HTTP/1.1" 200 4395 > = > = > = > Thx Christian > = > -----Urspr=C3=BCngliche Nachricht----- > Von: Juan Hern=C3=A1ndez [mailto:jhernand(a)redhat.com] = > Gesendet: Mittwoch, 11. J=C3=A4nner 2017 15:26 > An: Grundmann, Christian ; > 'users(a)ovirt.org' > Betreff: Re: [ovirt-users] Max number of api calls per user? > = > On 01/11/2017 03:16 PM, Grundmann, Christian wrote: >> Hi, >> >> is there a maximum number of sessions per user? >> > = > There is no limit, except the available memory. > = >> = >> >> I am doing python-api calls to remove VMs >> >> If I call my script 30 times simultaneously, one or two get an error. >> > = > What does 'simultaneously' mean exactly? Are you sending the requests in > parallel from different threads? Or from different processes? Or just > sending them in a loop? > = > The /var/log/ovirt-engine/server.log, /var/log/ovirt-engine/engine.log and > /var/log/httpd/ssl_access_log files can help determine what is happening. > Can you check and maybe share the relevant part of those files? > = >> = >> >> Traceback (most recent call last): >> >> File "remove_vm.py", line 24, in >> >> if VMNAME in [vm.name for vm in api.vms.list()]: >> >> File >> "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py", >> line 35761, in list >> >> headers=3D{"All-Content":all_content} >> >> File >> "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", >> line 46, in get >> >> return self.request(method=3D'GET', url=3Durl, headers=3Dheaders, = >> cls=3Dcls) >> >> File >> "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py", >> line 122, in request >> >> persistent_auth=3Dself.__persistent_auth >> >> File >> "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionsp >> ool.py", >> line 79, in do_request >> >> persistent_auth) >> >> File >> "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionsp >> ool.py", >> line 162, in __do_request >> >> raise errors.RequestError(response_code, response_reason, = >> response_body) >> >> ovirtsdk.infrastructure.errors.RequestError: >> >> status: 401 >> >> reason: Unauthorized >> >> detail: User is not logged in. >> >> = >> >> = >> >> Is there some setting I can tune? >> >> = >> >> Thx Christian >> >> >> >> _______________________________________________ >> Users mailing list >> Users(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/users >> > = --===============0517062600177902455==--