OpenJDK 11: Merging in java.lang.Long (toString(long) and helpers)
This is part of merging upstream changes from OpenJDK 11.28. This CL
updates 950-redefine-intrinsic test to reflect updates in
java.lang.Long class (new variation of getChars method).
Bug: 207772338
Test: art/test/testrunner/testrunner.py --host -t 950-redefine-intrinsic
Test: treehugger
Change-Id: Ibfa4403f43971a3e15b79b3d364a364d65888330
diff --git a/test/950-redefine-intrinsic/src/Main.java b/test/950-redefine-intrinsic/src/Main.java
index a9f7898..9aaadea 100644
--- a/test/950-redefine-intrinsic/src/Main.java
+++ b/test/950-redefine-intrinsic/src/Main.java
@@ -115,7 +115,10 @@
// public static String toUnsignedString(long i) {
// throw new Error("Method redefined away!");
// }
- // static void getChars(long i, int index, char[] buf) {
+ // static int getChars(long i, int index, byte[] buf) {
+ // throw new Error("Method redefined away!");
+ // }
+ // static int getChars(long i, int index, char[] buf) {
// throw new Error("Method redefined away!");
// }
// static int stringSize(long x) {
@@ -276,167 +279,172 @@
"IHB1YmxpYyBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGxvbmcgaSkgewogICAgICB0aHJvdyBuZXcg" +
"RXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMg" +
"U3RyaW5nIHRvVW5zaWduZWRTdHJpbmcobG9uZyBpKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigi" +
- "TWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgc3RhdGljIHZvaWQgZ2V0Q2hhcnMo" +
- "bG9uZyBpLCBpbnQgaW5kZXgsIGNoYXJbXSBidWYpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJN" +
- "ZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBzdGF0aWMgaW50IHN0cmluZ1NpemUo" +
- "bG9uZyB4KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIp" +
- "OwogICAgfQogICAgcHVibGljIHN0YXRpYyBsb25nIHBhcnNlTG9uZyhTdHJpbmcgcywgaW50IHJh" +
- "ZGl4KSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
- "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGxvbmcg" +
- "cGFyc2VMb25nKFN0cmluZyBzKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAg" +
- "dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJs" +
- "aWMgc3RhdGljIGxvbmcgcGFyc2VVbnNpZ25lZExvbmcoU3RyaW5nIHMsIGludCByYWRpeCkgdGhy" +
- "b3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9k" +
- "IHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBsb25nIHBhcnNlVW5z" +
- "aWduZWRMb25nKFN0cmluZyBzKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAg" +
- "dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJs" +
- "aWMgc3RhdGljIGxvbmcgcGFyc2VMb25nKENoYXJTZXF1ZW5jZSBzLCBpbnQgYmVnaW5JbmRleCwg" +
- "aW50IGVuZEluZGV4LCBpbnQgcmFkaXgpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gewog" +
- "ICAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQog" +
- "ICAgcHVibGljIHN0YXRpYyBMb25nIHZhbHVlT2YoU3RyaW5nIHMsIGludCByYWRpeCkgdGhyb3dz" +
- "IE51bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJl" +
- "ZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBMb25nIHZhbHVlT2YoU3Ry" +
- "aW5nIHMpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gewogICAgICB0aHJvdyBuZXcgRXJy" +
- "b3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgTG9u" +
- "ZyBkZWNvZGUoU3RyaW5nIG5tKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAg" +
- "dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwcml2" +
- "YXRlIGZpbmFsIGxvbmcgdmFsdWU7CiAgICBwdWJsaWMgTG9uZyhTdHJpbmcgcykgdGhyb3dzIE51" +
- "bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRoaXMoMCk7CiAgICAgIHRocm93IG5ldyBFcnJv" +
- "cigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIGJ5dGUgYnl0ZVZh" +
- "bHVlKCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsK" +
- "ICAgIH0KICAgIHB1YmxpYyBzaG9ydCBzaG9ydFZhbHVlKCkgewogICAgICB0aHJvdyBuZXcgRXJy" +
- "b3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBpbnQgaW50VmFs" +
- "dWUoKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwog" +
- "ICAgfQogICAgcHVibGljIGxvbmcgbG9uZ1ZhbHVlKCkgewogICAgICByZXR1cm4gdmFsdWU7CiAg" +
- "ICB9CiAgICBwdWJsaWMgZmxvYXQgZmxvYXRWYWx1ZSgpIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
- "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgZG91YmxlIGRvdWJs" +
- "ZVZhbHVlKCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEi" +
- "KTsKICAgIH0KICAgIHB1YmxpYyBpbnQgaGFzaENvZGUoKSB7CiAgICAgIHRocm93IG5ldyBFcnJv" +
- "cigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQg" +
- "aGFzaENvZGUobG9uZyB2YWx1ZSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRl" +
- "ZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBib29sZWFuIGVxdWFscyhPYmplY3Qgb2Jq" +
- "KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAg" +
- "fQogICAgcHVibGljIHN0YXRpYyBMb25nIGdldExvbmcoU3RyaW5nIG5tKSB7CiAgICAgIHRocm93" +
- "IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0" +
- "YXRpYyBMb25nIGdldExvbmcoU3RyaW5nIG5tLCBsb25nIHZhbCkgewogICAgICB0aHJvdyBuZXcg" +
- "RXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMg" +
- "TG9uZyBnZXRMb25nKFN0cmluZyBubSwgTG9uZyB2YWwpIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
- "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgaW50IGNvbXBhcmVU" +
- "byhMb25nIGFub3RoZXJMb25nKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVm" +
- "aW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgY29tcGFyZShsb25nIHgs" +
- "IGxvbmcgeSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEi" +
- "KTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgaW50IGNvbXBhcmVVbnNpZ25lZChsb25nIHgsIGxv" +
- "bmcgeSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsK" +
- "ICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgbG9uZyBkaXZpZGVVbnNpZ25lZChsb25nIGRpdmlkZW5k" +
- "LCBsb25nIGRpdmlzb3IpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVk" +
- "IGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGxvbmcgcmVtYWluZGVyVW5zaWduZWQo" +
- "bG9uZyBkaXZpZGVuZCwgbG9uZyBkaXZpc29yKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0" +
- "aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQg" +
- "U0laRSA9IDY0OwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgQllURVMgPSBTSVpFIC8gQnl0" +
- "ZS5TSVpFOwogICAgcHVibGljIHN0YXRpYyBsb25nIG1heChsb25nIGEsIGxvbmcgYikgewogICAg" +
+ "TWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgc3RhdGljIGludCBnZXRDaGFycyhs" +
+ "b25nIGksIGludCBpbmRleCwgYnl0ZVtdIGJ1ZikgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1l" +
+ "dGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHN0YXRpYyBpbnQgZ2V0Q2hhcnMobG9u" +
+ "ZyBpLCBpbnQgaW5kZXgsIGNoYXJbXSBidWYpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRo" +
+ "b2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBzdGF0aWMgaW50IHN0cmluZ1NpemUobG9u" +
+ "ZyB4KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwog" +
+ "ICAgfQogICAgcHVibGljIHN0YXRpYyBsb25nIHBhcnNlTG9uZyhTdHJpbmcgcywgaW50IHJhZGl4" +
+ "KSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJN" +
+ "ZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGxvbmcgcGFy" +
+ "c2VMb25nKFN0cmluZyBzKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAgdGhy" +
+ "b3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMg" +
+ "c3RhdGljIGxvbmcgcGFyc2VMb25nKENoYXJTZXF1ZW5jZSBzLCBpbnQgYmVnaW5JbmRleCwgaW50" +
+ "IGVuZEluZGV4LCBpbnQgcmFkaXgpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gewogICAg" +
"ICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1" +
- "YmxpYyBzdGF0aWMgbG9uZyBtaW4obG9uZyBhLCBsb25nIGIpIHsKICAgICAgdGhyb3cgbmV3IEVy" +
- "cm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwcml2YXRlIHN0YXRpYyBm" +
- "aW5hbCBsb25nIHNlcmlhbFZlcnNpb25VSUQgPSAwOwp9Cg==");
+ "YmxpYyBzdGF0aWMgbG9uZyBwYXJzZVVuc2lnbmVkTG9uZyhTdHJpbmcgcywgaW50IHJhZGl4KSB0" +
+ "aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRo" +
+ "b2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGxvbmcgcGFyc2VV" +
+ "bnNpZ25lZExvbmcoU3RyaW5nIHMpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gewogICAg" +
+ "ICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1" +
+ "YmxpYyBzdGF0aWMgTG9uZyB2YWx1ZU9mKFN0cmluZyBzLCBpbnQgcmFkaXgpIHRocm93cyBOdW1i" +
+ "ZXJGb3JtYXRFeGNlcHRpb24gewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmlu" +
+ "ZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgTG9uZyB2YWx1ZU9mKFN0cmluZyBz" +
+ "KSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJN" +
+ "ZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIExvbmcgZGVj" +
+ "b2RlKFN0cmluZyBubSkgdGhyb3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRocm93" +
+ "IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHJpdmF0ZSBm" +
+ "aW5hbCBsb25nIHZhbHVlOwogICAgcHVibGljIExvbmcoU3RyaW5nIHMpIHRocm93cyBOdW1iZXJG" +
+ "b3JtYXRFeGNlcHRpb24gewogICAgICB0aGlzKDApOwogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1l" +
+ "dGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBieXRlIGJ5dGVWYWx1ZSgp" +
+ "IHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9" +
+ "CiAgICBwdWJsaWMgc2hvcnQgc2hvcnRWYWx1ZSgpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJN" +
+ "ZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgaW50IGludFZhbHVlKCkg" +
+ "ewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0K" +
+ "ICAgIHB1YmxpYyBsb25nIGxvbmdWYWx1ZSgpIHsKICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQog" +
+ "ICAgcHVibGljIGZsb2F0IGZsb2F0VmFsdWUoKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0" +
+ "aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIGRvdWJsZSBkb3VibGVWYWx1" +
+ "ZSgpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAg" +
+ "ICB9CiAgICBwdWJsaWMgaW50IGhhc2hDb2RlKCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1l" +
+ "dGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgaW50IGhhc2hD" +
+ "b2RlKGxvbmcgdmFsdWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVk" +
+ "IGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgYm9vbGVhbiBlcXVhbHMoT2JqZWN0IG9iaikgewog" +
+ "ICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAg" +
+ "IHB1YmxpYyBzdGF0aWMgTG9uZyBnZXRMb25nKFN0cmluZyBubSkgewogICAgICB0aHJvdyBuZXcg" +
+ "RXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMg" +
+ "TG9uZyBnZXRMb25nKFN0cmluZyBubSwgbG9uZyB2YWwpIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
+ "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIExvbmcg" +
+ "Z2V0TG9uZyhTdHJpbmcgbm0sIExvbmcgdmFsKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0" +
+ "aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIGludCBjb21wYXJlVG8oTG9u" +
+ "ZyBhbm90aGVyTG9uZykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQg" +
+ "YXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgaW50IGNvbXBhcmUobG9uZyB4LCBsb25n" +
+ "IHkpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAg" +
+ "ICB9CiAgICBwdWJsaWMgc3RhdGljIGludCBjb21wYXJlVW5zaWduZWQobG9uZyB4LCBsb25nIHkp" +
+ "IHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9" +
+ "CiAgICBwdWJsaWMgc3RhdGljIGxvbmcgZGl2aWRlVW5zaWduZWQobG9uZyBkaXZpZGVuZCwgbG9u" +
+ "ZyBkaXZpc29yKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5" +
+ "ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBsb25nIHJlbWFpbmRlclVuc2lnbmVkKGxvbmcg" +
+ "ZGl2aWRlbmQsIGxvbmcgZGl2aXNvcikgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCBy" +
+ "ZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFNJWkUg" +
+ "PSA2NDsKICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IEJZVEVTID0gU0laRSAvIEJ5dGUuU0la" +
+ "RTsKICAgIHB1YmxpYyBzdGF0aWMgbG9uZyBtYXgobG9uZyBhLCBsb25nIGIpIHsKICAgICAgdGhy" +
+ "b3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMg" +
+ "c3RhdGljIGxvbmcgbWluKGxvbmcgYSwgbG9uZyBiKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigi" +
+ "TWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwg" +
+ "bG9uZyBzZXJpYWxWZXJzaW9uVUlEID0gMDsKfQo="
+ );
private static final byte[] DEX_BYTES = Base64.getDecoder().decode(
- "ZGV4CjAzNQCa2U8HVIS89OqwQULzY+zxDsonBc8PEnrEFQAAcAAAAHhWNBIAAAAAAAAAAPQUAABm" +
- "AAAAcAAAABYAAAAIAgAAIQAAAGACAAAHAAAA7AMAAD4AAAAkBAAAAQAAABQGAACQDwAANAYAAF4O" +
- "AABoDgAAcA4AAHQOAAB3DgAAfg4AAIEOAACEDgAAhw4AAIsOAACTDgAAmA4AAJwOAACfDgAAow4A" +
- "AKgOAACtDgAAsQ4AALYOAAC9DgAAwA4AAMQOAADIDgAAzQ4AANEOAADWDgAA2w4AAOAOAAD/DgAA" +
- "Gw8AADUPAABIDwAAWw8AAHMPAACLDwAAng8AALAPAADEDwAA5w8AAPsPAAAPEAAAKhAAAEIQAABN" +
- "EAAAWBAAAGMQAAB7EAAAnxAAAKIQAACoEAAArhAAALEQAAC1EAAAuxAAAL8QAADCEAAAxhAAAMoQ" +
- "AADSEAAA3BAAAOcQAADwEAAA+xAAAAwRAAAUEQAAJBEAADERAAA5EQAARREAAFkRAABjEQAAbBEA" +
- "AHYRAACFEQAAjxEAAJoRAACoEQAArREAALIRAADIEQAA3xEAAOoRAAD9EQAAEBIAABkSAAAnEgAA" +
- "MxIAAEASAABSEgAAXhIAAGYSAAByEgAAdxIAAIcSAACUEgAAoxIAAK0SAADDEgAA1RIAAOgSAADv" +
- "EgAA+BIAAAMAAAAFAAAABgAAAAcAAAAMAAAAGwAAABwAAAAdAAAAHgAAACAAAAAiAAAAIwAAACQA" +
- "AAAlAAAAJgAAACcAAAAoAAAAKQAAAC8AAAAyAAAANgAAADgAAAADAAAAAAAAAAAAAAAFAAAAAQAA" +
- "AAAAAAAGAAAAAgAAAAAAAAAHAAAAAwAAAAAAAAAIAAAAAwAAAOgNAAAJAAAAAwAAAPANAAAKAAAA" +
- "AwAAAAAOAAALAAAAAwAAAAgOAAALAAAAAwAAABAOAAAMAAAABAAAAAAAAAANAAAABAAAAOgNAAAO" +
- "AAAABAAAABgOAAAPAAAABAAAAAAOAAASAAAABAAAACAOAAAQAAAABAAAACwOAAARAAAABAAAADQO" +
- "AAAVAAAACwAAAOgNAAAXAAAACwAAACwOAAAYAAAACwAAADQOAAAZAAAACwAAADwOAAAaAAAACwAA" +
- "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" +
- "AgAADgBwAQAOAF4BAA4AWAEADgBbAQAOAGcBAA4ATwIAAA4AVQEADgBqAQAOAFICAAAOAGECAAAO" +
- "ACEBAA4AhQEBAA4AggECAAAOAJABAA4AtAEBAA4AEgEADgCfAQAOAKgBAQAOAJwBAA4AogEADgCW" +
- "AQAOAJkBAA4AkwEADgBMAA4AAQAAAAkAAAABAAAABAAAAAUAAAAEAAMAFQADAAMAAAACAAAABAAE" +
- "AAEAAAALAAAAAQAAAA4AAAACAAAABAADAAQAAAAHAAMAAwADAAEAAAAPAAAAAgAAAA8AAwACAAAA" +
- "DwAEAAIAAAAPAAsAAQAAAAEAAAADAAAABAADABUACDxjbGluaXQ+AAY8aW5pdD4AAj47AAFCAAVC" +
- "WVRFUwABRAABRgABSQACSUoABklKSUxJSQADSUpKAAJJTAABSgACSkoAA0pKSQADSkpKAAJKTAAD" +
- "SkxJAAVKTElJSQABTAACTEQAAkxKAANMSkkAAkxMAANMTEkAA0xMSgADTExMAB1MZGFsdmlrL2Fu" +
- "bm90YXRpb24vU2lnbmF0dXJlOwAaTGRhbHZpay9hbm5vdGF0aW9uL1Rocm93czsAGExqYXZhL2xh" +
- "bmcvQ2hhclNlcXVlbmNlOwARTGphdmEvbGFuZy9DbGFzczsAEUxqYXZhL2xhbmcvQ2xhc3M8ABZM" +
- "amF2YS9sYW5nL0NvbXBhcmFibGU7ABZMamF2YS9sYW5nL0NvbXBhcmFibGU8ABFMamF2YS9sYW5n" +
- "L0Vycm9yOwAQTGphdmEvbGFuZy9Mb25nOwASTGphdmEvbGFuZy9OdW1iZXI7ACFMamF2YS9sYW5n" +
- "L051bWJlckZvcm1hdEV4Y2VwdGlvbjsAEkxqYXZhL2xhbmcvT2JqZWN0OwASTGphdmEvbGFuZy9T" +
- "dHJpbmc7ABlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7ABZMamF2YS9tYXRoL0JpZ0ludGVnZXI7" +
- "AAlMb25nLmphdmEACU1BWF9WQUxVRQAJTUlOX1ZBTFVFABZNZXRob2QgcmVkZWZpbmVkIGF3YXkh" +
- "ACJSZWRlZmluZWQgTG9uZyEgdmFsdWUgKGFzIGRvdWJsZSk9AAFTAARTSVpFAARUWVBFAAFWAAJW" +
- "SgAEVkpJTAACVkwAAVoAAlpMAAJbQwAGYXBwZW5kAAhiaXRDb3VudAAJYnl0ZVZhbHVlAAdjb21w" +
- "YXJlAAljb21wYXJlVG8AD2NvbXBhcmVVbnNpZ25lZAAGZGVjb2RlAA5kaXZpZGVVbnNpZ25lZAAL" +
- "ZG91YmxlVmFsdWUABmVxdWFscwAKZmxvYXRWYWx1ZQASZm9ybWF0VW5zaWduZWRMb25nAAhnZXRD" +
- "aGFycwAHZ2V0TG9uZwAIaGFzaENvZGUADWhpZ2hlc3RPbmVCaXQACGludFZhbHVlAAlsb25nVmFs" +
- "dWUADGxvd2VzdE9uZUJpdAADbWF4AANtaW4AFG51bWJlck9mTGVhZGluZ1plcm9zABVudW1iZXJP" +
- "ZlRyYWlsaW5nWmVyb3MACXBhcnNlTG9uZwARcGFyc2VVbnNpZ25lZExvbmcAEXJlbWFpbmRlclVu" +
- "c2lnbmVkAAdyZXZlcnNlAAxyZXZlcnNlQnl0ZXMACnJvdGF0ZUxlZnQAC3JvdGF0ZVJpZ2h0ABBz" +
- "ZXJpYWxWZXJzaW9uVUlEAApzaG9ydFZhbHVlAAZzaWdudW0ACnN0cmluZ1NpemUAA3N1bQAOdG9C" +
- "aW5hcnlTdHJpbmcAC3RvSGV4U3RyaW5nAA10b09jdGFsU3RyaW5nAAh0b1N0cmluZwAUdG9VbnNp" +
- "Z25lZEJpZ0ludGVnZXIAEHRvVW5zaWduZWRTdHJpbmcAEXRvVW5zaWduZWRTdHJpbmcwAAV2YWx1" +
- "ZQAHdmFsdWVPZgBZfn5EOHsiY29tcGlsYXRpb24tbW9kZSI6InJlbGVhc2UiLCJoYXMtY2hlY2tz" +
- "dW1zIjpmYWxzZSwibWluLWFwaSI6MSwidmVyc2lvbiI6IjIuMS43LXIxIn0AAgYBYxwBGA0CBQFj" +
- "HAMXHxcjFwICBQFjHAQXJBchFyMXAgYBLQsAGQEZARkBGQEZARoGEgGIgATgGAGBgASgGQGBgAT0" +
- "GAEJtA0CCcgNAwmoDgEJsBABCegUBAjIDgEIvBkBCdAQAQmQEQEJ8BACCYgPAQmIFQMJuBUBCdAV" +
- "AQnwFQEJyA8BCeAPAQmQFgEJsBYBCdAWAQnwFgEJkBcBCbAXAQnQFwEJ5BcBCfwXAQmQGAIJ/A8B" +
- "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"
+ "ZGV4CjAzNQCs172DhVzfoC7GISlYsB/+UzKRxFVLKFkcFgAAcAAAAHhWNBIAAAAAAAAAAEwVAABn" +
+ "AAAAcAAAABcAAAAMAgAAIgAAAGgCAAAHAAAAAAQAAD8AAAA4BAAAAQAAADAGAADMDwAAUAYAAK4O" +
+ "AAC4DgAAwA4AAMQOAADHDgAAzg4AANEOAADUDgAA1w4AANsOAADhDgAA6Q4AAO4OAADyDgAA9Q4A" +
+ "APkOAAD+DgAAAw8AAAcPAAAMDwAAEw8AABYPAAAaDwAAHg8AACMPAAAnDwAALA8AADEPAAA2DwAA" +
+ "VQ8AAHEPAACLDwAAng8AALEPAADJDwAA4Q8AAPQPAAAGEAAAGhAAAD0QAABREAAAZRAAAIAQAACY" +
+ "EAAAoxAAAK4QAAC5EAAA0RAAAPUQAAD4EAAA/hAAAAQRAAAHEQAACxEAAA8RAAASEQAAFhEAABoR" +
+ "AAAeEQAAJhEAADARAAA7EQAARBEAAE8RAABgEQAAaBEAAHgRAACFEQAAjREAAJkRAACtEQAAtxEA" +
+ "AMARAADKEQAA2REAAOMRAADuEQAA/BEAAAESAAAGEgAAHBIAADMSAAA+EgAAURIAAGQSAABtEgAA" +
+ "exIAAIcSAACUEgAAphIAALISAAC6EgAAxhIAAMsSAADbEgAA6BIAAPcSAAABEwAAFxMAACkTAAA8" +
+ "EwAAQxMAAEwTAAADAAAABQAAAAYAAAAHAAAADQAAABwAAAAdAAAAHgAAAB8AAAAhAAAAIwAAACQA" +
+ "AAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAAwAAAAMwAAADYAAAA4AAAAOQAAAAMAAAAAAAAAAAAA" +
+ "AAUAAAABAAAAAAAAAAYAAAACAAAAAAAAAAcAAAADAAAAAAAAAAgAAAADAAAALA4AAAkAAAADAAAA" +
+ "NA4AAAkAAAADAAAAQA4AAAoAAAADAAAATA4AAAsAAAADAAAAXA4AAAwAAAADAAAAZA4AAAwAAAAD" +
+ "AAAAbA4AAA0AAAAEAAAAAAAAAA4AAAAEAAAALA4AAA8AAAAEAAAAdA4AABAAAAAEAAAAXA4AABMA" +
+ "AAAEAAAAfA4AABEAAAAEAAAAiA4AABIAAAAEAAAAkA4AABYAAAALAAAALA4AABgAAAALAAAAiA4A" +
+ "ABkAAAALAAAAkA4AABoAAAALAAAAmA4AABsAAAALAAAAoA4AABQAAAAPAAAAAAAAABYAAAAPAAAA" +
+ "LA4AABcAAAAPAAAAdA4AABUAAAAQAAAAqA4AABgAAAAQAAAAiA4AABYAAAARAAAALA4AADAAAAAS" +
+ "AAAAAAAAADMAAAATAAAAAAAAADQAAAATAAAALA4AADUAAAATAAAAiA4AADcAAAAUAAAAbA4AAAsA" +
+ "AwAEAAAACwAEACwAAAALAAQALQAAAAsAAwAxAAAACwAIADIAAAALAAQAWAAAAAsABABkAAAACgAg" +
+ "AAEAAAALAB4AAAAAAAsAHwABAAAACwAgAAEAAAALAAQAOwAAAAsAAAA8AAAACwAIAD0AAAALAAkA" +
+ "PgAAAAsACgA+AAAACwAIAD8AAAALABMAQAAAAAsADgBBAAAACwABAEIAAAALACEAQwAAAAsAAgBE" +
+ "AAAACwAHAEUAAAALAAUARgAAAAsABgBGAAAACwATAEcAAAALABUARwAAAAsAFgBHAAAACwADAEgA" +
+ "AAALAAQASAAAAAsADABJAAAACwADAEoAAAALAAsASwAAAAsADABMAAAACwAOAE0AAAALAA4ATgAA" +
+ "AAsABABPAAAACwAEAFAAAAALAA8AUQAAAAsAEABRAAAACwARAFEAAAALABAAUgAAAAsAEQBSAAAA" +
+ "CwAOAFMAAAALAAwAVAAAAAsADABVAAAACwANAFYAAAALAA0AVwAAAAsAHQBZAAAACwAEAFoAAAAL" +
+ "AAQAWwAAAAsADgBcAAAACwAYAF0AAAALABgAXgAAAAsAGABfAAAACwAXAGAAAAALABgAYAAAAAsA" +
+ "GQBgAAAACwAcAGEAAAALABgAYgAAAAsAGQBiAAAACwAZAGMAAAALABIAZQAAAAsAEwBlAAAACwAU" +
+ "AGUAAAAMAB4AAQAAABAAHgABAAAAEAAaADoAAAAQABsAOgAAABAAFwBgAAAACwAAABEAAAAMAAAA" +
+ "JA4AACsAAADsFAAAyRMAAMYUAAADAAIAAgAAAAEOAAAIAAAAIgIKABoALgBwIAAAAgAnAgMAAQAC" +
+ "AAAA7A0AAAgAAAAiAAoAGgEuAHAgAAAQACcAAwABAAIAAAD8DQAACAAAACIACgAaAS4AcCAAABAA" +
+ "JwADAAEAAgAAAAcOAAAIAAAAIgAKABoBLgBwIAAAEAAnAAIAAgAAAAAAAAAAAAIAAAASUA8ABAAE" +
+ "AAIAAAAlDQAACAAAACIACgAaAS4AcCAAABAAJwADAAIAAgAAAPENAAAIAAAAIgIKABoALgBwIAAA" +
+ "AgAnAgIAAgACAAAA9w0AAAcAAAAfAQsAbiAHABAACgEPAQAABAAEAAIAAAAsDQAACAAAACIACgAa" +
+ "AS4AcCAAABAAJwAGAAYAAgAAAEANAAAIAAAAIgAKABoBLgBwIAAAEAAnAAQABAACAAAASQ0AAAgA" +
+ "AAAiAAoAGgEuAHAgAAAQACcABAAEAAIAAABQDQAACAAAACIACgAaAS4AcCAAABAAJwADAAEAAgAA" +
+ "AAwOAAAIAAAAIgAKABoBLgBwIAAAEAAnAAIAAgACAAAAaw0AAAgAAAAiAAoAGgEuAHAgAAAQACcA" +
+ "AwABAAIAAAARDgAACAAAACIACgAaAS4AcCAAABAAJwACAAIAAAAAAAAAAAADAAAAuwCEAQ8BAAAE" +
+ "AAIAAAAAAAAAAAAGAAAAEhClAAIAwAKEIw8DAgACAAAAAAAAAAAAAgAAABIADwACAAIAAgAAAKUN" +
+ "AAAIAAAAIgAKABoBLgBwIAAAEAAnAAIAAQACAAAAMw0AAAgAAAAiAQoAGgAuAHAgAAABACcBAgAB" +
+ "AAIAAABXDQAACAAAACIBCgAaAC4AcCAAAAEAJwECAAIAAgAAAGQNAAAIAAAAIgAKABoBLgBwIAAA" +
+ "EAAnAAMAAwACAAAAXQ0AAAgAAAAiAAoAGgEuAHAgAAAQACcAAgABAAIAAADfDQAACAAAACIBCgAa" +
+ "AC4AcCAAAAEAJwECAAIAAgAAAOUNAAAIAAAAIgAKABoBLgBwIAAAEAAnAAMAAgADAAAA2g0AAAYA" +
+ "AAAiAAsAcDACABACEQACAAIAAgAAAKoNAAAIAAAAIgAKABoBLgBwIAAAEAAnAAIAAgACAAAArw0A" +
+ "AAgAAAAiAAoAGgEuAHAgAAAQACcAAgACAAIAAAC0DQAACAAAACIACgAaAS4AcCAAABAAJwAEAAEA" +
+ "AwAAACAOAAAVAAAAIgAQAHAQOwAAABoBLwBuID0AEABTMQYAhhFuMDwAEAJuED4AAAAMABEAAAAC" +
+ "AAIAAgAAALkNAAAIAAAAIgAKABoBLgBwIAAAEAAnAAMAAwACAAAAvg0AAAgAAAAiAAoAGgEuAHAg" +
+ "AAAQACcAAgACAAIAAADJDQAACAAAACIACgAaAS4AcCAAABAAJwADAAMAAgAAAM4NAAAIAAAAIgAK" +
+ "ABoBLgBwIAAAEAAnAAMAAwACAAAA1A0AAAgAAAAiAAoAGgEuAHAgAAAQACcAAgACAAIAAADEDQAA" +
+ "CAAAACIACgAaAS4AcCAAABAAJwAEAAQAAgAAADkNAAAIAAAAIgAKABoBLgBwIAAAEAAnAAQAAgAA" +
+ "AAAAAAAAAAQAAAAWAAEAuwIQAgMAAQAAAAAAFg4AAAMAAABTIAYAEAAAAAQAAgAAAAAAAAAAAAQA" +
+ "AAAWAAEAvAIQAgQABAACAAAAcQ0AAAgAAAAiAAoAGgEuAHAgAAAQACcABAAEAAIAAAB4DQAACAAA" +
+ "ACIACgAaAS4AcCAAABAAJwAEAAQAAgAAAH8NAAAIAAAAIgAKABoBLgBwIAAAEAAnAAIAAQACAAAA" +
+ "hw0AAAgAAAAiAQoAGgAuAHAgAAABACcBAgACAAIAAACMDQAACAAAACIACgAaAS4AcCAAABAAJwAC" +
+ "AAEAAgAAAJINAAAIAAAAIgEKABoALgBwIAAAAQAnAQIAAgACAAAAmA0AAAgAAAAiAAoAGgEuAHAg" +
+ "AAAQACcABAAEAAIAAACeDQAACAAAACIACgAaAS4AcCAAABAAJwACAAIAAAAAAAAAAAACAAAAfQAQ" +
+ "AAIAAgAAAAAAAAAAAAMAAAAWAAAAEAAAAAMAAwAAAAAAAAAAAAEAAAAQAAAABQADAAAAAAAAAAAA" +
+ "BQAAABYACgCdAgIAEAIAAAQABAAAAAAAAAAAAAIAAAC7IBAAAwABAAIAAAAbDgAACAAAACIACgAa" +
+ "AS4AcCAAABAAJwAAAAAAAAAAAAAAAAABAAAADgAAAAQAAgADAAAAHg0AAA0AAAAWAAAAcDACAAIB" +
+ "IgMKABoALgBwIAAAAwAnAwAAAwADAAEAAAAYDQAABgAAAHAQOgAAAFoBBgAOABwBAA48AI8BAQAs" +
+ "PAC6AQIAAA4AvQECAAAOAIsBAQAOAMABAgAADgBkBQAAAAAADgBtAwAAAA4AcAMAAAAOAK4BAQAO" +
+ "ALEBAgAADgC0AQIAAA4AqAEBAA4AyAECAAAOAMsBAgAADgB8BAAAAAAOAHkBAA4AdgIAAA4AggEB" +
+ "AA4AfwIAAA4AwwECAAAOAHMBAA4AXgEADgBYAQAOAFsBAA4AZwEADgBPAgAADgBVAQAOAGoBAA4A" +
+ "UgIAAA4AYQIAAA4AIQEADgCIAQEADgCFAQIAAA4AkwEADgC3AQEADgASAQAOAKIBAA4AqwEBAA4A" +
+ "nwEADgClAQAOAJkBAA4AnAEADgCWAQAOAEwADgABAAAACQAAAAEAAAAEAAAAAwAAAAQAAwAVAAAA" +
+ "AwAAAAQAAwAWAAAABQAAAAQAAwAWAAMAAwAAAAIAAAAEAAQAAQAAAAsAAAABAAAADgAAAAIAAAAE" +
+ "AAMABAAAAAcAAwADAAMAAQAAAA8AAAACAAAADwADAAIAAAAPAAQAAgAAAA8ACwABAAAAAQAIPGNs" +
+ "aW5pdD4ABjxpbml0PgACPjsAAUIABUJZVEVTAAFEAAFGAAFJAAJJSgAESUpJTAAGSUpJTElJAANJ" +
+ "SkoAAklMAAFKAAJKSgADSkpJAANKSkoAAkpMAANKTEkABUpMSUlJAAFMAAJMRAACTEoAA0xKSQAC" +
+ "TEwAA0xMSQADTExKAANMTEwAHUxkYWx2aWsvYW5ub3RhdGlvbi9TaWduYXR1cmU7ABpMZGFsdmlr" +
+ "L2Fubm90YXRpb24vVGhyb3dzOwAYTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7ABFMamF2YS9sYW5n" +
+ "L0NsYXNzOwARTGphdmEvbGFuZy9DbGFzczwAFkxqYXZhL2xhbmcvQ29tcGFyYWJsZTsAFkxqYXZh" +
+ "L2xhbmcvQ29tcGFyYWJsZTwAEUxqYXZhL2xhbmcvRXJyb3I7ABBMamF2YS9sYW5nL0xvbmc7ABJM" +
+ "amF2YS9sYW5nL051bWJlcjsAIUxqYXZhL2xhbmcvTnVtYmVyRm9ybWF0RXhjZXB0aW9uOwASTGph" +
+ "dmEvbGFuZy9PYmplY3Q7ABJMamF2YS9sYW5nL1N0cmluZzsAGUxqYXZhL2xhbmcvU3RyaW5nQnVp" +
+ "bGRlcjsAFkxqYXZhL21hdGgvQmlnSW50ZWdlcjsACUxvbmcuamF2YQAJTUFYX1ZBTFVFAAlNSU5f" +
+ "VkFMVUUAFk1ldGhvZCByZWRlZmluZWQgYXdheSEAIlJlZGVmaW5lZCBMb25nISB2YWx1ZSAoYXMg" +
+ "ZG91YmxlKT0AAVMABFNJWkUABFRZUEUAAVYAAlZKAAJWTAABWgACWkwAAltCAAJbQwAGYXBwZW5k" +
+ "AAhiaXRDb3VudAAJYnl0ZVZhbHVlAAdjb21wYXJlAAljb21wYXJlVG8AD2NvbXBhcmVVbnNpZ25l" +
+ "ZAAGZGVjb2RlAA5kaXZpZGVVbnNpZ25lZAALZG91YmxlVmFsdWUABmVxdWFscwAKZmxvYXRWYWx1" +
+ "ZQASZm9ybWF0VW5zaWduZWRMb25nAAhnZXRDaGFycwAHZ2V0TG9uZwAIaGFzaENvZGUADWhpZ2hl" +
+ "c3RPbmVCaXQACGludFZhbHVlAAlsb25nVmFsdWUADGxvd2VzdE9uZUJpdAADbWF4AANtaW4AFG51" +
+ "bWJlck9mTGVhZGluZ1plcm9zABVudW1iZXJPZlRyYWlsaW5nWmVyb3MACXBhcnNlTG9uZwARcGFy" +
+ "c2VVbnNpZ25lZExvbmcAEXJlbWFpbmRlclVuc2lnbmVkAAdyZXZlcnNlAAxyZXZlcnNlQnl0ZXMA" +
+ "CnJvdGF0ZUxlZnQAC3JvdGF0ZVJpZ2h0ABBzZXJpYWxWZXJzaW9uVUlEAApzaG9ydFZhbHVlAAZz" +
+ "aWdudW0ACnN0cmluZ1NpemUAA3N1bQAOdG9CaW5hcnlTdHJpbmcAC3RvSGV4U3RyaW5nAA10b09j" +
+ "dGFsU3RyaW5nAAh0b1N0cmluZwAUdG9VbnNpZ25lZEJpZ0ludGVnZXIAEHRvVW5zaWduZWRTdHJp" +
+ "bmcAEXRvVW5zaWduZWRTdHJpbmcwAAV2YWx1ZQAHdmFsdWVPZgBZfn5EOHsiY29tcGlsYXRpb24t" +
+ "bW9kZSI6InJlbGVhc2UiLCJoYXMtY2hlY2tzdW1zIjpmYWxzZSwibWluLWFwaSI6MSwidmVyc2lv" +
+ "biI6IjIuMS43LXIxIn0AAgYBZBwBGA0CBQFkHAMXIBckFwICBQFkHAQXJRciFyQXAgYBLgsAGQEZ" +
+ "ARkBGQEZARoGEgGIgAS8GQGBgAT8GQGBgATQGQEJ0A0CCeQNAwnEDgEJjBEBCcQVBAjkDgEIhA8B" +
+ "CKQPAQmsEQEJ7BEBCcwRAgnkDwEJ5BUDCZQWAQmsFgEJzBYBCaQQAQm8EAEJ7BYBCYwXAQmsFwEJ" +
+ "zBcBCewXAQmMGAEJrBgBCcAYAQnYGAEJ7BgCCdgQAQjsEAEJiBkBCegSAQmIEwEJqBMCCYQUAQmk" +
+ "FAEKpBUBCcQUAQnkFAEIhBUBCcwSAQmMEgEJrBIFAfAMAgGEDgHBIKQOBAGQDQEB0AwBAbANBwHE" +
+ "DwMBhBABAfwVEAGcGQcByBMEBAgGAAYABEAAAAAAAAEAAACnEwAAAQAAAK8TAAABAAAAuxMAAOQU" +
+ "AAABAAAACQAAAAAAAAAEAAAA3BQAAAMAAADUFAAACgAAANQUAAAfAAAA1BQAACAAAADUFAAAIQAA" +
+ "ANQUAAAiAAAA1BQAACMAAADUFAAAOAAAANQUAAA5AAAA1BQAABEAAAAAAAAAAQAAAAAAAAABAAAA" +
+ "ZwAAAHAAAAACAAAAFwAAAAwCAAADAAAAIgAAAGgCAAAEAAAABwAAAAAEAAAFAAAAPwAAADgEAAAG" +
+ "AAAAAQAAADAGAAABIAAAOQAAAFAGAAADIAAALQAAABgNAAABEAAADwAAACQOAAACIAAAZwAAAK4O" +
+ "AAAEIAAAAwAAAKcTAAAAIAAAAQAAAMkTAAAFIAAAAQAAAMYUAAADEAAABAAAANAUAAAGIAAAAQAA" +
+ "AOwUAAAAEAAAAQAAAEwVAAA="
);
static class FuncCmp implements LongPredicate {