ctms/YII.sublime-workspace
fm453 4b842ebf3d ADD:添加后台管理端接口;
DEL:删除不必要的头部注释;
FIX:修正若干已知错误;
2025-06-30 09:40:13 +08:00

2366 lines
121 KiB
Plaintext

{
"auto_complete":
{
"selected_items":
[
[
"fuid",
"from_uid"
],
[
"un",
"undefined"
],
[
"or",
"orwhere"
],
[
"num",
"num_left"
],
[
"getC",
"getCookies"
],
[
"dateti",
"date_timestamp_get()"
],
[
"操作失败",
"操作失败,单据数据更新没有成功!"
],
[
"数据",
"数据已被删除过,操作无效"
],
[
"AC",
"AcNotice"
],
[
"Ac",
"AcNewsCat"
],
[
"dis",
"disabled"
],
[
"se",
"selected_id"
],
[
"add",
"addNewRow"
],
[
"ad",
"addNewRow"
],
[
"table",
"_tableOptions"
],
[
"op",
"operator"
],
[
"fin",
"findById"
],
[
"my",
"mySaveData"
],
[
"id",
"_id"
],
[
"for",
"formatter"
],
[
"_",
"_id"
],
[
"clear",
"clearCat"
],
[
"sel",
"selections"
],
[
"i_",
"is_selected"
],
[
"onP",
"onPointerDown"
],
[
"mou",
"mousedown"
],
[
"dacms",
"dacms_dev"
],
[
"get",
"getAlias"
],
[
"pay",
"pay_money"
],
[
"hasA",
"hasAttribute"
],
[
"con",
"controller"
],
[
"re",
"yii\\web\\Request"
],
[
"member_",
"member_miniapp_id"
],
[
"app",
"appkey"
],
[
"au",
"authorizer_appid"
],
[
"last",
"last_ip"
],
[
"exp",
"expir"
],
[
"acti",
"activity_id"
],
[
"Company",
"CompanyModel\tCompanyModel"
],
[
"Compnay",
"CompanyModel"
],
[
"log",
"log_where"
],
[
"usr",
"user_id"
],
[
"mem",
"member_miniapp_id"
],
[
"goods",
"goods_name"
],
[
"html",
"htmlspecialchars"
],
[
"end",
"end_time"
],
[
"view",
"view_num"
],
[
"int",
"integral"
],
[
"Use",
"UserModel\tUserModel"
],
[
"Com",
"Company\tCompany"
],
[
"info",
"info_id"
],
[
"Us",
"UserModel\tUserModel"
],
[
"wok",
"workerman"
],
[
"type",
"typestr"
],
[
"page",
"page_title"
],
[
"te",
"testimg()\tmixed"
],
[
"img",
"imgData"
],
[
"Qr",
"QrcodeModel\tQrcodeModel"
],
[
"save",
"saveAll"
],
[
"pa",
"parent\t.parent()"
],
[
"sc",
"scroll"
],
[
"is_re",
"is_real"
],
[
"user",
"user_id"
],
[
"nick",
"nick_name"
],
[
"pre",
"preventDefault"
],
[
"to",
"toggleClass\t.toggleClass()"
],
[
"memb",
"member_id"
],
[
"inline",
"inline-flex"
],
[
"comp",
"company_id"
],
[
"back",
"background-color"
],
[
"str_re",
"str_replace"
],
[
"getM",
"getMemberId"
],
[
"min",
"miniapp_id"
],
[
"j",
"jsoninfo"
],
[
"getA",
"getAccessToken"
],
[
"hove",
"hoveropen"
],
[
"web_m",
"web_muban_status"
],
[
"background-s",
"background-size"
],
[
"array_f",
"array_filter"
],
[
"ex",
"explode"
],
[
"sub",
"substr"
],
[
"do",
"dotypelist"
],
[
"pull",
"pullrefresh-child"
],
[
"pdo_fech",
"pdo_fetchcolumn"
],
[
"onmou",
"onmouseup\tAttr"
],
[
"pdo_insert",
"pdo_insertid"
],
[
"var",
"var_dump"
],
[
"status",
"statuscode"
],
[
"json",
"json_encode"
],
[
"ab",
"absolute"
],
[
"cache_",
"cache_key"
],
[
"is_N",
"is_numeric"
],
[
"en",
"enabled"
],
[
"josn",
"json_encode"
],
[
"access",
"access_token"
],
[
"callb",
"callback_url"
],
[
"fm",
"fm453style"
],
[
"menu",
"menulinks"
],
[
"va",
"var_dump"
],
[
"fa",
"fa-bug"
],
[
"di",
"display"
],
[
"tex",
"text-align"
],
[
"le",
"length"
]
]
},
"buffers":
[
{
"file": "addons-ctms/数据库表变动日志.sql",
"settings":
{
"buffer_size": 45303,
"encoding": "UTF-8",
"line_ending": "Unix"
},
"undo_stack":
[
[
3,
1,
"insert",
{
"characters": "\n"
},
"AgAAAMgEAAAAAAAAyQQAAAAAAAAAAAAAyQQAAAAAAADLBAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAyAQAAAAAAADIBAAAAAAAAAAAAAAAAPC/"
],
[
7,
1,
"insert",
{
"characters": "\n"
},
"AgAAAFQKAAAAAAAAVQoAAAAAAAAAAAAAyQQAAAAAAADJBAAAAAAAAAIAAAAgIA",
"AQAAAAAAAAABAAAAVAoAAAAAAABUCgAAAAAAAP///////+9/"
],
[
8,
1,
"paste",
null,
"AQAAAFMKAAAAAAAAtAoAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAUwoAAAAAAABTCgAAAAAAAAAAAAAAAPC/"
],
[
12,
1,
"",
null,
"AQAAAK0KAAAAAAAArgoAAAAAAAAFAAAAdGl0bGU",
"AQAAAAAAAAABAAAAsgoAAAAAAACtCgAAAAAAAAAAAAAAAPC/"
],
[
13,
1,
"",
null,
"AQAAAK0KAAAAAAAArwoAAAAAAAABAAAAbw",
"AQAAAAAAAAABAAAArgoAAAAAAACuCgAAAAAAAAAAAAAAAPC/"
],
[
14,
1,
"",
null,
"AQAAAK0KAAAAAAAArQoAAAAAAAACAAAAb3c",
"AQAAAAAAAAABAAAArwoAAAAAAACvCgAAAAAAAAAAAAAAAPC/"
],
[
15,
1,
"insert",
{
"characters": "owner_"
},
"BgAAAK0KAAAAAAAArgoAAAAAAAAAAAAArgoAAAAAAACvCgAAAAAAAAAAAACvCgAAAAAAALAKAAAAAAAAAAAAALAKAAAAAAAAsQoAAAAAAAAAAAAAsQoAAAAAAACyCgAAAAAAAAAAAACyCgAAAAAAALMKAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAArQoAAAAAAACtCgAAAAAAAAAAAAAAAPC/"
],
[
16,
1,
"insert",
{
"characters": "id"
},
"AgAAALMKAAAAAAAAtAoAAAAAAAAAAAAAtAoAAAAAAAC1CgAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAswoAAAAAAACzCgAAAAAAAAAAAAAAAPC/"
],
[
20,
1,
"left_delete",
null,
"AQAAAF8KAAAAAAAAXwoAAAAAAAAHAAAAYGN0bXNgLg",
"AQAAAAAAAAABAAAAZgoAAAAAAABfCgAAAAAAAAAAAAAAAPC/"
],
[
23,
1,
"toggle_comment",
{
"block": false
},
"AQAAAFMKAAAAAAAAVgoAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAUwoAAAAAAABTCgAAAAAAAAAAAAAAAPC/"
],
[
25,
1,
"toggle_comment",
{
"block": false
},
"AQAAAGwKAAAAAAAAbwoAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAbwoAAAAAAABvCgAAAAAAAAAAAAAAADVA"
],
[
33,
1,
"reindent",
null,
"AQAAAMkEAAAAAAAAywQAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAyQQAAAAAAADJBAAAAAAAAAAAAAAAAPC/"
],
[
34,
1,
"paste",
null,
"AQAAAMsEAAAAAAAA9QQAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAywQAAAAAAADLBAAAAAAAAAAAAAAAAPC/"
],
[
35,
1,
"insert",
{
"characters": ","
},
"AQAAAPUEAAAAAAAA9gQAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAA9QQAAAAAAAD1BAAAAAAAAAAAAAAAAPC/"
],
[
36,
1,
"add_file_header",
{
"path": "/Users/fm453/webdev/localhost/yii/addons-ctms/数据库表变动日志.sql"
},
"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAA9gQAAAAAAAD2BAAAAAAAAAAAAAAAAPC/"
]
]
},
{
"file": "ctms-api/controllers/client/v1/NewsController.php",
"settings":
{
"buffer_size": 5576,
"encoding": "UTF-8",
"line_ending": "Unix"
},
"undo_stack":
[
[
1,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAAD6FgAAPD9waHAKCiMgQEF1dGhvcjog5Zeo5Zmc5a6iKOS4ieS6mikgPGZtNDUzPgojIEBEYXRlOiAgIDIwMjQtMDgtMDNUMTU6MzQ6MDErMDg6MDAKIyBARW1haWw6ICAxMjgwODgwNjMxQHFxLmNvbQojIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGZtNDUzCiMgQExhc3QgbW9kaWZpZWQgdGltZTogMjAyNC0wOC0wOVQwOTowMDowMiswODowMAojIEBDb3B5cmlnaHQ6IHd3dy5oaWx1a2VyLmNuCgkKCW5hbWVzcGFjZSBhcGlcY29udHJvbGxlcnNcY2xpZW50XHYxOwoKdXNlIGFkZG9uc1xtb2RlbHNcQWNOZXdzOwp1c2UgYWRkb25zXG1vZGVsc1xBY05ld3NDYXQ7CnVzZSBZaWk7CnVzZSB5aWlcZGF0YVxQYWdpbmF0aW9uOwp1c2UgeWlpXGhlbHBlcnNcVXJsOwoKY2xhc3MgTmV3c0NvbnRyb2xsZXIgZXh0ZW5kcyBDb21tb24KewogICAgcHVibGljIGZ1bmN0aW9uIGJlZm9yZUFjdGlvbigkYWN0aW9uKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnBpZCkgewoJICAgICAgICAkdGhpcy0+cmVzdWx0KCfmgqjmraPkvb/nlKjmnKzns7vnu5/lhoXpg6jmjqXlj6PvvIznpoHmraLpnZ7ms5Xpk77mjqXkvb/nlKjvvIEnKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHBhcmVudDo6YmVmb3JlQWN0aW9uKCRhY3Rpb24pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJGFwaXMgPSBbCiAgICAgICAgICAgICdsaXN0Jz0+J+aWh+eroOa4heWNlScsCiAgICAgICAgICAgICdkZXRhaWwnPT4n5paH56ug6K+m5oOFJwogICAgICAgIF07CiAgICAgICAgJHRoaXMtPnJlc3VsdCgn5oKo5q2j5L2/55SoQ01UUy1DTElFTlTns7vnu5/mlofnq6DlhoXlrrnnrqHnkIbmjqXlj6PvvIEnLCAkYXBpcywgMjAwKTsKICAgIH0KCiAgICAvL+iuouWNleWIl+ihqAogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxpc3QoKQogICAgewoJICAgICRzID0gJHRoaXMtPnNlYXJjaChbJ2lzX3Nob3cnID0+IDFdKTsKICAgICAgICAkcmVzID0gJHNbJ3JlcyddOwoJICAgIGlmICghJHJlcykgewoJCSAgICAkdGhpcy0+cmVzdWx0KCfmsqHmnInmn6Xor6LliLDnm7jlupTnmoTmlbDmja7vvIEnLCBbXSwgMCk7CiAgICAgICAgfQogICAgICAgICRkYXRhID0gJHNbJ2RhdGEnXTsKICAgICAgICAkbGlzdCA9ICR0aGlzLT5mb3JtYXRMaXN0KCRyZXMpOwoJICAgIAoJICAgICRyZXR1cm4gPSBbCiAgICAgICAgICAgICd0b3RhbCc9PiRkYXRhLT5jb3VudCgpLAogICAgICAgICAgICAnbmV3cycgPT4gJGxpc3QsCiAgICAgICAgICAgICdwYWdlJz0+JHRoaXMtPnBhZ2UKICAgICAgICBdOwoJICAgICR0aGlzLT5yZXN1bHQoJ+WGheWuueafpeivouaIkOWKn++8gScsICRyZXR1cm4sIDIwMCk7CiAgICB9CgkKCXB1YmxpYyBmdW5jdGlvbiBhY3Rpb25EZXRhaWwoKQogICAgewogICAgICAgICRwaWQgPSAkdGhpcy0+cGlkOwogICAgICAgICRwb3N0ID0gJHRoaXMtPnBvc3RkYXRhOwoKICAgICAgICAkaWQgPSAkcG9zdFsnaWQnXSA/PyAwOwogICAgICAgIGlmICgkaWQ8PTApIHsKICAgICAgICAgICAgJHRoaXMtPnJlc3VsdCgn5p+l6K+i5Y+C5pWw6ZSZ6K+v77yBJyk7CiAgICAgICAgfQogICAgICAgICRtb2RlbCA9IG5ldyBBY05ld3MoKTsKICAgICAgICAkZGV0YWlsID0gJG1vZGVsLT5maW5kT25lKCRpZCk7CgkgICAgJHMgPSAkdGhpcy0+Zm9ybWF0RGV0YWlsKCRkZXRhaWwtPnRvQXJyYXkoKSk7CiAgICAgICAgJHRoaXMtPnJlc3VsdCgn5p+l6K+i5oiQ5Yqf77yBJywgJHMsIDIwMCk7CiAgICB9CgkKCXB1YmxpYyBmdW5jdGlvbiBhY3Rpb25BamF4KCkKICAgIHsKICAgICAgICAkcG9zdCA9ICR0aGlzLT5wb3N0ZGF0YTsKICAgICAgICAkaWQgPSAkcG9zdFsnaWQnXSA/PyAwOwogICAgICAgIGlmICgkaWQ8PTApIHsKICAgICAgICAgICAgJHRoaXMtPnJlc3VsdCgn5pyq5oyH5a6a5YaF5a6577yBJyk7CiAgICAgICAgfQogICAgICAgICRtb2RlbCA9IG5ldyBBY05ld3MoKTsKICAgICAgICAkZGV0YWlsID0gJG1vZGVsLT5maW5kT25lKCRpZCk7CgkgICAgaWYgKCEkZGV0YWlsKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXN1bHQoJ+aMh+WumueahOWGheWuueS4jeWtmOWcqO+8gScpOwogICAgICAgIH0KICAgICAgICBpZiAoJGRldGFpbC0+ZGVsZXRlZCkgewogICAgICAgICAgICAkdGhpcy0+cmVzdWx0KCfmjIflrprnmoTlhoXlrrnlt7LooqvliKDpmaTvvIEnKTsKICAgICAgICB9CgkgICAgJG9wID0gJHBvc3RbJ29wJ10gPz8gJyc7CgkgICAgaWYgKCEkb3ApIHsKCQkgICAgJHRoaXMtPnJlc3VsdCgn5peg5pyJ5pWI5oyH5Luk77yBJyk7CgkgICAgfQoJICAgIHN3aXRjaCAoJG9wKSB7CgkJICAgIGNhc2UgJ3JlYWQnOgoJCQkgICAgJGRldGFpbC0+cmVhZGluZyArPSAxOwoJCQkgICAgYnJlYWs7CgkJICAgIGNhc2UgJ25vX3JlYWQnOgoJCQkgICAgJGRldGFpbC0+cmVhZGluZyAtPSAxOwoJCQkgICAgJGRldGFpbC0+cmVhZGluZyA9ICRkZXRhaWwtPnJlYWRpbmcgPCAwID8gMCA6ICRkZXRhaWwtPnJlYWRpbmc7CgkJCSAgICBicmVhazsKCQkgICAgY2FzZSAnbGlrZSc6CgkJCSAgICAkZGV0YWlsLT5saWtlZCArPSAxOwoJCQkgICAgYnJlYWs7CgkJICAgIGNhc2UgJ25vX2xpa2UnOgoJCQkgICAgJGRldGFpbC0+bGlrZWQgLT0gMTsKCQkJICAgICRkZXRhaWwtPmxpa2VkID0gJGRldGFpbC0+bGlrZWQgPCAwID8gMCA6ICRkZXRhaWwtPmxpa2VkOwoJCQkgICAgYnJlYWs7CgkJICAgIGNhc2UgJ3ZpZXcnOgoJCQkgICAgJGRldGFpbC0+dmlld2VkICs9IDE7CgkJCSAgICBicmVhazsKCQkgICAgZGVmYXVsdDoKCQkJICAgIGJyZWFrOwoJICAgIH0KICAgICAgICAkZGV0YWlsLT5zYXZlKCk7CgkgICAgJGRhdGEgPSAkdGhpcy0+Zm9ybWF0RGV0YWlsKCRkZXRhaWwtPnRvQXJyYXkoKSk7CiAgICAgICAgJHRoaXMtPnJlc3VsdCgn5bey5omn6KGMJywgJGRhdGEsIDIwMCk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBzZWFyY2goJG9wcz1bXSkKICAgIHsKICAgICAgICAkcGlkID0gJHRoaXMtPnBpZDsKICAgICAgICAkbW9kZWwgPSBuZXcgQWNOZXdzKCk7CiAgICAgICAgJHdoZXJlID0gJ2BwaWRgID0gOnBpZCc7CiAgICAgICAgJHBhcmFtcyA9IFsnOnBpZCc9PiRwaWRdOwogICAgICAgICRwb3N0ID0gJHRoaXMtPnBvc3RkYXRhOwogICAgICAgICRzZWFyY2ggPSBpc3NldCgkcG9zdFsnc2VhcmNoJ10pID8gJHBvc3RbJ3NlYXJjaCddIDogW107CgkgICAgLy8JCeS8mOWFiOWkhOeQhiRvcHPkvKDlj4LvvIzlubblkIzml7bliKDpmaQkc2VhcmNo5Lit55u45bqU5YWD57SgCgkgICAgaWYgKCRvcHMpIHsKCQkgICAgZm9yZWFjaCAoJG9wcyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkgICAgJHdoZXJlIC49ICcgQU5EIGAnIC4gJGtleSAuICdgID0gOicgLiAka2V5OwoJCQkgICAgJHBhcmFtc1snOicgLiAka2V5XSA9ICR2YWx1ZTsKCQkJICAgIGlmIChpc3NldCgkc2VhcmNoWyRrZXldKSkgewoJCQkJICAgIHVuc2V0KCRzZWFyY2hbJGtleV0pOwoJCQkgICAgfQoJCSAgICB9CgkgICAgfQoKICAgICAgICBpZiAoIWVtcHR5KCRzZWFyY2hbJ3RpdGxlJ10pKSB7CiAgICAgICAgICAgICRzZWFyY2hbJ3RpdGxlJ10gPSB0cmltKCRzZWFyY2hbJ3RpdGxlJ10pOwogICAgICAgICAgICAkd2hlcmUgLj0gJyBBTkQgYHRpdGxlYCBsaWtlIDp0aXRsZSc7CgkgICAgICAgICRwYXJhbXNbJzp0aXRsZSddID0gJyUnIC4gJHNlYXJjaFsndGl0bGUnXSAuICclJzsKICAgICAgICB9CgkgICAgaWYgKCFlbXB0eSgkc2VhcmNoWydjaWQnXSkpIHsKICAgICAgICAgICAgJHNlYXJjaFsnY2lkJ10gPSBpbnR2YWwoJHNlYXJjaFsnY2lkJ10pOwogICAgICAgICAgICAkd2hlcmUgLj0gJyBBTkQgYGNpZGAgPSA6Y2lkJzsKCQkgICAgJHBhcmFtc1snOmNpZCddID0gJHNlYXJjaFsnY2lkJ107CiAgICAgICAgfQoJICAgIAoJICAgIGlmICghaXNzZXQoJHBhcmFtc1snOmRlbGV0ZWQnXSkpIHsKCQkgICAgJHBhcmFtc1snOmRlbGV0ZWQnXSA9IDA7CgkJICAgICR3aGVyZSAuPSAnIEFORCBgZGVsZXRlZGAgPSA6ZGVsZXRlZCc7CgkgICAgfQoKICAgICAgICAkcGFnZSA9ICR0aGlzLT5wYWdlOwogICAgICAgICRwYWdlU2l6ZSA9ICR0aGlzLT5wYWdlU2l6ZTsKCSAgICAkZGF0YSA9ICRtb2RlbC0+ZmluZCgpLT53aGVyZSgkd2hlcmUsICRwYXJhbXMpOwogICAgICAgICRwYWdlcyA9IG5ldyBQYWdpbmF0aW9uKFsndG90YWxDb3VudCcgPT4kZGF0YS0+Y291bnQoKSwgJ3BhZ2VTaXplJyA9PiAkcGFnZVNpemVdKTsKICAgICAgICAkcGFnZXMtPnNldFBhZ2UoJHBhZ2UtMSwgdHJ1ZSk7IC8v6K6+572u5YiG6aG155qE5b2T5YmN6aG16Z2i5YC8CiAgICAgICAgJF9vcmRlcmJ5ID0gJ29yZGVyYnkgREVTQyx1cGRhdGVfYXQgREVTQyxpZCBERVNDJzsKICAgICAgICAkcmVzID0gJGRhdGEtPm9mZnNldCgkcGFnZXMtPm9mZnNldCktPmxpbWl0KCRwYWdlcy0+bGltaXQpLT5vcmRlcmJ5KCRfb3JkZXJieSktPmFsbCgpOwogICAgICAgIHJldHVybiBbJ3Jlcyc9PiRyZXMsJ2RhdGEnPT4kZGF0YV07CiAgICB9CgkKCQoJcHJpdmF0ZSBmdW5jdGlvbiBmb3JtYXRMaXN0KCRyZXMpCiAgICB7CiAgICAgICAgJHVuc2V0cyA9IFsncGlkJywnY3JlYXRlX2F0JywnZGVsZXRlZCddOwoJICAgICRsaXN0ID0gW107CiAgICAgICAgZm9yZWFjaCAoJHJlcyBhcyAkcykgewogICAgICAgICAgICAkcyA9ICRzLT50b0FycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR1bnNldHMgYXMgJHVzKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkc1skdXNdKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHdlZWtkYXlzID0gWzA9Pifml6UnLDE9PifkuIAnLDI9PifkuownLDM9PifkuIknLDQ9Piflm5snLDU9PifkupQnLDY9Piflha0nXTsKICAgICAgICAgICAgJHdrID0gZGF0ZSgndycsICRzWyd1cGRhdGVfYXQnXSk7CiAgICAgICAgICAgICRzWyd1cGRhdGVUaW1lJ10gPSBkYXRlKCdZLW0tZCAnLCAkc1sndXBkYXRlX2F0J10pIC4gJ+aYn+acnycuJHdlZWtkYXlzWyR3a107CgkgICAgICAgIAoJICAgICAgICAkc1snY29udGVudCddID0gJHNbJ2NvbnRlbnQnXSA/IGh0bWxzcGVjaWFsY2hhcnNfZGVjb2RlKCRzWydjb250ZW50J10pIDogJyc7CgkgICAgICAgIAoJICAgICAgICAkbGlzdFtdID0gJHM7CiAgICAgICAgfQogICAgICAgIHVuc2V0KCRzKTsKCiAgICAgICAgcmV0dXJuICRsaXN0OwogICAgfQoJCglwcml2YXRlIGZ1bmN0aW9uIGZvcm1hdERldGFpbCgkcyA9IFtdKQogICAgewogICAgICAgICR1bnNldHMgPSBbJ3BpZCcsJ2NyZWF0ZV9hdCcsJ2RlbGV0ZWQnLCdpc19zaG93J107CgkgICAgZm9yZWFjaCAoJHVuc2V0cyBhcyAkdXMpIHsKCQkgICAgdW5zZXQoJHNbJHVzXSk7CgkgICAgfQoJICAgICR3ZWVrZGF5cyA9IFswID0+ICfml6UnLCAxID0+ICfkuIAnLCAyID0+ICfkuownLCAzID0+ICfkuIknLCA0ID0+ICflm5snLCA1ID0+ICfkupQnLCA2ID0+ICflha0nXTsKCSAgICAkd2sgPSBkYXRlKCd3JywgJHNbJ3VwZGF0ZV9hdCddKTsKCSAgICAkc1sndXBkYXRlVGltZSddID0gZGF0ZSgnWS1tLWQgJywgJHNbJ3VwZGF0ZV9hdCddKSAuICfmmJ/mnJ8nIC4gJHdlZWtkYXlzWyR3a107CgkgICAgJHNbJ2NvbnRlbnQnXSA9IGh0bWxzcGVjaWFsY2hhcnNfZGVjb2RlKCRzWydjb250ZW50J10pOwoJICAgIAoJICAgIC8vCQknc3JjPSIvdXBsb2FkL3BpY3MvJwoJICAgICR1cGxvYWRfdXJsID0gJ2h0dHBzOi8vZGFjbXMuaGlsdWtlci5jbic7CgkgICAgJHNbJ2NvbnRlbnQnXSA9IHN0cl9yZXBsYWNlKCdzcmM9Ii91cGxvYWQvcGljcy8nLCAnc3JjPSInIC4gJHVwbG9hZF91cmwgLiAnL3VwbG9hZC9waWNzLycsICRzWydjb250ZW50J10pOwoJICAgIHJldHVybiAkczsKICAgIH0KfQoAAAAAAAAAAMgVAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/"
]
]
},
{
"file": "ctms-api/controllers/gm/v1/Common.php",
"settings":
{
"buffer_size": 5490,
"encoding": "UTF-8",
"line_ending": "Unix"
},
"undo_stack":
[
[
7,
2,
"left_delete",
null,
"AgAAAMwAAAAAAAAAzAAAAAAAAAADAAAA56uvywAAAAAAAADLAAAAAAAAAAMAAADliY0",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8"
],
[
8,
1,
"",
null,
"AQAAAMsAAAAAAAAAzAAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8"
],
[
9,
1,
"",
null,
"AQAAAMsAAAAAAAAAzQAAAAAAAAABAAAAdA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8"
],
[
10,
1,
"",
null,
"AQAAAMsAAAAAAAAAzgAAAAAAAAACAAAAdGU",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8"
],
[
11,
1,
"",
null,
"AQAAAMsAAAAAAAAAywAAAAAAAAADAAAAdGVn",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOAAAAAAAAAM4AAAAAAAAAAAAAAAAA8L8"
],
[
12,
1,
"insert",
{
"characters": "租"
},
"AQAAAMsAAAAAAAAAzAAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8"
],
[
13,
1,
"",
null,
"AQAAAMwAAAAAAAAAzQAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8"
],
[
14,
1,
"",
null,
"AQAAAMwAAAAAAAAAzgAAAAAAAAABAAAAeQ",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8"
],
[
15,
1,
"",
null,
"AQAAAMwAAAAAAAAAzAAAAAAAAAACAAAAeW4",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOAAAAAAAAAM4AAAAAAAAAAAAAAAAA8L8"
],
[
16,
1,
"insert",
{
"characters": "记"
},
"AQAAAMwAAAAAAAAAzQAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8"
],
[
17,
1,
"left_delete",
null,
"AQAAAMwAAAAAAAAAzAAAAAAAAAADAAAA6K6w",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8"
],
[
18,
1,
"left_delete",
null,
"AQAAAMsAAAAAAAAAywAAAAAAAAADAAAA56ef",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8"
],
[
19,
1,
"",
null,
"AQAAAMsAAAAAAAAAzAAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8"
],
[
20,
1,
"",
null,
"AQAAAMsAAAAAAAAAzQAAAAAAAAABAAAAZw",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8"
],
[
21,
1,
"",
null,
"AQAAAMsAAAAAAAAAzgAAAAAAAAACAAAAZ3U",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8"
],
[
22,
1,
"",
null,
"AQAAAMsAAAAAAAAAzwAAAAAAAAADAAAAZ3Vj",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOAAAAAAAAAM4AAAAAAAAAAAAAAAAA8L8"
],
[
23,
1,
"",
null,
"AQAAAMsAAAAAAAAAywAAAAAAAAAEAAAAZ3Vjaw",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADPAAAAAAAAAM8AAAAAAAAAAAAAAAAA8L8"
],
[
24,
1,
"insert",
{
"characters": "平台"
},
"AgAAAMsAAAAAAAAAzAAAAAAAAAAAAAAAzAAAAAAAAADNAAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8"
],
[
30,
1,
"add_file_header",
{
"path": "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1/Common.php"
},
"AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8"
],
[
33,
1,
"add_file_header",
{
"part": "header",
"path": "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1/Common.php"
},
"AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACXAAAAAAAAAJcAAAAAAAAAAAAAAAAA8L8"
],
[
36,
1,
"add_file_header",
{
"path": "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1/Common.php"
},
"AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA",
"BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB4AAAAAAAAAHgAAAAAAAAAAAAAAAAA8L8"
],
[
1,
1,
"revert",
null,
"BQAAAAAAAAAAAAAAAAAAAAAAAADREAAAPD9waHAKCiMgQEF1dGhvcjog5Zeo5Zmc5a6iKOS4ieS6mikgPGZtNDUzPgojIEBEYXRlOiAgIDIwMjItMDQtMTUgMjA6MjI6MDMKIyBARW1haWw6ICBmbTQ1M0BsdWtlZ3pzLmNvbQojIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGZtNDUzCiMgQExhc3QgbW9kaWZpZWQgdGltZTogMjAyNC0wNy0wOFQxNjowMjozMCswODowMAojIEBDb3B5cmlnaHQ6IHd3dy5oaWx1a2VyLmNuCi8v5bmz5Y+w55So5oi35YWl5Y+jCgpuYW1lc3BhY2UgYXBpXGNvbnRyb2xsZXJzXGdtXHYxOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7CnVzZSBhZGRvbnNcbW9kZWxzXEFjVXNlckV4dDsKdXNlIGFkZG9uc1xtb2RlbHNcQWNTdG9yZTsKdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCmNsYXNzIENvbW1vbiBleHRlbmRzIENvbnRyb2xsZXIKewogICAgcHJvdGVjdGVkIGludCAkcGlkID0gMDsKICAgIHByb3RlY3RlZCBpbnQgJHVzZXJfaWQgPSAwOwogICAgcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgaW50ICRzdG9yZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgaW50ICRlbXBsb3llZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CiAgICBwcm90ZWN0ZWQgYXJyYXkgJHBvc3RkYXRhID0gW107CS8v6YeN5paw5pW055CG5LiA5LiL5a6i5oi356uv5Lyg6L6T55qE5pWw5o2uCiAgICBwcm90ZWN0ZWQgYm9vbCAkaW1nSHR0cCA9IHRydWU7CS8v5Zu+54mH6ZmE5Lu25Zyw5Z2A55Sf5oiQaHR0cChzKQkvL2ZhbHNlOuS4jeeUn+aIkGh0dHDnvZHlnYDvvJsgdHJ1ZTrku4XnlJ/miJBodHRw572R5Z2A77ybIGh0dHBzOueUn+aIkGh0dHBz572R5Z2ACiAgICBwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsJLy/lvZPliY3mlbDmja7liIbpobUKICAgIHByb3RlY3RlZCBpbnQgJHBhZ2VTaXplID0gMTA7CS8v6buY6K6k5pWw5o2u5YiG6aG15aSn5bCPCiAgICBwdWJsaWMgJGVuYWJsZUNzcmZWYWxpZGF0aW9uID0gZmFsc2U7CiAgICAvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCglwcm90ZWN0ZWQgaW50ICR0aW1lc3RhbXAgPSBUSU1FU1RBTVA7CiAgICAvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgogICAgcHVibGljIGZ1bmN0aW9uIGluaXQoKQogICAgewogICAgICAgIHBhcmVudDo6aW5pdCgpOwogICAgICAgIC8v5Yik5pat6K+35rGC5YaF5a6557G75Z6LIGNvbnRlbnQtdHlwZSzmlK/mjIEganNvbuivt+axggogICAgICAgICRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwogICAgICAgICRoZWFkZXJzID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5oZWFkZXJzOwogICAgICAgICRjb250ZW50VHlwZSA9ICRoZWFkZXJzLT5nZXQoJ2NvbnRlbnQtdHlwZScpOwogICAgICAgIGlmICgkY29udGVudFR5cGU9PSJhcHBsaWNhdGlvbi9qc29uIikgewogICAgICAgICAgICAkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgdHJ1ZSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5wb3N0ZGF0YSA9ICRwb3N0ZGF0YTsKICAgICAgICAKICAgICAgICAkc2Vzc2lvbiA9IFlpaTo6JGFwcC0+c2Vzc2lvbjsKICAgICAgICBpZiAoaXNzZXQoJHBvc3RkYXRhWydwaWQnXSkpIHsKICAgICAgICAgICAgaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXT4wKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwogICAgICAgICAgICAgICAgJHNlc3Npb24tPnNldCgncGlkJywgJHRoaXMtPnBpZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CiAgICAgICAgICAgIGlmICgoaW50KSRfR0VUWydwaWQnXT4wKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGlkID0gJF9HRVRbJ3BpZCddOwogICAgICAgICAgICAgICAgJHNlc3Npb24tPnNldCgncGlkJywgJHRoaXMtPnBpZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRzZXNzaW9uLT5zZXQoJ3BpZCcsIDApOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkdGhpcy0+c2l0ZV9pZCA9IFlpaTo6JGFwcC0+cGFyYW1zWydzaXRlSWQnXTsKICAgICAgICAKICAgICAgICBpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddPjApIHsKICAgICAgICAgICAgJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CiAgICAgICAgfQogICAgICAgIGlmICgkdGhpcy0+dXNlcl9pZCkgewogICAgICAgICAgICAkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKICAgICAgICAgICAgJHJlcyA9ICR1c2VyTW9kZWwtPmZpbmRPbmUoJHRoaXMtPnVzZXJfaWQpOwogICAgICAgICAgICBpZighJHJlcyl7CiAgICAgICAgICAgICAgICAkdGhpcy0+dXNlcl9pZCA9IDA7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9UQkQg5ZCO5pyf6ZyA5Yqg5LiK5pu05aSa55m76ZmG6aqM6K+B6YC76L6RCiAgICAgICAgfQoJCSBpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXT4wKSB7CiAgICAgICAgICAgICR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwogICAgICAgIH0KCiAgICAgICAgJHBhZ2UgPSBpc3NldCgkcG9zdGRhdGFbJ3BhZ2UnXSkgPyAoaW50KSRwb3N0ZGF0YVsncGFnZSddIDogMTsKICAgICAgICAkdGhpcy0+cGFnZSA9ICRwYWdlPD0wID8gMSA6ICRwYWdlOwogICAgICAgICRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwogICAgICAgICR0aGlzLT5wYWdlU2l6ZSA9ICRwYWdlU2l6ZTw9MCA/IDEwIDogJHBhZ2VTaXplOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXN1bHQoJG1zZywgJGRhdGE9bnVsbCwgJGNvZGU9MCkKICAgIHsKICAgICAgICAkcmV0dXJuID0gW107CiAgICAgICAgJHJldHVyblsnY29kZSddID0gJGNvZGU7CiAgICAgICAgJHJldHVyblsnbXNnJ10gPSAkbXNnOwogICAgICAgIGlmICgkZGF0YSkgewogICAgICAgICAgICAkcmV0dXJuWydkYXRhJ10gPSAkZGF0YTsKICAgICAgICB9CiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkcmV0dXJuLCBKU09OX1VORVNDQVBFRF9VTklDT0RFKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUb2tlbigkdXNlcj1bXSwgJHJlZnJlc2g9ZmFsc2UsICRleHBpcmUgPSBudWxsKXsKICAgICAgICAvL+eUn+aIkHRva2Vu77yI55So5oi35pWw5o2u77yM5piv5ZCm5by65Yi25pu05paw77yM6L+H5pyf5pe26Ze0ICAvLyAgICBUQkQg5YW35L2T5pa55rOV5pyJ5b6F5LyY5YyWCiAgICAgICAgJGV4cGlyZSA9ICRleHBpcmUgPyAkZXhwaXJlIDogJysxIGRheSc7CiAgICAgICAgJHRva2VuID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ3VzZXJUb2tlbicpOwogICAgICAgICR0b2tlbkV4cGlyZWQgPSBZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgndXNlclRva2VuRXhwaXJlZCcpOwogICAgICAgIGlmKCEkdG9rZW4gfHwgJHJlZnJlc2gpewogICAgICAgICAgICAkdG9rZW5FeHBpcmVkID0gc3RydG90aW1lKCRleHBpcmUpKjEwMDA7CiAgICAgICAgICAgICR0b2tlbiA9IG1kNSgndXNlcm5hbWU9Jy4kdXNlclsndXNlcm5hbWUnXS4nJm1vYmlsZT0nLiR1c2VyWydtb2JpbGUnXS4nJnRpbWU9Jy4kdG9rZW5FeHBpcmVkKTsKICAgICAgICAgICAgWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ3VzZXJUb2tlbicsJHRva2VuKTsKICAgICAgICAgICAgWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ3VzZXJUb2tlbkV4cGlyZWQnLCR0b2tlbkV4cGlyZWQpOwogICAgICAgIH0KICAgICAgICAkdXNlclsndG9rZW4nXSA9ICR0b2tlbjsgICAgCiAgICAgICAgJHVzZXJbJ3Rva2VuRXhwaXJlZCddID0gJHRva2VuRXhwaXJlZDsKICAgICAgICByZXR1cm4gJHVzZXI7CiAgICB9Cn0KAAAAAAAAAACnDwAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAA",
"BAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/"
],
[
1,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAAAyDwAAPD9waHAKCiMgQEF1dGhvcjog5Zeo5Zmc5a6iKOS4ieS6mikgPGZtNDUzPgojIEBEYXRlOiAgIDIwMjItMDQtMTUgMjA6MjI6MDMKIyBARW1haWw6ICBmbTQ1M0BsdWtlZ3pzLmNvbQojIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGZtNDUzCiMgQExhc3QgbW9kaWZpZWQgdGltZTogMjAyNC0wNy0wOFQxNjowMjozMCswODowMAojIEBDb3B5cmlnaHQ6IHd3dy5oaWx1a2VyLmNuCi8v5bmz5Y+w55So5oi35YWl5Y+jCgkKCW5hbWVzcGFjZSBhcGlcY29udHJvbGxlcnNcZ21cdjE7CgkKCXVzZSBZaWk7Cgl1c2UgeWlpXHdlYlxDb250cm9sbGVyOwoJdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1VzZXJFeHQ7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1N0b3JlOwoJdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCQoJY2xhc3MgQ29tbW9uIGV4dGVuZHMgQ29udHJvbGxlcgoJewoJCXByb3RlY3RlZCBpbnQgJHBpZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkdXNlcl9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc3RvcmVfaWQgPSAwOwoJCXByb3RlY3RlZCBpbnQgJGVtcGxveWVlX2lkID0gMDsKCQlwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CgkJcHJvdGVjdGVkIGFycmF5ICRwb3N0ZGF0YSA9IFtdOyAgICAvL+mHjeaWsOaVtOeQhuS4gOS4i+WuouaIt+err+S8oOi+k+eahOaVsOaNrgoJCXByb3RlY3RlZCBib29sICRpbWdIdHRwID0gVFJVRTsgICAgLy/lm77niYfpmYTku7blnLDlnYDnlJ/miJBodHRwKHMpCS8vZmFsc2U65LiN55Sf5oiQaHR0cOe9keWdgO+8myB0cnVlOuS7heeUn+aIkGh0dHDnvZHlnYDvvJsgaHR0cHM655Sf5oiQaHR0cHPnvZHlnYAKCQlwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsgICAgLy/lvZPliY3mlbDmja7liIbpobUKCQlwcm90ZWN0ZWQgaW50ICRwYWdlU2l6ZSA9IDEwOyAgICAvL+m7mOiupOaVsOaNruWIhumhteWkp+WwjwoJCXB1YmxpYyAkZW5hYmxlQ3NyZlZhbGlkYXRpb24gPSBGQUxTRTsKCQkvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgkJcHJvdGVjdGVkIGludCAkdGltZXN0YW1wID0gVElNRVNUQU1QOwoJCQoJCS8v5pu/5Luj5bi46KeE55qEX2NvbnN0cnVjdCDmnpDmnoTlh73mlbDvvJvlhbbku5bmlrnms5XosIPnlKjliY3miafooYwKCQkKCQlwdWJsaWMgZnVuY3Rpb24gaW5pdCgpCgkJewoJCQlwYXJlbnQ6OmluaXQoKTsKCQkJLy/liKTmlq3or7fmsYLlhoXlrrnnsbvlnosgY29udGVudC10eXBlLOaUr+aMgSBqc29u6K+35rGCCgkJCSRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwoJCQkkaGVhZGVycyA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+aGVhZGVyczsKCQkJJGNvbnRlbnRUeXBlID0gJGhlYWRlcnMtPmdldCgnY29udGVudC10eXBlJyk7CgkJCWlmICgkY29udGVudFR5cGUgPT0gImFwcGxpY2F0aW9uL2pzb24iKSB7CgkJCQkkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgVFJVRSk7CgkJCX0KCQkJJHRoaXMtPnBvc3RkYXRhID0gJHBvc3RkYXRhOwoJCQkKCQkJJHNlc3Npb24gPSBZaWk6OiRhcHAtPnNlc3Npb247CgkJCWlmIChpc3NldCgkcG9zdGRhdGFbJ3BpZCddKSkgewoJCQkJaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXSA+IDApIHsKCQkJCQkkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwoJCQkJCSRzZXNzaW9uLT5zZXQoJ3BpZCcsICR0aGlzLT5waWQpOwoJCQkJfSBlbHNlIHsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJCX0KCQkJfSBlbHNlIGlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CgkJCQlpZiAoKGludCkkX0dFVFsncGlkJ10gPiAwKSB7CgkJCQkJJHRoaXMtPnBpZCA9ICRfR0VUWydwaWQnXTsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAkdGhpcy0+cGlkKTsKCQkJCX0gZWxzZSB7CgkJCQkJJHNlc3Npb24tPnNldCgncGlkJywgMCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJfQoJCQkKCQkJJHRoaXMtPnNpdGVfaWQgPSBZaWk6OiRhcHAtPnBhcmFtc1snc2l0ZUlkJ107CgkJCQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddID4gMCkgewoJCQkJJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CgkJCX0KCQkJaWYgKCR0aGlzLT51c2VyX2lkKSB7CgkJCQkkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKCQkJCSRyZXMgPSAkdXNlck1vZGVsLT5maW5kT25lKCR0aGlzLT51c2VyX2lkKTsKCQkJCWlmICghJHJlcykgewoJCQkJCSR0aGlzLT51c2VyX2lkID0gMDsKCQkJCX0gZWxzZSB7CgkJCQkJJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CgkJCQl9CgkJCQkvL1RCRCDlkI7mnJ/pnIDliqDkuIrmm7TlpJrnmbvpmYbpqozor4HpgLvovpEKCQkJfQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXSA+IDApIHsKCQkJCSR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwoJCQl9CgkJCQoJCQkkcGFnZSA9IGlzc2V0KCRwb3N0ZGF0YVsncGFnZSddKSA/IChpbnQpJHBvc3RkYXRhWydwYWdlJ10gOiAxOwoJCQkkdGhpcy0+cGFnZSA9ICRwYWdlIDw9IDAgPyAxIDogJHBhZ2U7CgkJCSRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwoJCQkkdGhpcy0+cGFnZVNpemUgPSAkcGFnZVNpemUgPD0gMCA/IDEwIDogJHBhZ2VTaXplOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gcmVzdWx0KCRtc2csICRkYXRhID0gTlVMTCwgJGNvZGUgPSAwKQoJCXsKCQkJJHJldHVybiA9IFtdOwoJCQkkcmV0dXJuWydjb2RlJ10gPSAkY29kZTsKCQkJJHJldHVyblsnbXNnJ10gPSAkbXNnOwoJCQlpZiAoJGRhdGEpIHsKCQkJCSRyZXR1cm5bJ2RhdGEnXSA9ICRkYXRhOwoJCQl9CgkJCWV4aXQoanNvbl9lbmNvZGUoJHJldHVybiwgSlNPTl9VTkVTQ0FQRURfVU5JQ09ERSkpOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gdXNlclRva2VuKCR1c2VyID0gW10sICRyZWZyZXNoID0gRkFMU0UsICRleHBpcmUgPSBOVUxMKQoJCXsKCQkJLy/nlJ/miJB0b2tlbu+8iOeUqOaIt+aVsOaNru+8jOaYr+WQpuW8uuWItuabtOaWsO+8jOi/h+acn+aXtumXtCAgLy8gICAgVEJEIOWFt+S9k+aWueazleacieW+heS8mOWMlgoJCQkkZXhwaXJlID0gJGV4cGlyZSA/ICRleHBpcmUgOiAnKzEgZGF5JzsKCQkJJHRva2VuID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ21lbWJlclRva2VuJyk7CgkJCSR0b2tlbkV4cGlyZWQgPSBZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgnbWVtYmVyVG9rZW5FeHBpcmVkJyk7CgkJCWlmICghJHRva2VuIHx8ICRyZWZyZXNoKSB7CgkJCQkkdG9rZW5FeHBpcmVkID0gc3RydG90aW1lKCRleHBpcmUpICogMTAwMDsKCQkJCSR0b2tlbiA9IG1kNSgndXNlcm5hbWU9JyAuICR1c2VyWyd1c2VybmFtZSddIC4gJyZtb2JpbGU9JyAuICR1c2VyWydtb2JpbGUnXSAuICcmdGltZT0nIC4gJHRva2VuRXhwaXJlZCk7CgkJCQlZaWk6OiRhcHAtPnNlc3Npb24tPnNldCgnbWVtYmVyVG9rZW4nLCAkdG9rZW4pOwoJCQkJWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ21lbWJlclRva2VuRXhwaXJlZCcsICR0b2tlbkV4cGlyZWQpOwoJCQl9CgkJCSR1c2VyWyd0b2tlbiddID0gJHRva2VuOwoJCQkkdXNlclsndG9rZW5FeHBpcmVkJ10gPSAkdG9rZW5FeHBpcmVkOwoJCQlyZXR1cm4gJHVzZXI7CgkJfQoJfQoAAAAAAAAAAA8OAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/"
],
[
2,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAABBDwAAPD9waHAKLyoqCiAqIEBBdXRob3I6IOWXqOWZnOWuoijkuInkupopPGZtNDUzPgogKiBARGF0ZTogMjAyNS0wNC0xMCAyMzoxOToxMwogKiBARmlsZVBhdGg6IGN0bXMtYXBpL2NvbnRyb2xsZXJzL2dtL3YxL0NvbW1vbi5waHAKICogQEVtYWlsOiAgMzkzMjEzNzU5QHFxLmNvbQogKiBDb3B5cmlnaHQgKGMpIDIwMjUgYnkgd3d3LmhpbHVrZXIuY24sIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIAogKi8KCi8v5bmz5Y+w55So5oi35YWl5Y+jCgkKCW5hbWVzcGFjZSBhcGlcY29udHJvbGxlcnNcZ21cdjE7CgkKCXVzZSBZaWk7Cgl1c2UgeWlpXHdlYlxDb250cm9sbGVyOwoJdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1VzZXJFeHQ7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1N0b3JlOwoJdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCQoJY2xhc3MgQ29tbW9uIGV4dGVuZHMgQ29udHJvbGxlcgoJewoJCXByb3RlY3RlZCBpbnQgJHBpZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkdXNlcl9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc3RvcmVfaWQgPSAwOwoJCXByb3RlY3RlZCBpbnQgJGVtcGxveWVlX2lkID0gMDsKCQlwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CgkJcHJvdGVjdGVkIGFycmF5ICRwb3N0ZGF0YSA9IFtdOyAgICAvL+mHjeaWsOaVtOeQhuS4gOS4i+WuouaIt+err+S8oOi+k+eahOaVsOaNrgoJCXByb3RlY3RlZCBib29sICRpbWdIdHRwID0gVFJVRTsgICAgLy/lm77niYfpmYTku7blnLDlnYDnlJ/miJBodHRwKHMpCS8vZmFsc2U65LiN55Sf5oiQaHR0cOe9keWdgO+8myB0cnVlOuS7heeUn+aIkGh0dHDnvZHlnYDvvJsgaHR0cHM655Sf5oiQaHR0cHPnvZHlnYAKCQlwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsgICAgLy/lvZPliY3mlbDmja7liIbpobUKCQlwcm90ZWN0ZWQgaW50ICRwYWdlU2l6ZSA9IDEwOyAgICAvL+m7mOiupOaVsOaNruWIhumhteWkp+WwjwoJCXB1YmxpYyAkZW5hYmxlQ3NyZlZhbGlkYXRpb24gPSBGQUxTRTsKCQkvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgkJcHJvdGVjdGVkIGludCAkdGltZXN0YW1wID0gVElNRVNUQU1QOwoJCQoJCS8v5pu/5Luj5bi46KeE55qEX2NvbnN0cnVjdCDmnpDmnoTlh73mlbDvvJvlhbbku5bmlrnms5XosIPnlKjliY3miafooYwKCQkKCQlwdWJsaWMgZnVuY3Rpb24gaW5pdCgpCgkJewoJCQlwYXJlbnQ6OmluaXQoKTsKCQkJLy/liKTmlq3or7fmsYLlhoXlrrnnsbvlnosgY29udGVudC10eXBlLOaUr+aMgSBqc29u6K+35rGCCgkJCSRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwoJCQkkaGVhZGVycyA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+aGVhZGVyczsKCQkJJGNvbnRlbnRUeXBlID0gJGhlYWRlcnMtPmdldCgnY29udGVudC10eXBlJyk7CgkJCWlmICgkY29udGVudFR5cGUgPT0gImFwcGxpY2F0aW9uL2pzb24iKSB7CgkJCQkkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgVFJVRSk7CgkJCX0KCQkJJHRoaXMtPnBvc3RkYXRhID0gJHBvc3RkYXRhOwoJCQkKCQkJJHNlc3Npb24gPSBZaWk6OiRhcHAtPnNlc3Npb247CgkJCWlmIChpc3NldCgkcG9zdGRhdGFbJ3BpZCddKSkgewoJCQkJaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXSA+IDApIHsKCQkJCQkkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwoJCQkJCSRzZXNzaW9uLT5zZXQoJ3BpZCcsICR0aGlzLT5waWQpOwoJCQkJfSBlbHNlIHsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJCX0KCQkJfSBlbHNlIGlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CgkJCQlpZiAoKGludCkkX0dFVFsncGlkJ10gPiAwKSB7CgkJCQkJJHRoaXMtPnBpZCA9ICRfR0VUWydwaWQnXTsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAkdGhpcy0+cGlkKTsKCQkJCX0gZWxzZSB7CgkJCQkJJHNlc3Npb24tPnNldCgncGlkJywgMCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJfQoJCQkKCQkJJHRoaXMtPnNpdGVfaWQgPSBZaWk6OiRhcHAtPnBhcmFtc1snc2l0ZUlkJ107CgkJCQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddID4gMCkgewoJCQkJJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CgkJCX0KCQkJaWYgKCR0aGlzLT51c2VyX2lkKSB7CgkJCQkkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKCQkJCSRyZXMgPSAkdXNlck1vZGVsLT5maW5kT25lKCR0aGlzLT51c2VyX2lkKTsKCQkJCWlmICghJHJlcykgewoJCQkJCSR0aGlzLT51c2VyX2lkID0gMDsKCQkJCX0gZWxzZSB7CgkJCQkJJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CgkJCQl9CgkJCQkvL1RCRCDlkI7mnJ/pnIDliqDkuIrmm7TlpJrnmbvpmYbpqozor4HpgLvovpEKCQkJfQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXSA+IDApIHsKCQkJCSR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwoJCQl9CgkJCQoJCQkkcGFnZSA9IGlzc2V0KCRwb3N0ZGF0YVsncGFnZSddKSA/IChpbnQpJHBvc3RkYXRhWydwYWdlJ10gOiAxOwoJCQkkdGhpcy0+cGFnZSA9ICRwYWdlIDw9IDAgPyAxIDogJHBhZ2U7CgkJCSRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwoJCQkkdGhpcy0+cGFnZVNpemUgPSAkcGFnZVNpemUgPD0gMCA/IDEwIDogJHBhZ2VTaXplOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gcmVzdWx0KCRtc2csICRkYXRhID0gTlVMTCwgJGNvZGUgPSAwKQoJCXsKCQkJJHJldHVybiA9IFtdOwoJCQkkcmV0dXJuWydjb2RlJ10gPSAkY29kZTsKCQkJJHJldHVyblsnbXNnJ10gPSAkbXNnOwoJCQlpZiAoJGRhdGEpIHsKCQkJCSRyZXR1cm5bJ2RhdGEnXSA9ICRkYXRhOwoJCQl9CgkJCWV4aXQoanNvbl9lbmNvZGUoJHJldHVybiwgSlNPTl9VTkVTQ0FQRURfVU5JQ09ERSkpOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gdXNlclRva2VuKCR1c2VyID0gW10sICRyZWZyZXNoID0gRkFMU0UsICRleHBpcmUgPSBOVUxMKQoJCXsKCQkJLy/nlJ/miJB0b2tlbu+8iOeUqOaIt+aVsOaNru+8jOaYr+WQpuW8uuWItuabtOaWsO+8jOi/h+acn+aXtumXtCAgLy8gICAgVEJEIOWFt+S9k+aWueazleacieW+heS8mOWMlgoJCQkkZXhwaXJlID0gJGV4cGlyZSA/ICRleHBpcmUgOiAnKzEgZGF5JzsKCQkJJHRva2VuID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ21lbWJlclRva2VuJyk7CgkJCSR0b2tlbkV4cGlyZWQgPSBZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgnbWVtYmVyVG9rZW5FeHBpcmVkJyk7CgkJCWlmICghJHRva2VuIHx8ICRyZWZyZXNoKSB7CgkJCQkkdG9rZW5FeHBpcmVkID0gc3RydG90aW1lKCRleHBpcmUpICogMTAwMDsKCQkJCSR0b2tlbiA9IG1kNSgndXNlcm5hbWU9JyAuICR1c2VyWyd1c2VybmFtZSddIC4gJyZtb2JpbGU9JyAuICR1c2VyWydtb2JpbGUnXSAuICcmdGltZT0nIC4gJHRva2VuRXhwaXJlZCk7CgkJCQlZaWk6OiRhcHAtPnNlc3Npb24tPnNldCgnbWVtYmVyVG9rZW4nLCAkdG9rZW4pOwoJCQkJWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ21lbWJlclRva2VuRXhwaXJlZCcsICR0b2tlbkV4cGlyZWQpOwoJCQl9CgkJCSR1c2VyWyd0b2tlbiddID0gJHRva2VuOwoJCQkkdXNlclsndG9rZW5FeHBpcmVkJ10gPSAkdG9rZW5FeHBpcmVkOwoJCQlyZXR1cm4gJHVzZXI7CgkJfQoJfQoAAAAAAAAAAA0OAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/"
],
[
3,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAAA/DwAAPD9waHAKLyoqCiAqIEBBdXRob3I6IOWXqOWZnOWuoijkuInkupopPGZtNDUzPgogKiBARGF0ZTogMjAyNS0wNC0xMCAyMzoxOToxMwogKiBARmlsZVBhdGg6IGN0bXMtYXBpL2NvbnRyb2xsZXJzL2dtL3YxL0NvbW1vbi5waHAKICogQEVtYWlsOiAgMzkzMjEzNzU5QHFxLmNvbQogKiBDb3B5cmlnaHQgKGMpIDIwMjUgYnkgd3d3LmhpbHVrZXIuY24sIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIAogKi8KCi8v5bmz5Y+w55So5oi35YWl5Y+jCgkKCW5hbWVzcGFjZSBhcGlcY29udHJvbGxlcnNcZ21cdjE7CgkKCXVzZSBZaWk7Cgl1c2UgeWlpXHdlYlxDb250cm9sbGVyOwoJdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1VzZXJFeHQ7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1N0b3JlOwoJdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCQoJY2xhc3MgQ29tbW9uIGV4dGVuZHMgQ29udHJvbGxlcgoJewoJCXByb3RlY3RlZCBpbnQgJHBpZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkdXNlcl9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc3RvcmVfaWQgPSAwOwoJCXByb3RlY3RlZCBpbnQgJGVtcGxveWVlX2lkID0gMDsKCQlwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CgkJcHJvdGVjdGVkIGFycmF5ICRwb3N0ZGF0YSA9IFtdOyAgICAvL+mHjeaWsOaVtOeQhuS4gOS4i+WuouaIt+err+S8oOi+k+eahOaVsOaNrgoJCXByb3RlY3RlZCBib29sICRpbWdIdHRwID0gVFJVRTsgICAgLy/lm77niYfpmYTku7blnLDlnYDnlJ/miJBodHRwKHMpCS8vZmFsc2U65LiN55Sf5oiQaHR0cOe9keWdgO+8myB0cnVlOuS7heeUn+aIkGh0dHDnvZHlnYDvvJsgaHR0cHM655Sf5oiQaHR0cHPnvZHlnYAKCQlwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsgICAgLy/lvZPliY3mlbDmja7liIbpobUKCQlwcm90ZWN0ZWQgaW50ICRwYWdlU2l6ZSA9IDEwOyAgICAvL+m7mOiupOaVsOaNruWIhumhteWkp+WwjwoJCXB1YmxpYyAkZW5hYmxlQ3NyZlZhbGlkYXRpb24gPSBGQUxTRTsKCQkvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgkJcHJvdGVjdGVkIGludCAkdGltZXN0YW1wID0gVElNRVNUQU1QOwoJCQoJCS8v5pu/5Luj5bi46KeE55qEX2NvbnN0cnVjdCDmnpDmnoTlh73mlbDvvJvlhbbku5bmlrnms5XosIPnlKjliY3miafooYwKCQkKCQlwdWJsaWMgZnVuY3Rpb24gaW5pdCgpCgkJewoJCQlwYXJlbnQ6OmluaXQoKTsKCQkJLy/liKTmlq3or7fmsYLlhoXlrrnnsbvlnosgY29udGVudC10eXBlLOaUr+aMgSBqc29u6K+35rGCCgkJCSRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwoJCQkkaGVhZGVycyA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+aGVhZGVyczsKCQkJJGNvbnRlbnRUeXBlID0gJGhlYWRlcnMtPmdldCgnY29udGVudC10eXBlJyk7CgkJCWlmICgkY29udGVudFR5cGUgPT0gImFwcGxpY2F0aW9uL2pzb24iKSB7CgkJCQkkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgVFJVRSk7CgkJCX0KCQkJJHRoaXMtPnBvc3RkYXRhID0gJHBvc3RkYXRhOwoJCQkKCQkJJHNlc3Npb24gPSBZaWk6OiRhcHAtPnNlc3Npb247CgkJCWlmIChpc3NldCgkcG9zdGRhdGFbJ3BpZCddKSkgewoJCQkJaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXSA+IDApIHsKCQkJCQkkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwoJCQkJCSRzZXNzaW9uLT5zZXQoJ3BpZCcsICR0aGlzLT5waWQpOwoJCQkJfSBlbHNlIHsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJCX0KCQkJfSBlbHNlIGlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CgkJCQlpZiAoKGludCkkX0dFVFsncGlkJ10gPiAwKSB7CgkJCQkJJHRoaXMtPnBpZCA9ICRfR0VUWydwaWQnXTsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAkdGhpcy0+cGlkKTsKCQkJCX0gZWxzZSB7CgkJCQkJJHNlc3Npb24tPnNldCgncGlkJywgMCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJfQoJCQkKCQkJJHRoaXMtPnNpdGVfaWQgPSBZaWk6OiRhcHAtPnBhcmFtc1snc2l0ZUlkJ107CgkJCQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddID4gMCkgewoJCQkJJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CgkJCX0KCQkJaWYgKCR0aGlzLT51c2VyX2lkKSB7CgkJCQkkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKCQkJCSRyZXMgPSAkdXNlck1vZGVsLT5maW5kT25lKCR0aGlzLT51c2VyX2lkKTsKCQkJCWlmICghJHJlcykgewoJCQkJCSR0aGlzLT51c2VyX2lkID0gMDsKCQkJCX0gZWxzZSB7CgkJCQkJJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CgkJCQl9CgkJCQkvL1RCRCDlkI7mnJ/pnIDliqDkuIrmm7TlpJrnmbvpmYbpqozor4HpgLvovpEKCQkJfQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXSA+IDApIHsKCQkJCSR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwoJCQl9CgkJCQoJCQkkcGFnZSA9IGlzc2V0KCRwb3N0ZGF0YVsncGFnZSddKSA/IChpbnQpJHBvc3RkYXRhWydwYWdlJ10gOiAxOwoJCQkkdGhpcy0+cGFnZSA9ICRwYWdlIDw9IDAgPyAxIDogJHBhZ2U7CgkJCSRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwoJCQkkdGhpcy0+cGFnZVNpemUgPSAkcGFnZVNpemUgPD0gMCA/IDEwIDogJHBhZ2VTaXplOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gcmVzdWx0KCRtc2csICRkYXRhID0gW10sICRjb2RlID0gMCkKCQl7CgkJCSRyZXR1cm4gPSBbXTsKCQkJJHJldHVyblsnY29kZSddID0gJGNvZGU7CgkJCSRyZXR1cm5bJ21zZyddID0gJG1zZzsKCQkJaWYgKCRkYXRhKSB7CgkJCQkkcmV0dXJuWydkYXRhJ10gPSAkZGF0YTsKCQkJfQoJCQlleGl0KGpzb25fZW5jb2RlKCRyZXR1cm4sIEpTT05fVU5FU0NBUEVEX1VOSUNPREUpKTsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIHVzZXJUb2tlbigkdXNlciA9IFtdLCAkcmVmcmVzaCA9IEZBTFNFLCAkZXhwaXJlID0gTlVMTCkKCQl7CgkJCS8v55Sf5oiQdG9rZW7vvIjnlKjmiLfmlbDmja7vvIzmmK/lkKblvLrliLbmm7TmlrDvvIzov4fmnJ/ml7bpl7QgIC8vICAgIFRCRCDlhbfkvZPmlrnms5XmnInlvoXkvJjljJYKCQkJJGV4cGlyZSA9ICRleHBpcmUgPyAkZXhwaXJlIDogJysxIGRheSc7CgkJCSR0b2tlbiA9IFlpaTo6JGFwcC0+c2Vzc2lvbi0+Z2V0KCdtZW1iZXJUb2tlbicpOwoJCQkkdG9rZW5FeHBpcmVkID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ21lbWJlclRva2VuRXhwaXJlZCcpOwoJCQlpZiAoISR0b2tlbiB8fCAkcmVmcmVzaCkgewoJCQkJJHRva2VuRXhwaXJlZCA9IHN0cnRvdGltZSgkZXhwaXJlKSAqIDEwMDA7CgkJCQkkdG9rZW4gPSBtZDUoJ3VzZXJuYW1lPScgLiAkdXNlclsndXNlcm5hbWUnXSAuICcmbW9iaWxlPScgLiAkdXNlclsnbW9iaWxlJ10gLiAnJnRpbWU9JyAuICR0b2tlbkV4cGlyZWQpOwoJCQkJWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ21lbWJlclRva2VuJywgJHRva2VuKTsKCQkJCVlpaTo6JGFwcC0+c2Vzc2lvbi0+c2V0KCdtZW1iZXJUb2tlbkV4cGlyZWQnLCAkdG9rZW5FeHBpcmVkKTsKCQkJfQoJCQkkdXNlclsndG9rZW4nXSA9ICR0b2tlbjsKCQkJJHVzZXJbJ3Rva2VuRXhwaXJlZCddID0gJHRva2VuRXhwaXJlZDsKCQkJcmV0dXJuICR1c2VyOwoJCX0KCX0KAAAAAAAAAADnDgAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/"
],
[
4,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAABVEAAAPD9waHAKLyoqCiAqIEBBdXRob3I6IOWXqOWZnOWuoijkuInkupopPGZtNDUzPgogKiBARGF0ZTogMjAyNS0wNC0xMCAyMzoxOToxMwogKiBARmlsZVBhdGg6IGN0bXMtYXBpL2NvbnRyb2xsZXJzL2dtL3YxL0NvbW1vbi5waHAKICogQEVtYWlsOiAgMzkzMjEzNzU5QHFxLmNvbQogKiBDb3B5cmlnaHQgKGMpIDIwMjUgYnkgd3d3LmhpbHVrZXIuY24sIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIAogKi8KCi8v5bmz5Y+w55So5oi35YWl5Y+jCgkKCW5hbWVzcGFjZSBhcGlcY29udHJvbGxlcnNcZ21cdjE7CgkKCXVzZSBZaWk7Cgl1c2UgeWlpXHdlYlxDb250cm9sbGVyOwoJdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1VzZXJFeHQ7Cgl1c2UgYWRkb25zXG1vZGVsc1xBY1N0b3JlOwoJdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCQoJY2xhc3MgQ29tbW9uIGV4dGVuZHMgQ29udHJvbGxlcgoJewoJCXByb3RlY3RlZCBpbnQgJHBpZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkdXNlcl9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CgkJcHJvdGVjdGVkIGludCAkc3RvcmVfaWQgPSAwOwoJCXByb3RlY3RlZCBpbnQgJGVtcGxveWVlX2lkID0gMDsKCQlwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CgkJcHJvdGVjdGVkIGFycmF5ICRwb3N0ZGF0YSA9IFtdOyAgICAvL+mHjeaWsOaVtOeQhuS4gOS4i+WuouaIt+err+S8oOi+k+eahOaVsOaNrgoJCXByb3RlY3RlZCBib29sICRpbWdIdHRwID0gVFJVRTsgICAgLy/lm77niYfpmYTku7blnLDlnYDnlJ/miJBodHRwKHMpCS8vZmFsc2U65LiN55Sf5oiQaHR0cOe9keWdgO+8myB0cnVlOuS7heeUn+aIkGh0dHDnvZHlnYDvvJsgaHR0cHM655Sf5oiQaHR0cHPnvZHlnYAKCQlwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsgICAgLy/lvZPliY3mlbDmja7liIbpobUKCQlwcm90ZWN0ZWQgaW50ICRwYWdlU2l6ZSA9IDEwOyAgICAvL+m7mOiupOaVsOaNruWIhumhteWkp+WwjwoJCXB1YmxpYyAkZW5hYmxlQ3NyZlZhbGlkYXRpb24gPSBGQUxTRTsKCQkvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgkJcHJvdGVjdGVkIGludCAkdGltZXN0YW1wID0gVElNRVNUQU1QOwoJCQoJCS8v5pu/5Luj5bi46KeE55qEX2NvbnN0cnVjdCDmnpDmnoTlh73mlbDvvJvlhbbku5bmlrnms5XosIPnlKjliY3miafooYwKCQkKCQlwdWJsaWMgZnVuY3Rpb24gaW5pdCgpCgkJewoJCQlwYXJlbnQ6OmluaXQoKTsKCQkJLy/liKTmlq3or7fmsYLlhoXlrrnnsbvlnosgY29udGVudC10eXBlLOaUr+aMgSBqc29u6K+35rGCCgkJCSRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwoJCQkkaGVhZGVycyA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+aGVhZGVyczsKCQkJJGNvbnRlbnRUeXBlID0gJGhlYWRlcnMtPmdldCgnY29udGVudC10eXBlJyk7CgkJCWlmICgkY29udGVudFR5cGUgPT0gImFwcGxpY2F0aW9uL2pzb24iKSB7CgkJCQkkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgVFJVRSk7CgkJCX0KCQkJJHRoaXMtPnBvc3RkYXRhID0gJHBvc3RkYXRhOwoJCQkKCQkJJHNlc3Npb24gPSBZaWk6OiRhcHAtPnNlc3Npb247CgkJCWlmIChpc3NldCgkcG9zdGRhdGFbJ3BpZCddKSkgewoJCQkJaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXSA+IDApIHsKCQkJCQkkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwoJCQkJCSRzZXNzaW9uLT5zZXQoJ3BpZCcsICR0aGlzLT5waWQpOwoJCQkJfSBlbHNlIHsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJCX0KCQkJfSBlbHNlIGlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CgkJCQlpZiAoKGludCkkX0dFVFsncGlkJ10gPiAwKSB7CgkJCQkJJHRoaXMtPnBpZCA9ICRfR0VUWydwaWQnXTsKCQkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAkdGhpcy0+cGlkKTsKCQkJCX0gZWxzZSB7CgkJCQkJJHNlc3Npb24tPnNldCgncGlkJywgMCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKCQkJfQoJCQkKCQkJJHRoaXMtPnNpdGVfaWQgPSBZaWk6OiRhcHAtPnBhcmFtc1snc2l0ZUlkJ107CgkJCQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddID4gMCkgewoJCQkJJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CgkJCX0KCQkJaWYgKCR0aGlzLT51c2VyX2lkKSB7CgkJCQkkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKCQkJCSRyZXMgPSAkdXNlck1vZGVsLT5maW5kT25lKCR0aGlzLT51c2VyX2lkKTsKCQkJCWlmICghJHJlcykgewoJCQkJCSR0aGlzLT51c2VyX2lkID0gMDsKCQkJCX0gZWxzZSB7CgkJCQkJJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CgkJCQl9CgkJCQkvL1RCRCDlkI7mnJ/pnIDliqDkuIrmm7TlpJrnmbvpmYbpqozor4HpgLvovpEKCQkJfQoJCQlpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXSA+IDApIHsKCQkJCSR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwoJCQl9CgkJCQoJCQkkcGFnZSA9IGlzc2V0KCRwb3N0ZGF0YVsncGFnZSddKSA/IChpbnQpJHBvc3RkYXRhWydwYWdlJ10gOiAxOwoJCQkkdGhpcy0+cGFnZSA9ICRwYWdlIDw9IDAgPyAxIDogJHBhZ2U7CgkJCSRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwoJCQkkdGhpcy0+cGFnZVNpemUgPSAkcGFnZVNpemUgPD0gMCA/IDEwIDogJHBhZ2VTaXplOwoJCX0KCQkKCQlwdWJsaWMgZnVuY3Rpb24gcmVzdWx0KCRtc2csICRkYXRhID0gW10sICRjb2RlID0gMCkKCQl7CgkJCSRyZXR1cm4gPSBbXTsKCQkJJHJldHVyblsnY29kZSddID0gJGNvZGU7CgkJCSRyZXR1cm5bJ21zZyddID0gJG1zZzsKCQkJaWYgKCRkYXRhKSB7CgkJCQkkcmV0dXJuWydkYXRhJ10gPSAkZGF0YTsKCQkJfQoJCQlleGl0KGpzb25fZW5jb2RlKCRyZXR1cm4sIEpTT05fVU5FU0NBUEVEX1VOSUNPREUpKTsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIHVzZXJUb2tlbigkdXNlciA9IFtdLCAkcmVmcmVzaCA9IEZBTFNFLCAkZXhwaXJlID0gTlVMTCkKCQl7CgkJCS8v55Sf5oiQdG9rZW7vvIjnlKjmiLfmlbDmja7vvIzmmK/lkKblvLrliLbmm7TmlrDvvIzov4fmnJ/ml7bpl7QgIC8vICAgIFRCRCDlhbfkvZPmlrnms5XmnInlvoXkvJjljJYKCQkJJGV4cGlyZSA9ICRleHBpcmUgPyAkZXhwaXJlIDogJysxIGRheSc7CgkJCSR0b2tlbiA9IFlpaTo6JGFwcC0+c2Vzc2lvbi0+Z2V0KCdtZW1iZXJUb2tlbicpOwoJCQkkdG9rZW5FeHBpcmVkID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ21lbWJlclRva2VuRXhwaXJlZCcpOwoJCQlpZiAoISR0b2tlbiB8fCAkcmVmcmVzaCkgewoJCQkJJHRva2VuRXhwaXJlZCA9IHN0cnRvdGltZSgkZXhwaXJlKSAqIDEwMDA7CgkJCQkkdG9rZW4gPSBtZDUoJ3VzZXJuYW1lPScgLiAkdXNlclsndXNlcm5hbWUnXSAuICcmbW9iaWxlPScgLiAkdXNlclsnbW9iaWxlJ10gLiAnJnRpbWU9JyAuICR0b2tlbkV4cGlyZWQpOwoJCQkJWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ21lbWJlclRva2VuJywgJHRva2VuKTsKCQkJCVlpaTo6JGFwcC0+c2Vzc2lvbi0+c2V0KCdtZW1iZXJUb2tlbkV4cGlyZWQnLCAkdG9rZW5FeHBpcmVkKTsKCQkJfQoJCQkkdXNlclsndG9rZW4nXSA9ICR0b2tlbjsKCQkJJHVzZXJbJ3Rva2VuRXhwaXJlZCddID0gJHRva2VuRXhwaXJlZDsKCQkJcmV0dXJuICR1c2VyOwoJCX0KCQkKCQkvKueUqOaIt+adg+mZkOiOt+WPluWIpOaWrQoJCUB1c2VyIOeUqOaIt+S/oeaBr++8iG1vZGVs5Y6f5Z6L77yJCgkJQGF1dGgg6KaB5o6I5p2D55qE6KGM5Li65Yqo5L2cCgkJQGRhdGEg6KaB5pON5L2c55qE5pWw5o2uCgkJKi8KCQlwdWJsaWMgZnVuY3Rpb24gdXNlclByaXZpbGVnZSgkdXNlciwkYXV0aCwkZGF0YSkKCQl7CgkJCXN3aXRjaCAoJGF1dGgpIHsKCQkJCWNhc2UgJ29yZGVyUHJlRWRpdCc6CgkJCQkJCgkJCQkJYnJlYWs7CgkJCX0KCQkJcmV0dXJuIHRydWU7CgkJfQoJfQoAAAAAAAAAAHIVAAAAAAAAAAAAAA",
"AQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/"
]
]
},
{
"file": "ctms-admin/controllers/SiteController.php",
"settings":
{
"buffer_size": 3070,
"encoding": "UTF-8",
"line_ending": "Unix"
},
"undo_stack":
[
[
3,
1,
"toggle_comment",
{
"block": false
},
"AQAAAJMKAAAAAAAAlgoAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAKYKAAAAAAAApgoAAAAAAAAAAAAAAADwvw"
],
[
4,
1,
"add_file_header",
{
"path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/SiteController.php"
},
"AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAKkKAAAAAAAAqQoAAAAAAAAAAAAAAADwvw"
],
[
5,
1,
"toggle_comment",
{
"block": false
},
"AQAAAJMKAAAAAAAAkwoAAAAAAAADAAAALy8g",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAKkKAAAAAAAAqQoAAAAAAAAAAAAAAADwvw"
],
[
6,
1,
"add_file_header",
{
"path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/SiteController.php"
},
"AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAKYKAAAAAAAApgoAAAAAAAAAAAAAAADwvw"
],
[
9,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAABQDAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDE4LTA0LTIzIDE0OjI5OjU2CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTEgMDc6NTI6MDYKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXGNvbnRyb2xsZXJzOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIHlpaVxmaWx0ZXJzXFZlcmJGaWx0ZXI7CnVzZSB5aWlcZmlsdGVyc1xBY2Nlc3NDb250cm9sOwp1c2UgYmFja2VuZFxtb2RlbHNcTG9naW5Gb3JtOwp1c2UgYmFja2VuZFxtb2RlbHNcTWVudTsKCnVzZSBiYWNrZW5kXGNvbXBvbmVudHNcSGVscGVyOwoKLyoqCiAqIFNpdGUgY29udHJvbGxlcgogKi8KY2xhc3MgU2l0ZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJlaGF2aW9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2FjY2VzcycgPT4gWwogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiBBY2Nlc3NDb250cm9sOjpjbGFzc05hbWUoKSwKICAgICAgICAgICAgICAgICdydWxlcycgPT4gWwogICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbnMnID0+IFsnbG9naW4nLCAnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWydsb2dvdXQnLCAnaW5kZXgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncm9sZXMnID0+IFsnQCddLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndmVyYnMnID0+IFsKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gVmVyYkZpbHRlcjo6Y2xhc3NOYW1lKCksCiAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWwogICAgICAgICAgICAgICAgICAgICdsb2dvdXQnID0+IFsnZ2V0J10sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2Vycm9yJyA9PiBbCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICd5aWlcd2ViXEVycm9yQWN0aW9uJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJHVzZXJfaWQ9WWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+Z2V0SWQoKTsKICAgICAgICAkdXNlcl9pbmZvID0gWWlpOjokYXBwLT5hdXRoTWFuYWdlci0+Z2V0Um9sZXNCeVVzZXIoJHVzZXJfaWQpOwogICAgICAgICRyb2xlVHlwZSA9IGtleSgkdXNlcl9pbmZvKTsKICAgICAgICAkbWVudSA9IGFycmF5KCk7CiAgICAgICAgLy8gJG1lbnUyID0gbmV3IE1lbnUoKTsKICAgICAgICAvLyAkbWVudTIgPSAkbWVudTItPmdldExlZnRNZW51TGlzdCgpOwogICAgICAgIC8vIHByaW50X3IoJG1lbnUyWycyJ10pO2RpZTsKICAgICAgICBpZihpc3NldCgkX0dFVFsnZGVidWcnXSkgJiYgJF9HRVRbJ2RlYnVnJ10pewogICAgICAgICAgICBpZihpbl9hcnJheSgkcm9sZVR5cGUsWyfnq5nplb8nLCfotoXnuqfnrqHnkIblkZgnXSkpeyAgICAvL+WPquacieWcqOS7peermemVv+aIlui2hee6p+euoeeQhuWRmOi6q+S7veaJi+WKqOW8gOWQr+iwg+ivleaooeW8j++8jOaJjeWPr+S7peS9v+eUqOeuoeeQhuadg+mZkOiPnOWNlQogICAgICAgICAgICAgICAgJG1lbnUgPSB5aWlcaGVscGVyc1xBcnJheUhlbHBlcjo6bWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZShZaWk6OmdldEFsaWFzKCdAYmFja2VuZCcpLicvbWVudXMvJy4nMC5waHAnKSwKICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLidhZG1pbi5waHAnKQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkbWVudSA9IHJlcXVpcmUoWWlpOjpnZXRBbGlhcygnQGJhY2tlbmQnKS4nL21lbnVzLycuJzAucGhwJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJG1lbnUgPSByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLicwLnBocCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2luZGV4JyxbCiAgICAgICAgICAgICdtZW51JyA9PiAkbWVudSwKICAgICAgICAgICAgJ3VzZXJfaW5mbycgPT4gJHJvbGVUeXBlCiAgICAgICAgXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoIVlpaTo6JGFwcC0+dXNlci0+aXNHdWVzdCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdvSG9tZSgpOwogICAgICAgIH0KCiAgICAgICAgJG1vZGVsID0gbmV3IExvZ2luRm9ybSgpOwogICAgICAgIGlmICgkbW9kZWwtPmxvYWQoWWlpOjokYXBwLT5yZXF1ZXN0LT5wb3N0KCkpICYmICRtb2RlbC0+bG9naW4oKSkgewogICAgICAgICAgICAkbW9kZWwtPmxvZ2luTG9nKCk7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z29CYWNrKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2xvZ2luJywgWwogICAgICAgICAgICAgICAgJ21vZGVsJyA9PiAkbW9kZWwsCiAgICAgICAgICAgIF0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTG9nb3V0KCkKICAgIHsKICAgICAgICBZaWk6OiRhcHAtPnVzZXItPmxvZ291dCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z29Ib21lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkVycm9yKCRlKXsKICAgICAgICBlY2hvICRlOwogICAgfQoKfQoAAAAAAAAAABwMAAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAABkKAAAAAAAAGQoAAAAAAAAAAAAAAADwvw"
],
[
10,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAABuDAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDE4LTA0LTIzIDE0OjI5OjU2CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTEgMDc6NTI6MDYKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXGNvbnRyb2xsZXJzOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIHlpaVxmaWx0ZXJzXFZlcmJGaWx0ZXI7CnVzZSB5aWlcZmlsdGVyc1xBY2Nlc3NDb250cm9sOwp1c2UgYmFja2VuZFxtb2RlbHNcTG9naW5Gb3JtOwp1c2UgYmFja2VuZFxtb2RlbHNcTWVudTsKCnVzZSBiYWNrZW5kXGNvbXBvbmVudHNcSGVscGVyOwoKLyoqCiAqIFNpdGUgY29udHJvbGxlcgogKi8KY2xhc3MgU2l0ZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJlaGF2aW9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2FjY2VzcycgPT4gWwogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiBBY2Nlc3NDb250cm9sOjpjbGFzc05hbWUoKSwKICAgICAgICAgICAgICAgICdydWxlcycgPT4gWwogICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbnMnID0+IFsnbG9naW4nLCAnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWydsb2dvdXQnLCAnaW5kZXgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncm9sZXMnID0+IFsnQCddLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndmVyYnMnID0+IFsKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gVmVyYkZpbHRlcjo6Y2xhc3NOYW1lKCksCiAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWwogICAgICAgICAgICAgICAgICAgICdsb2dvdXQnID0+IFsnZ2V0J10sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2Vycm9yJyA9PiBbCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICd5aWlcd2ViXEVycm9yQWN0aW9uJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJHVzZXJfaWQ9WWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+Z2V0SWQoKTsKICAgICAgICAkdXNlcl9pbmZvID0gWWlpOjokYXBwLT5hdXRoTWFuYWdlci0+Z2V0Um9sZXNCeVVzZXIoJHVzZXJfaWQpOwogICAgICAgICRyb2xlVHlwZSA9IGtleSgkdXNlcl9pbmZvKTsKICAgICAgICAkbWVudSA9IGFycmF5KCk7CiAgICAgICAgLy8gJG1lbnUyID0gbmV3IE1lbnUoKTsKICAgICAgICAvLyAkbWVudTIgPSAkbWVudTItPmdldExlZnRNZW51TGlzdCgpOwogICAgICAgIC8vIHByaW50X3IoJG1lbnUyWycyJ10pO2RpZTsKICAgICAgICBpZihpc3NldCgkX0dFVFsnZGVidWcnXSkgJiYgJF9HRVRbJ2RlYnVnJ10pewogICAgICAgICAgICBpZihpbl9hcnJheSgkcm9sZVR5cGUsWyfnq5nplb8nLCfotoXnuqfnrqHnkIblkZgnXSkpeyAgICAvL+WPquacieWcqOS7peermemVv+aIlui2hee6p+euoeeQhuWRmOi6q+S7veaJi+WKqOW8gOWQr+iwg+ivleaooeW8j++8jOaJjeWPr+S7peS9v+eUqOeuoeeQhuadg+mZkOiPnOWNlQogICAgICAgICAgICAgICAgJG1lbnUgPSB5aWlcaGVscGVyc1xBcnJheUhlbHBlcjo6bWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZShZaWk6OmdldEFsaWFzKCdAYmFja2VuZCcpLicvbWVudXMvJy4nMC5waHAnKSwKICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLidhZG1pbi5waHAnKQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkbWVudSA9IHJlcXVpcmUoWWlpOjpnZXRBbGlhcygnQGJhY2tlbmQnKS4nL21lbnVzLycuJzAucGhwJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJG1lbnUgPSByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLicwLnBocCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2luZGV4JyxbCiAgICAgICAgICAgICdtZW51JyA9PiAkbWVudSwKICAgICAgICAgICAgJ3VzZXJfaW5mbycgPT4gJHJvbGVUeXBlCiAgICAgICAgXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoIVlpaTo6JGFwcC0+dXNlci0+aXNHdWVzdCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdvSG9tZSgpOwogICAgICAgIH0KCiAgICAgICAgJG1vZGVsID0gbmV3IExvZ2luRm9ybSgpOwogICAgICAgIGlmICgkbW9kZWwtPmxvYWQoWWlpOjokYXBwLT5yZXF1ZXN0LT5wb3N0KCkpICYmICRtb2RlbC0+bG9naW4oKSkgewogICAgICAgICAgICAkcmVzID0gJG1vZGVsLT5sb2dpbkxvZygpOwoJCQl2YXJfZHVtcCgkcmVzKTtkaWU7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z29CYWNrKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2xvZ2luJywgWwogICAgICAgICAgICAgICAgJ21vZGVsJyA9PiAkbW9kZWwsCiAgICAgICAgICAgIF0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTG9nb3V0KCkKICAgIHsKICAgICAgICBZaWk6OiRhcHAtPnVzZXItPmxvZ291dCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z29Ib21lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkVycm9yKCRlKXsKICAgICAgICBlY2hvICRlOwogICAgfQoKfQoAAAAAAAAAABwMAAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAABkKAAAAAAAAGQoAAAAAAAAAAAAAAADwvw"
],
[
11,
1,
"revert",
null,
"BAAAAAAAAAAAAAAAAAAAAAAAAABuDAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDE4LTA0LTIzIDE0OjI5OjU2CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTEgMDc6NTI6MDYKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXGNvbnRyb2xsZXJzOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIHlpaVxmaWx0ZXJzXFZlcmJGaWx0ZXI7CnVzZSB5aWlcZmlsdGVyc1xBY2Nlc3NDb250cm9sOwp1c2UgYmFja2VuZFxtb2RlbHNcTG9naW5Gb3JtOwp1c2UgYmFja2VuZFxtb2RlbHNcTWVudTsKCnVzZSBiYWNrZW5kXGNvbXBvbmVudHNcSGVscGVyOwoKLyoqCiAqIFNpdGUgY29udHJvbGxlcgogKi8KY2xhc3MgU2l0ZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJlaGF2aW9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2FjY2VzcycgPT4gWwogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiBBY2Nlc3NDb250cm9sOjpjbGFzc05hbWUoKSwKICAgICAgICAgICAgICAgICdydWxlcycgPT4gWwogICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbnMnID0+IFsnbG9naW4nLCAnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWydsb2dvdXQnLCAnaW5kZXgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncm9sZXMnID0+IFsnQCddLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndmVyYnMnID0+IFsKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gVmVyYkZpbHRlcjo6Y2xhc3NOYW1lKCksCiAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWwogICAgICAgICAgICAgICAgICAgICdsb2dvdXQnID0+IFsnZ2V0J10sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2Vycm9yJyA9PiBbCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICd5aWlcd2ViXEVycm9yQWN0aW9uJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJHVzZXJfaWQ9WWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+Z2V0SWQoKTsKICAgICAgICAkdXNlcl9pbmZvID0gWWlpOjokYXBwLT5hdXRoTWFuYWdlci0+Z2V0Um9sZXNCeVVzZXIoJHVzZXJfaWQpOwogICAgICAgICRyb2xlVHlwZSA9IGtleSgkdXNlcl9pbmZvKTsKICAgICAgICAkbWVudSA9IGFycmF5KCk7CiAgICAgICAgLy8gJG1lbnUyID0gbmV3IE1lbnUoKTsKICAgICAgICAvLyAkbWVudTIgPSAkbWVudTItPmdldExlZnRNZW51TGlzdCgpOwogICAgICAgIC8vIHByaW50X3IoJG1lbnUyWycyJ10pO2RpZTsKICAgICAgICBpZihpc3NldCgkX0dFVFsnZGVidWcnXSkgJiYgJF9HRVRbJ2RlYnVnJ10pewogICAgICAgICAgICBpZihpbl9hcnJheSgkcm9sZVR5cGUsWyfnq5nplb8nLCfotoXnuqfnrqHnkIblkZgnXSkpeyAgICAvL+WPquacieWcqOS7peermemVv+aIlui2hee6p+euoeeQhuWRmOi6q+S7veaJi+WKqOW8gOWQr+iwg+ivleaooeW8j++8jOaJjeWPr+S7peS9v+eUqOeuoeeQhuadg+mZkOiPnOWNlQogICAgICAgICAgICAgICAgJG1lbnUgPSB5aWlcaGVscGVyc1xBcnJheUhlbHBlcjo6bWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZShZaWk6OmdldEFsaWFzKCdAYmFja2VuZCcpLicvbWVudXMvJy4nMC5waHAnKSwKICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLidhZG1pbi5waHAnKQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkbWVudSA9IHJlcXVpcmUoWWlpOjpnZXRBbGlhcygnQGJhY2tlbmQnKS4nL21lbnVzLycuJzAucGhwJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJG1lbnUgPSByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLicwLnBocCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2luZGV4JyxbCiAgICAgICAgICAgICdtZW51JyA9PiAkbWVudSwKICAgICAgICAgICAgJ3VzZXJfaW5mbycgPT4gJHJvbGVUeXBlCiAgICAgICAgXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoIVlpaTo6JGFwcC0+dXNlci0+aXNHdWVzdCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdvSG9tZSgpOwogICAgICAgIH0KCiAgICAgICAgJG1vZGVsID0gbmV3IExvZ2luRm9ybSgpOwogICAgICAgIGlmICgkbW9kZWwtPmxvYWQoWWlpOjokYXBwLT5yZXF1ZXN0LT5wb3N0KCkpICYmICRtb2RlbC0+bG9naW4oKSkgewogICAgICAgICAgICAkcmVzID0gJG1vZGVsLT5sb2dpbkxvZygpOwoJCQl2YXJfZHVtcCgkcmVzKTtkaWU7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z29CYWNrKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2xvZ2luJywgWwogICAgICAgICAgICAgICAgJ21vZGVsJyA9PiAkbW9kZWwsCiAgICAgICAgICAgIF0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTG9nb3V0KCkKICAgIHsKICAgICAgICBZaWk6OiRhcHAtPnVzZXItPmxvZ291dCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z29Ib21lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkVycm9yKCRlKXsKICAgICAgICBlY2hvICRlOwogICAgfQoKfQoAAAAAAAAAAP4LAAAAAAAAAAAAAAAAAAAAAAAA/gsAAAAAAAAAAAAAAAAAAAAAAAD+CwAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAABkKAAAAAAAAGQoAAAAAAAAAAAAAAADwvw"
]
]
},
{
"file": "ctms-admin/models/LoginForm.php",
"settings":
{
"buffer_size": 4041,
"encoding": "UTF-8",
"line_ending": "Unix"
},
"undo_stack":
[
[
7,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAACRDgAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CiAgICAgICAgJGRhdGEgPSAgIueZu+mZhuezu+e7n3zpgJTlvoTvvJoiLiRub3dGaWxlOwoKICAgICAgICAkbW9kZWwgPSBuZXcgQ0xvZygpOwogICAgICAgICRtb2RlbC0+dXNlcm5hbWUgPSAkdGhpcy0+dXNlcm5hbWU7CiAgICAgICAgJG1vZGVsLT5pcCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+dXNlcklQOwogICAgICAgICRtb2RlbC0+ZGF0YSA9ICRkYXRhOwogICAgICAgICRtb2RlbC0+Y3JlYXRlX3RpbWUgPSB0aW1lKCk7CiAgICAgICAgJG1vZGVsLT5zYXZlKCk7CgogICAgICAgIC8v57yW5Yi26YKu5Lu25Y+R6YCB6YCa55+lCiAgICAgICAgJG1lc3NhZ2UgPSBZaWk6OiRhcHAtPm1haWxlci0+Y29tcG9zZSgpOwogICAgICAgICRtZXNzYWdlLT5zZXRGcm9tKFlpaTo6JGFwcC0+cGFyYW1zWydub3RpY2VFbWFpbCddKTsKICAgICAgICAvL+e7meeZu+mZhuiAheWPkemAgQogICAgICAgICRzdWJqZWN0ID0gIui0puWPt+eZu+mZhuaPkOmGkiI7CiAgICAgICAgJGJvZHkgPSAi5oKo55qE6LSm5Y+344CQIi4kdGhpcy0+dXNlcm5hbWUuIuOAkeWImuWImueZu+mZhuS6hue9keermToiLllpaTo6JGFwcC0+Z2V0UmVxdWVzdCgpLT5hYnNvbHV0ZVVybDsKICAgICAgICAkbWVzc2FnZS0+c2V0VG8oWWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+ZW1haWwpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICAgICAgLy/nu5nnrqHnkIbkurrlkZjlj5HpgIEKICAgICAgICAkc3ViamVjdCA9ICLotKblj7fnmbvpmYbmj5DphpIiOwogICAgICAgICRib2R5ID0gIui/kOe7tOi0puWPt+OAkCIuJHRoaXMtPnVzZXJuYW1lLiLjgJHliJrliJrnmbvpmYbkuobnvZHnq5k6Ii5ZaWk6OiRhcHAtPmdldFJlcXVlc3QoKS0+YWJzb2x1dGVVcmw7CiAgICAgICAgJG1lc3NhZ2UtPnNldFRvKCcxMjgwODgwNjMxQHFxLmNvbScpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICB9Cn0KAAAAAAAAAACdDgAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAD8LAAAAAAAAPwsAAAAAAAAAAAAAAADwvw"
],
[
21,
1,
"paste",
null,
"AgAAAMsMAAAAAAAA0wwAAAAAAAAAAAAA0wwAAAAAAADTDAAAAAAAABcAAABZaWk6OiRhcHAtPmdldFJlcXVlc3QoKQ",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMsMAAAAAAAA4gwAAAAAAAAAAAAAAADwvw"
],
[
26,
1,
"paste",
null,
"AgAAANkNAAAAAAAA4Q0AAAAAAAAAAAAA4Q0AAAAAAADhDQAAAAAAABcAAABZaWk6OiRhcHAtPmdldFJlcXVlc3QoKQ",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAANkNAAAAAAAA8A0AAAAAAAAAAAAAAADwvw"
],
[
27,
1,
"add_file_header",
{
"path": "/Users/fm453/webdev/localhost/yii/ctms-admin/models/LoginForm.php"
},
"AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAOENAAAAAAAA4Q0AAAAAAAAAAAAAAADwvw"
],
[
30,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAABtDwAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CgkJJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwoKTsKCQkkaG9zdEluZm8gPSAkcmVxdWVzdCAtPiBnZXRIb3N0SW5mbygpOwoJCSRwb3J0ID0gJHJlcXVlc3QgLT4gZ2V0UG9ydCgpOwogICAgICAgICRkYXRhID0gICLnmbvpmYbns7vnu5/vvJoiOwoJICAgICRkYXRhIC49ICJ85Z+f5ZCN77yaIi4kaG9zdEluZm87CgkJJGRhdGEgLj0gInznq6/lj6PvvJoiLiRwb3J0OwoJCSRkYXRhIC49ICJ8572R5Z2A77yaIi4kdXJsOwoJCSRkYXRhIC49ICJ86ISa5pys77yaIi4kbm93RmlsZTsKCiAgICAgICAgJG1vZGVsID0gbmV3IENMb2coKTsKICAgICAgICAkbW9kZWwtPnVzZXJuYW1lID0gJHRoaXMtPnVzZXJuYW1lOwogICAgICAgICRtb2RlbC0+aXAgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnVzZXJJUDsKICAgICAgICAkbW9kZWwtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkbW9kZWwtPmNyZWF0ZV90aW1lID0gdGltZSgpOwogICAgICAgICRyZXMgPSAgJG1vZGVsLT5zYXZlKCk7CgkJdmFyX2R1bXAoJHJlcyk7ZGllOwoKICAgICAgICAvL+e8luWItumCruS7tuWPkemAgemAmuefpQogICAgICAgICRtZXNzYWdlID0gWWlpOjokYXBwLT5tYWlsZXItPmNvbXBvc2UoKTsKICAgICAgICAkbWVzc2FnZS0+c2V0RnJvbShZaWk6OiRhcHAtPnBhcmFtc1snbm90aWNlRW1haWwnXSk7CiAgICAgICAgLy/nu5nnmbvpmYbogIXlj5HpgIEKICAgICAgICAkc3ViamVjdCA9ICLotKblj7fnmbvpmYbmj5DphpIiOwogICAgICAgICRib2R5ID0gIuaCqOeahOi0puWPt+OAkCIuJHRoaXMtPnVzZXJuYW1lLiLjgJHliJrliJrnmbvpmYbkuobnvZHnq5k6Ii4kcmVxdWVzdC0+YWJzb2x1dGVVcmw7CiAgICAgICAgJG1lc3NhZ2UtPnNldFRvKFlpaTo6JGFwcC0+dXNlci0+aWRlbnRpdHktPmVtYWlsKQogICAgICAgICAgICAtPnNldFN1YmplY3QoJHN1YmplY3QpCiAgICAgICAgICAgIC0+c2V0VGV4dEJvZHkoJGJvZHkpCiAgICAgICAgICAgIC0+c2VuZCgpOwogICAgICAgIC8v57uZ566h55CG5Lq65ZGY5Y+R6YCBCiAgICAgICAgJHN1YmplY3QgPSAi6LSm5Y+355m76ZmG5o+Q6YaSIjsKICAgICAgICAkYm9keSA9ICLov5Dnu7TotKblj7fjgJAiLiR0aGlzLT51c2VybmFtZS4i44CR5Yia5Yia55m76ZmG5LqG572R56uZOiIuJHJlcXVlc3QtPmFic29sdXRlVXJsOwogICAgICAgICRtZXNzYWdlLT5zZXRUbygnMTI4MDg4MDYzMUBxcS5jb20nKQogICAgICAgICAgICAtPnNldFN1YmplY3QoJHN1YmplY3QpCiAgICAgICAgICAgIC0+c2V0VGV4dEJvZHkoJGJvZHkpCiAgICAgICAgICAgIC0+c2VuZCgpOwogICAgfQp9CgAAAAAAAAAAlA4AAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAA8LAAAAAAAADwsAAAAAAAAAAAAAAADwvw"
],
[
31,
1,
"revert",
null,
"AgAAAAAAAAAAAAAAAAAAAAAAAACiDwAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CgkJJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwoKTsKCQkkaG9zdEluZm8gPSAkcmVxdWVzdCAtPiBnZXRIb3N0SW5mbygpOwoJCSRwb3J0ID0gJHJlcXVlc3QgLT4gZ2V0UG9ydCgpOwogICAgICAgICRkYXRhID0gICLnmbvpmYbns7vnu5/vvJoiOwoJICAgICRkYXRhIC49ICJ85Z+f5ZCN77yaIi4kaG9zdEluZm87CgkJJGRhdGEgLj0gInznq6/lj6PvvJoiLiRwb3J0OwoJCSRkYXRhIC49ICJ8572R5Z2A77yaIi4kdXJsOwoJCSRkYXRhIC49ICJ86ISa5pys77yaIi4kbm93RmlsZTsKCiAgICAgICAgJG1vZGVsID0gbmV3IENMb2coKTsKICAgICAgICAkbW9kZWwtPnVzZXJuYW1lID0gJHRoaXMtPnVzZXJuYW1lOwogICAgICAgICRtb2RlbC0+aXAgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnVzZXJJUDsKICAgICAgICAkbW9kZWwtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkbW9kZWwtPmNyZWF0ZV90aW1lID0gdGltZSgpOwogICAgICAgICRtb2RlbC0+c2F2ZSgpOwovLwkJJHJlcyA9ICRtb2RlbC0+Z2V0RXJyb3JzKCk7IC8v5pWw5o2u5L+d5a2Y5oql6ZSZ5pe25Y+v5Lul55So5q2k5omT5Y2w5Ye66ZSZ6K+vCgogICAgICAgIC8v57yW5Yi26YKu5Lu25Y+R6YCB6YCa55+lCiAgICAgICAgJG1lc3NhZ2UgPSBZaWk6OiRhcHAtPm1haWxlci0+Y29tcG9zZSgpOwogICAgICAgICRtZXNzYWdlLT5zZXRGcm9tKFlpaTo6JGFwcC0+cGFyYW1zWydub3RpY2VFbWFpbCddKTsKICAgICAgICAvL+e7meeZu+mZhuiAheWPkemAgQogICAgICAgICRzdWJqZWN0ID0gIui0puWPt+eZu+mZhuaPkOmGkiI7CiAgICAgICAgJGJvZHkgPSAi5oKo55qE6LSm5Y+344CQIi4kdGhpcy0+dXNlcm5hbWUuIuOAkeWImuWImueZu+mZhuS6hue9keermToiLiRyZXF1ZXN0LT5hYnNvbHV0ZVVybDsKICAgICAgICAkbWVzc2FnZS0+c2V0VG8oWWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+ZW1haWwpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICAgICAgLy/nu5nnrqHnkIbkurrlkZjlj5HpgIEKICAgICAgICAkc3ViamVjdCA9ICLotKblj7fnmbvpmYbmj5DphpIiOwogICAgICAgICRib2R5ID0gIui/kOe7tOi0puWPt+OAkCIuJHRoaXMtPnVzZXJuYW1lLiLjgJHliJrliJrnmbvpmYbkuobnvZHnq5k6Ii4kcmVxdWVzdC0+YWJzb2x1dGVVcmw7CiAgICAgICAgJG1lc3NhZ2UtPnNldFRvKCcxMjgwODgwNjMxQHFxLmNvbScpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICB9Cn0KAAAAAAAAAACjDwAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAA8LAAAAAAAADwsAAAAAAAAAAAAAAADwvw"
],
[
32,
1,
"revert",
null,
"BAAAAAAAAAAAAAAAAAAAAAAAAADhEAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CgkJJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwoKTsKCQkkaG9zdEluZm8gPSAkcmVxdWVzdCAtPiBnZXRIb3N0SW5mbygpOwoJCSRwb3J0ID0gJHJlcXVlc3QgLT4gZ2V0UG9ydCgpOwogICAgICAgICRkYXRhID0gICLnmbvpmYbns7vnu5/vvJoiOwoJICAgICRkYXRhIC49ICJ85Z+f5ZCN77yaIi4kaG9zdEluZm87CgkJJGRhdGEgLj0gInznq6/lj6PvvJoiLiRwb3J0OwoJCSRkYXRhIC49ICJ8572R5Z2A77yaIi4kdXJsOwoJCSRkYXRhIC49ICJ86ISa5pys77yaIi4kbm93RmlsZTsKCiAgICAgICAgJG1vZGVsID0gbmV3IENMb2coKTsKICAgICAgICAkbW9kZWwtPnVzZXJuYW1lID0gJHRoaXMtPnVzZXJuYW1lOwogICAgICAgICRtb2RlbC0+aXAgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnVzZXJJUDsKICAgICAgICAkbW9kZWwtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkbW9kZWwtPmNyZWF0ZV90aW1lID0gdGltZSgpOwovLyAgICAgICAgJG1vZGVsLT5zYXZlKCk7Ci8vCQkkcmVzID0gJG1vZGVsLT5nZXRFcnJvcnMoKTsgLy/mlbDmja7kv53lrZjmiqXplJnml7blj6/ku6XnlKjmraTmiZPljbDlh7rplJnor68KCiAgICAgICAgLy/nvJbliLbpgq7ku7blj5HpgIHpgJrnn6UKCSAgICAkbWVzc2FnZXMgPSBbXTsKICAgICAgICAkbWVzc2FnZSA9IFlpaTo6JGFwcC0+bWFpbGVyLT5jb21wb3NlKCk7Ci8vICAgICAgICAkbWVzc2FnZS0+c2V0RnJvbShZaWk6OiRhcHAtPnBhcmFtc1snbm90aWNlRW1haWwnXSk7CgkgICAgCiAgICAgICAgLy9tZXNzYWdlIOe7meeZu+mZhuiAheWPkemAgQogICAgICAgICRzdWJqZWN0ID0gIui0puWPt+eZu+mZhuaPkOmGkiI7CiAgICAgICAgJGJvZHkgPSAi5oKo55qE6LSm5Y+344CQIi4kdGhpcy0+dXNlcm5hbWUuIuOAkeWImuWImueZu+mZhuS6hue9keermToiLiRyZXF1ZXN0LT5hYnNvbHV0ZVVybDsKICAgICAgICAkbWVzc2FnZS0+c2V0VG8oWWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+ZW1haWwpOwogICAgICAgICRtZXNzYWdlLT5zZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgICAkbWVzc2FnZS0+c2V0VGV4dEJvZHkoJGJvZHkpOwogICAgICAgICRtZXNzYWdlLT5zZW5kKCk7IC8v5Y2V5Y+R5pe25Y+v55So6K+l5pa55rOV77yM576k5Y+R5pe25Lya5a+86Ie06aG16Z2i5Y2h5YGc77yM5oqlNTAy6ZSZCgkJJG1lc3NhZ2VzW10gPSAkbWVzc2FnZTsKICAKCQkvL21lc3NhZ2UyIOe7meeuoeeQhuS6uuWRmOWPkemAgQoJICAgICRtZXNzYWdlMiA9IFlpaTo6JGFwcC0+bWFpbGVyLT5jb21wb3NlKCk7CiAgICAgICAgJHN1YmplY3QgPSAi6LSm5Y+355m76ZmG5o+Q6YaSIjsKICAgICAgICAkYm9keSA9ICLov5Dnu7TotKblj7fjgJAiLiR0aGlzLT51c2VybmFtZS4i44CR5Yia5Yia55m76ZmG5LqG572R56uZOiIuJHJlcXVlc3QtPmFic29sdXRlVXJsOwogICAgICAgICRtZXNzYWdlMi0+c2V0VG8oJzEyODA4ODA2MzFAcXEuY29tJyk7CiAgICAgICAgJG1lc3NhZ2UyLT5zZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgICAkbWVzc2FnZTItPnNldFRleHRCb2R5KCRib2R5KTsKICAgICAgICAkbWVzc2FnZTItPnNlbmQoKTsKCSAgICAkbWVzc2FnZXNbXSA9ICRtZXNzYWdlMjsKCQkKCQkvL+e+pOWPkQovLwkJWWlpOjokYXBwLT5tYWlsZXItPnNlbmRNdWx0aXBsZSgkbWVzc2FnZXMpOwoJCQogICAgfQp9CgAAAAAAAAAAuA8AAAAAAAAAAAAAAAAAAAAAAADJDwAAAAAAAAAAAAAAAAAAAAAAAMkPAAAAAAAAAAAAAA",
"AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAA8LAAAAAAAADwsAAAAAAAAAAAAAAADwvw"
]
]
},
{
"file": "/Users/fm453/webdev/数据库备份/dacms-nodata.sql",
"settings":
{
"buffer_size": 74248,
"encoding": "UTF-8",
"line_ending": "Unix"
}
}
],
"build_system": "",
"build_system_choices":
[
[
[
[
"Anaconda Python Builder",
""
],
[
"Packages/Python/Python.sublime-build",
""
],
[
"Packages/Python/Python.sublime-build",
"Syntax Check"
]
],
[
"Anaconda Python Builder",
""
]
]
],
"build_varint": "",
"command_palette":
{
"height": 243.0,
"last_filter": "",
"selected_items":
[
[
"Package Control: Li",
"Package Control: List Packages"
],
[
"Package Control: ",
"Package Control: Remove Package"
],
[
"Package Control: in",
"Package Control: List Unmanaged Packages"
],
[
"Package Control: remov",
"Package Control: Remove Package"
],
[
"Package Control: remo",
"Package Control: Remove Package"
],
[
"Package Control: inst",
"Package Control: Install Package"
],
[
"Package Control: ins",
"Package Control: Advanced Install Packages"
],
[
"Package Control: clea",
"Package Control: Clear Cache Directory"
],
[
"Package Control: re",
"Package Control: Enable Package"
],
[
"Package Control: instal",
"Package Control: Install Package"
],
[
"Package Control: lis",
"Package Control: List Packages"
],
[
"Package Control: dis",
"Package Control: Disable Package"
],
[
"PHP Code Sniffer: ",
"PHP Code Sniffer: Sniff this file"
],
[
"install",
"Colorsublime: Install Theme"
],
[
"view",
"View: Toggle Menu"
],
[
"remove",
"Package Control: Remove Package"
]
],
"width": 540.0
},
"console":
{
"height": 111.0,
"history":
[
"alignment",
"python3 -u \"/Users/fm453/Downloads/test.py\"",
"Running python3 -u \"/Users/fm453/Downloads/test.py\"",
"remove"
]
},
"distraction_free":
{
"menu_visible": true,
"show_minimap": false,
"show_open_files": false,
"show_tabs": false,
"side_bar_visible": false,
"status_bar_visible": false
},
"expanded_folders":
[
"/Users/fm453/webdev/localhost/yii",
"/Users/fm453/webdev/localhost/yii/addons-ctms",
"/Users/fm453/webdev/localhost/yii/addons-ctms/config",
"/Users/fm453/webdev/localhost/yii/admins",
"/Users/fm453/webdev/localhost/yii/admins/config",
"/Users/fm453/webdev/localhost/yii/admins/web",
"/Users/fm453/webdev/localhost/yii/ctms-admin",
"/Users/fm453/webdev/localhost/yii/ctms-admin/config",
"/Users/fm453/webdev/localhost/yii/ctms-admin/controllers",
"/Users/fm453/webdev/localhost/yii/ctms-admin/models",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web"
],
"file_history":
[
"/Users/fm453/办公文档/嗨路客电商/file/财务信息/建行现金管理系统E路通-2024.txt",
"/Users/fm453/办公文档/嗨路客电商/file/财务信息/建行现金管理系统E路通-2014.txt",
"/Users/fm453/Downloads/system_error_2025-05-01.log",
"/Users/fm453/webdev/localhost/yii/composer.json",
"/Users/fm453/webdev/localhost/yii/version.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/layouts/main.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/index.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-bootstrap/src/LinkPager.php",
"/Users/fm453/webdev/localhost/yii/admins/config/db.php",
"/Users/fm453/webdev/localhost/yii/admins/config/db-local.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NoticeController.php",
"/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/NoticeController.php",
"/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/OrderController.php",
"/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/OrderpreController.php",
"/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/Common.php",
"/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/FansController.php",
"/Users/fm453/webdev/localhost/yii/addons-ctms/数据库表变动日志.sql",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/notice/list.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/news/list.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/news/modify.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat/pcat.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat/list.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/toastr/toastr.min.js",
"/Users/fm453/webdev/localhost/yii/.gitattributes",
"/Users/fm453/webdev/localhost/yii/.gitignore",
"/Users/fm453/webdev/localhost/yii/ctms-api/config/main-local.php",
"/Users/fm453/webdev/localhost/tool/h+/toastr_notifications.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat/select.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat/table.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewscatController.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/OrderpreController.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/orderpre/list.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewscatController备份.php",
"/Users/fm453/webdev/localhost/tool/h+/table_data_tables.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-resizable-columns/jquery.resizableColumns.min.js",
"/Users/fm453/webdev/localhost/tool/h+/js/demo/bootstrap-table-demo.min.js",
"/Users/fm453/webdev/localhost/yii/admins/views/site/index.php",
"/Users/fm453/webdev/localhost/yii/vendor/mdmsoft/yii2-admin/models/searchs/AuthItem.php",
"/Users/fm453/Library/Application Support/Sublime Merge/Packages/User/Preferences.sublime-settings",
"/Users/fm453/Library/Application Support/Sublime Text/Packages/User/FileHeader.sublime-settings",
"/Users/fm453/Library/Application Support/Sublime Text/Packages/FileHeader/template/header/PHP.tmpl",
"/Users/fm453/webdev/localhost/yii/common/models/Member.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/orderpre/modify.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2/base/Model.php",
"/Users/fm453/webdev/localhost/tool/h+/graph_echarts.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/pdfmake/vfs_fonts2.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/pdfmake/vfs_fonts.js",
"/Users/fm453/Downloads/阿里巴巴集团字体/阿里巴巴普惠体/转码Base64.json",
"/Users/fm453/Downloads/阿里巴巴集团字体/阿里巴巴普惠体/转码Base64.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/tableExport/pdfmake.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery-resizable-columns/jquery.resizableColumns.min.css",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/jquery-ui/jquery-ui-1.13.3.css",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/jquery-ui/jquery-ui.min.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/bootstrap-table.min.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/dragtable/dragtable.css",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/dragtable/dragtable.js",
"/Users/fm453/Downloads/bootstrap-3.3.7-dist/js/bootstrap.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/popper/popper.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/bootstrap5.2.3/js/bootstrap.bundle.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/bootstrap5.2.3/js/bootstrap.min.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/jquery.min.js",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-bootstrap5/src/Popover.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/dataTables-V2.1.0/datatables.js",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/template-bootstrap4.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/utils/natural-sorting/README.md",
"/Users/fm453/Downloads/dataTables/DataTables/datatables.js",
"/Users/fm453/webdev/localhost/tool/h+/table_bootstrap.php",
"/Users/fm453/Downloads/未命名文件夹/安邮运单汇总记录表_files/ApiLoader.7484a98b.chunk.zh-CN.js",
"/Users/fm453/Downloads/未命名文件夹/安邮运单汇总记录表.html",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/jeditable/jquery.jeditable.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/extensions/editable/bootstrap-table-editable.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery/jquery-editable-table.js",
"/Users/fm453/webdev/localhost/yii/admins/web/js/plugins/jeditable/jquery.jeditable.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery/jquery.min.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/tableExport/jspdf.umd.min.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/jquery/jquery.tablednd.min.js",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/bootstrap/bootstrap.min.css",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/bootstrap/bootstrap.bundle.min.js",
"/Users/fm453/webdev/localhost/yii/vendor/bower-asset/bootstrap/dist/css/bootstrap-reboot.css",
"/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/tableExport/tableExport.min.js",
"/Users/fm453/Downloads/bootstrap-table-master/dist/extensions/editable/bootstrap-table-editable.js",
"/Users/fm453/webdev/localhost/yii/common/config/main-local.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-symfonymailer/src/Message.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2/mail/BaseMailer.php",
"/Users/fm453/webdev/localhost/yii/common/config/main.php",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/extensions/addrbar-page.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/options/detail-view-icon.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/options/remember-order.html",
"/Users/fm453/webdev/localhost/yii/ctms-admin/views/site/login.php",
"/Users/fm453/webdev/localhost/yii/common/widgets/Alert.php",
"/Users/fm453/webdev/localhost/tool/h+/tree_view.php",
"/Users/fm453/webdev/localhost/tool/h+/js/demo/treeview-demo.min.js",
"/Users/fm453/webdev/localhost/tool/h+/common/header.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/config/main-local.php",
"/Users/fm453/webdev/localhost/yii/ctms-admin/config/main.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/extensions.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-bootstrap5/src/ActiveForm.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-bootstrap5/src/ActiveField.php",
"/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-bootstrap5/src/Widget.php",
"/Users/fm453/webdev/localhost/yii/common/config/X-editable.js",
"/Users/fm453/webdev/localhost/yii/composer.lock",
"/Users/fm453/Downloads/bootstrap-table-master/dist/extensions/key-events/bootstrap-table-key-events.js",
"/Users/fm453/Downloads/bootstrap-table-master/dist/locale/bootstrap-table-zh-CN.js",
"/Users/fm453/Downloads/bootstrap-table-master/dist/extensions/toolbar/bootstrap-table-toolbar.js",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/methods/toggle-detail-view.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/extensions/key-events.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/column-options/sorter.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/column-options/width-unit.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/column-options/width.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/column-options/aligning-columns.html",
"/Users/fm453/webdev/localhost/tool/vue-bootstrap-table/src/bootstrap-table/bootstrap-table-vue.umd.js",
"/Users/fm453/webdev/localhost/tool/vue-bootstrap-table/index.html",
"/Users/fm453/webdev/localhost/tool/vue-bootstrap-table/src/main.js",
"/Users/fm453/webdev/localhost/tool/index.php",
"/Users/fm453/webdev/localhost/1010/web/index.html",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/vue-starter/package.json",
"/Users/fm453/Downloads/bootstrap-table-examples-develop/server/app.js",
"/Users/fm453/webdev/localhost/vpage/plugin/config.php",
"/Users/fm453/webdev/localhost/vpage/ini.php",
"/Users/fm453/webdev/localhost/vpage/biaobai_aixinjishi/index.php",
"/Users/fm453/webdev/localhost/vpage/data/inc_db.php",
"/Users/fm453/webdev/localhost/vpage/js/statistics.js",
"/Users/fm453/webdev/localhost/vpage/js/main.js",
"/Users/fm453/webdev/localhost/vpage/index.php",
"/Users/fm453/webdev/localhost/vpage/web.php",
"/Users/fm453/webdev/localhost/vpage/plugin/xiazai.php",
"/Users/fm453/webdev/localhost/vpage/plugin/vip.php"
],
"find":
{
"height": 34.0
},
"find_in_files":
{
"height": 160.0,
"where_history":
[
]
},
"find_state":
{
"case_sensitive": false,
"find_history":
[
"ac_truck",
"$add",
"edit",
"editable"
],
"highlight": true,
"in_selection": false,
"preserve_case": false,
"regex": false,
"replace_history":
[
],
"reverse": false,
"scrollbar_highlights": true,
"show_context": true,
"use_buffer2": true,
"use_gitignore": true,
"whole_word": false,
"wrap": true
},
"groups":
[
{
"sheets":
[
{
"buffer": 0,
"file": "addons-ctms/数据库表变动日志.sql",
"selected": true,
"semi_transient": false,
"settings":
{
"buffer_size": 45303,
"regions":
{
},
"selection":
[
[
1270,
1270
]
],
"settings":
{
"bracket_highlighter.busy": false,
"bracket_highlighter.locations":
{
"close":
{
"1":
[
2325,
2326
]
},
"icon":
{
"1":
[
"Packages/BracketHighlighter/icons/round_bracket.png",
"region.yellowish"
]
},
"open":
{
"1":
[
1051,
1052
]
},
"unmatched":
{
}
},
"bracket_highlighter.regions":
[
"bh_angle",
"bh_angle_center",
"bh_angle_open",
"bh_angle_close",
"bh_angle_content",
"bh_c_define",
"bh_c_define_center",
"bh_c_define_open",
"bh_c_define_close",
"bh_c_define_content",
"bh_curly",
"bh_curly_center",
"bh_curly_open",
"bh_curly_close",
"bh_curly_content",
"bh_default",
"bh_default_center",
"bh_default_open",
"bh_default_close",
"bh_default_content",
"bh_double_quote",
"bh_double_quote_center",
"bh_double_quote_open",
"bh_double_quote_close",
"bh_double_quote_content",
"bh_regex",
"bh_regex_center",
"bh_regex_open",
"bh_regex_close",
"bh_regex_content",
"bh_round",
"bh_round_center",
"bh_round_open",
"bh_round_close",
"bh_round_content",
"bh_single_quote",
"bh_single_quote_center",
"bh_single_quote_open",
"bh_single_quote_close",
"bh_single_quote_content",
"bh_square",
"bh_square_center",
"bh_square_open",
"bh_square_close",
"bh_square_content",
"bh_tag",
"bh_tag_center",
"bh_tag_open",
"bh_tag_close",
"bh_tag_content",
"bh_unmatched",
"bh_unmatched_center",
"bh_unmatched_open",
"bh_unmatched_close",
"bh_unmatched_content"
],
"c_time":
[
128,
3,
99,
100,
97,
116,
101,
116,
105,
109,
101,
10,
100,
97,
116,
101,
116,
105,
109,
101,
10,
113,
0,
67,
10,
7,
233,
4,
10,
23,
19,
11,
13,
13,
72,
113,
1,
133,
113,
2,
82,
113,
3,
46
],
"syntax": "Packages/SQL/SQL.sublime-syntax",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 583.0,
"zoom_level": 1.0
},
"stack_index": 0,
"stack_multiselect": false,
"type": "text"
},
{
"buffer": 1,
"file": "ctms-api/controllers/client/v1/NewsController.php",
"semi_transient": false,
"settings":
{
"buffer_size": 5576,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"bracket_highlighter.busy": false,
"bracket_highlighter.locations":
{
"close":
{
},
"icon":
{
},
"open":
{
},
"unmatched":
{
}
},
"bracket_highlighter.regions":
[
"bh_angle",
"bh_angle_center",
"bh_angle_open",
"bh_angle_close",
"bh_angle_content",
"bh_c_define",
"bh_c_define_center",
"bh_c_define_open",
"bh_c_define_close",
"bh_c_define_content",
"bh_curly",
"bh_curly_center",
"bh_curly_open",
"bh_curly_close",
"bh_curly_content",
"bh_default",
"bh_default_center",
"bh_default_open",
"bh_default_close",
"bh_default_content",
"bh_double_quote",
"bh_double_quote_center",
"bh_double_quote_open",
"bh_double_quote_close",
"bh_double_quote_content",
"bh_regex",
"bh_regex_center",
"bh_regex_open",
"bh_regex_close",
"bh_regex_content",
"bh_round",
"bh_round_center",
"bh_round_open",
"bh_round_close",
"bh_round_content",
"bh_single_quote",
"bh_single_quote_center",
"bh_single_quote_open",
"bh_single_quote_close",
"bh_single_quote_content",
"bh_square",
"bh_square_center",
"bh_square_open",
"bh_square_close",
"bh_square_content",
"bh_tag",
"bh_tag_center",
"bh_tag_open",
"bh_tag_close",
"bh_tag_content",
"bh_unmatched",
"bh_unmatched_center",
"bh_unmatched_open",
"bh_unmatched_close",
"bh_unmatched_content"
],
"c_time":
[
128,
3,
99,
100,
97,
116,
101,
116,
105,
109,
101,
10,
100,
97,
116,
101,
116,
105,
109,
101,
10,
113,
0,
67,
10,
7,
232,
8,
3,
16,
10,
12,
8,
200,
16,
113,
1,
133,
113,
2,
82,
113,
3,
46
],
"open_with_edit": true,
"syntax": "Packages/PHP/PHP.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 3,
"stack_multiselect": false,
"type": "text"
},
{
"buffer": 2,
"file": "ctms-api/controllers/gm/v1/Common.php",
"semi_transient": false,
"settings":
{
"buffer_size": 5490,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"bracket_highlighter.busy": false,
"bracket_highlighter.locations":
{
"close":
{
},
"icon":
{
},
"open":
{
},
"unmatched":
{
}
},
"bracket_highlighter.regions":
[
"bh_angle",
"bh_angle_center",
"bh_angle_open",
"bh_angle_close",
"bh_angle_content",
"bh_c_define",
"bh_c_define_center",
"bh_c_define_open",
"bh_c_define_close",
"bh_c_define_content",
"bh_curly",
"bh_curly_center",
"bh_curly_open",
"bh_curly_close",
"bh_curly_content",
"bh_default",
"bh_default_center",
"bh_default_open",
"bh_default_close",
"bh_default_content",
"bh_double_quote",
"bh_double_quote_center",
"bh_double_quote_open",
"bh_double_quote_close",
"bh_double_quote_content",
"bh_regex",
"bh_regex_center",
"bh_regex_open",
"bh_regex_close",
"bh_regex_content",
"bh_round",
"bh_round_center",
"bh_round_open",
"bh_round_close",
"bh_round_content",
"bh_single_quote",
"bh_single_quote_center",
"bh_single_quote_open",
"bh_single_quote_close",
"bh_single_quote_content",
"bh_square",
"bh_square_center",
"bh_square_open",
"bh_square_close",
"bh_square_content",
"bh_tag",
"bh_tag_center",
"bh_tag_open",
"bh_tag_close",
"bh_tag_content",
"bh_unmatched",
"bh_unmatched_center",
"bh_unmatched_open",
"bh_unmatched_close",
"bh_unmatched_content"
],
"c_time":
[
128,
3,
99,
100,
97,
116,
101,
116,
105,
109,
101,
10,
100,
97,
116,
101,
116,
105,
109,
101,
10,
113,
0,
67,
10,
7,
232,
8,
8,
21,
3,
33,
2,
53,
104,
113,
1,
133,
113,
2,
82,
113,
3,
46
],
"syntax": "Packages/PHP/PHP.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 2,
"stack_multiselect": false,
"type": "text"
},
{
"buffer": 3,
"file": "ctms-admin/controllers/SiteController.php",
"semi_transient": false,
"settings":
{
"buffer_size": 3070,
"regions":
{
},
"selection":
[
[
2585,
2585
]
],
"settings":
{
"bracket_highlighter.busy": false,
"bracket_highlighter.locations":
{
"close":
{
"1":
[
2919,
2920
]
},
"icon":
{
"1":
[
"Packages/BracketHighlighter/icons/curly_bracket.png",
"region.purplish"
]
},
"open":
{
"1":
[
2496,
2497
]
},
"unmatched":
{
}
},
"bracket_highlighter.regions":
[
"bh_angle",
"bh_angle_center",
"bh_angle_open",
"bh_angle_close",
"bh_angle_content",
"bh_single_quote",
"bh_single_quote_center",
"bh_single_quote_open",
"bh_single_quote_close",
"bh_single_quote_content",
"bh_default",
"bh_default_center",
"bh_default_open",
"bh_default_close",
"bh_default_content",
"bh_regex",
"bh_regex_center",
"bh_regex_open",
"bh_regex_close",
"bh_regex_content",
"bh_round",
"bh_round_center",
"bh_round_open",
"bh_round_close",
"bh_round_content",
"bh_square",
"bh_square_center",
"bh_square_open",
"bh_square_close",
"bh_square_content",
"bh_tag",
"bh_tag_center",
"bh_tag_open",
"bh_tag_close",
"bh_tag_content",
"bh_unmatched",
"bh_unmatched_center",
"bh_unmatched_open",
"bh_unmatched_close",
"bh_unmatched_content",
"bh_c_define",
"bh_c_define_center",
"bh_c_define_open",
"bh_c_define_close",
"bh_c_define_content",
"bh_double_quote",
"bh_double_quote_center",
"bh_double_quote_open",
"bh_double_quote_close",
"bh_double_quote_content",
"bh_curly",
"bh_curly_center",
"bh_curly_open",
"bh_curly_close",
"bh_curly_content"
],
"c_time":
[
128,
3,
99,
100,
97,
116,
101,
116,
105,
109,
101,
10,
100,
97,
116,
101,
116,
105,
109,
101,
10,
113,
0,
67,
10,
7,
232,
10,
22,
12,
57,
13,
8,
158,
127,
113,
1,
133,
113,
2,
82,
113,
3,
46
],
"syntax": "Packages/PHP/PHP.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"stack_multiselect": false,
"type": "text"
}
]
},
{
"sheets":
[
{
"buffer": 4,
"file": "ctms-admin/models/LoginForm.php",
"semi_transient": false,
"settings":
{
"buffer_size": 4041,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"bracket_highlighter.busy": false,
"bracket_highlighter.locations":
{
"close":
{
},
"icon":
{
},
"open":
{
},
"unmatched":
{
}
},
"bracket_highlighter.regions":
[
"bh_angle",
"bh_angle_center",
"bh_angle_open",
"bh_angle_close",
"bh_angle_content",
"bh_c_define",
"bh_c_define_center",
"bh_c_define_open",
"bh_c_define_close",
"bh_c_define_content",
"bh_curly",
"bh_curly_center",
"bh_curly_open",
"bh_curly_close",
"bh_curly_content",
"bh_default",
"bh_default_center",
"bh_default_open",
"bh_default_close",
"bh_default_content",
"bh_double_quote",
"bh_double_quote_center",
"bh_double_quote_open",
"bh_double_quote_close",
"bh_double_quote_content",
"bh_regex",
"bh_regex_center",
"bh_regex_open",
"bh_regex_close",
"bh_regex_content",
"bh_round",
"bh_round_center",
"bh_round_open",
"bh_round_close",
"bh_round_content",
"bh_single_quote",
"bh_single_quote_center",
"bh_single_quote_open",
"bh_single_quote_close",
"bh_single_quote_content",
"bh_square",
"bh_square_center",
"bh_square_open",
"bh_square_close",
"bh_square_content",
"bh_tag",
"bh_tag_center",
"bh_tag_open",
"bh_tag_close",
"bh_tag_content",
"bh_unmatched",
"bh_unmatched_center",
"bh_unmatched_open",
"bh_unmatched_close",
"bh_unmatched_content"
],
"c_time":
[
128,
3,
99,
100,
97,
116,
101,
116,
105,
109,
101,
10,
100,
97,
116,
101,
116,
105,
109,
101,
10,
113,
0,
67,
10,
7,
232,
10,
22,
15,
58,
11,
11,
112,
3,
113,
1,
133,
113,
2,
82,
113,
3,
46
],
"syntax": "Packages/PHP/PHP.sublime-syntax",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"stack_multiselect": false,
"type": "text"
},
{
"buffer": 5,
"file": "/Users/fm453/webdev/数据库备份/dacms-nodata.sql",
"selected": true,
"semi_transient": false,
"settings":
{
"buffer_size": 74248,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"bracket_highlighter.busy": false,
"bracket_highlighter.locations":
{
"close":
{
},
"icon":
{
},
"open":
{
},
"unmatched":
{
}
},
"bracket_highlighter.regions":
[
"bh_angle",
"bh_angle_center",
"bh_angle_open",
"bh_angle_close",
"bh_angle_content",
"bh_c_define",
"bh_c_define_center",
"bh_c_define_open",
"bh_c_define_close",
"bh_c_define_content",
"bh_curly",
"bh_curly_center",
"bh_curly_open",
"bh_curly_close",
"bh_curly_content",
"bh_default",
"bh_default_center",
"bh_default_open",
"bh_default_close",
"bh_default_content",
"bh_double_quote",
"bh_double_quote_center",
"bh_double_quote_open",
"bh_double_quote_close",
"bh_double_quote_content",
"bh_regex",
"bh_regex_center",
"bh_regex_open",
"bh_regex_close",
"bh_regex_content",
"bh_round",
"bh_round_center",
"bh_round_open",
"bh_round_close",
"bh_round_content",
"bh_single_quote",
"bh_single_quote_center",
"bh_single_quote_open",
"bh_single_quote_close",
"bh_single_quote_content",
"bh_square",
"bh_square_center",
"bh_square_open",
"bh_square_close",
"bh_square_content",
"bh_tag",
"bh_tag_center",
"bh_tag_open",
"bh_tag_close",
"bh_tag_content",
"bh_unmatched",
"bh_unmatched_center",
"bh_unmatched_open",
"bh_unmatched_close",
"bh_unmatched_content"
],
"c_time":
[
128,
3,
99,
100,
97,
116,
101,
116,
105,
109,
101,
10,
100,
97,
116,
101,
116,
105,
109,
101,
10,
113,
0,
67,
10,
7,
232,
10,
25,
8,
38,
35,
2,
0,
81,
113,
1,
133,
113,
2,
82,
113,
3,
46
],
"syntax": "Packages/SQL/SQL.sublime-syntax",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 26.0,
"translation.y": 6973.0,
"zoom_level": 1.0
},
"stack_index": 0,
"stack_multiselect": false,
"type": "text"
}
]
}
],
"incremental_find":
{
"height": 34.0
},
"input":
{
"height": 66.0
},
"layout":
{
"cells":
[
[
0,
0,
1,
1
],
[
1,
0,
2,
1
]
],
"cols":
[
0.0,
0.542047374079,
1.0
],
"rows":
[
0.0,
1.0
]
},
"menu_visible": true,
"output.SublimeLinter":
{
"height": 0.0
},
"output.SublimeLinter Messages":
{
"height": 121.0
},
"output.exec":
{
"height": 272.0
},
"output.find_results":
{
"height": 0.0
},
"output.mdpopups":
{
"height": 0.0
},
"output.sftp":
{
"height": 0.0
},
"output.unsaved_changes":
{
"height": 197.0
},
"pinned_build_system": "",
"project": "YII.sublime-project",
"replace":
{
"height": 64.0
},
"save_all_on_build": true,
"select_file":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
],
"width": 0.0
},
"select_project":
{
"height": 500.0,
"last_filter": "",
"selected_items":
[
],
"width": 380.0
},
"select_symbol":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
],
"width": 0.0
},
"selected_group": 0,
"settings":
{
"last_automatic_layout":
[
[
0,
0,
1,
1
],
[
1,
0,
2,
1
]
]
},
"show_minimap": true,
"show_open_files": true,
"show_tabs": true,
"side_bar_visible": true,
"side_bar_width": 357.0,
"status_bar_visible": true,
"template_settings":
{
"max_columns": 4
}
}