Version Description
- Added: Pirate Forms importer.
- Changed: Some form builder tooltips to contain documentation links.
- Fixed: Form builder javascript conflict with jQuery non-conflict mode.
- Fixed: PHP Notice from WPForms widget.
- Fixed: Incorrect markup around Addons submenu item.
Download this release
Release Info
Developer | jaredatch |
Plugin | Contact Form by WPForms – Drag & Drop Form Builder for WordPress |
Version | 1.4.9 |
Comparing to | |
See all releases |
Code changes from version 1.4.8.1 to 1.4.9
- assets/css/admin-builder.css +1 -4
- assets/css/builder.css +5 -1
- assets/css/builder.min.css +1 -1
- assets/css/tooltipster.css +27 -23
- assets/js/admin-builder.js +26 -0
- assets/js/admin-utils.js +3 -2
- assets/js/wpforms-confirmation.js +8 -14
- assets/js/wpforms.js +31 -1
- changelog.txt +8 -1
- includes/admin/admin.php +1 -31
- includes/admin/builder/functions.php +5 -5
- includes/admin/class-importers.php +1 -0
- includes/admin/class-menu.php +1 -1
- includes/admin/importers/class-contact-form-7.php +40 -26
- includes/admin/importers/class-install-silent-skin.php +79 -0
- includes/admin/importers/class-ninja-forms.php +19 -16
- includes/admin/importers/class-pirate-forms.php +678 -0
- includes/class-conditional-logic-core.php +2 -2
- includes/class-frontend.php +11 -5
- includes/class-preview.php +1 -1
- includes/class-process.php +4 -0
- includes/class-widget.php +28 -22
- languages/wpforms.pot +91 -73
- readme.txt +8 -1
- wpforms.php +2 -2
assets/css/admin-builder.css
CHANGED
@@ -420,6 +420,7 @@ body {
|
|
420 |
|
421 |
#wpforms-builder .wpforms-panel-field {
|
422 |
max-width: 450px;
|
|
|
423 |
}
|
424 |
|
425 |
#wpforms-builder .wpforms-panel-field-tinymce,
|
@@ -427,10 +428,6 @@ body {
|
|
427 |
max-width: 800px;
|
428 |
}
|
429 |
|
430 |
-
#wpforms-builder .wpforms-panel-field {
|
431 |
-
margin-bottom: 18px;
|
432 |
-
}
|
433 |
-
|
434 |
#wpforms-builder .wpforms-panel-field label {
|
435 |
display: block;
|
436 |
font-size: 14px;
|
420 |
|
421 |
#wpforms-builder .wpforms-panel-field {
|
422 |
max-width: 450px;
|
423 |
+
margin-bottom: 18px;
|
424 |
}
|
425 |
|
426 |
#wpforms-builder .wpforms-panel-field-tinymce,
|
428 |
max-width: 800px;
|
429 |
}
|
430 |
|
|
|
|
|
|
|
|
|
431 |
#wpforms-builder .wpforms-panel-field label {
|
432 |
display: block;
|
433 |
font-size: 14px;
|
assets/css/builder.css
CHANGED
@@ -348,6 +348,10 @@ body .choices input[type=text].choices__input {
|
|
348 |
max-width: 100%;
|
349 |
}
|
350 |
|
|
|
|
|
|
|
|
|
351 |
#wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload {
|
352 |
display: block;
|
353 |
}
|
@@ -911,4 +915,4 @@ body .choices input[type=text].choices__input {
|
|
911 |
word-wrap: normal !important;
|
912 |
}
|
913 |
|
914 |
-
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3Bmb3Jtcy9hc3NldHMvY3NzL2J1aWxkZXIuY3NzIiwic291cmNlcyI6WyJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIuc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fY29uZmlybS5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYnV0dG9ucy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYWxlcnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX2Zvcm1zLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLWZpZWxkcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9idWlsZGVyL3BhbmVsLWZpZWxkcy9fY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX2dkcHItY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX3JhZGlvLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcGFuZWwtZmllbGRzL19wYXltZW50LW11bHRpcGxlLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXNldHRpbmdzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXBheW1lbnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcHJvdmlkZXJzL19wcm92aWRlcnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXUEZvcm1zIGZvcm0gYnVpbGRlciBzdHlsZXMuXG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhZG1pbi9jb25maXJtJztcbkBpbXBvcnQgJ2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnYWRtaW4vYWxlcnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvZm9ybXMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1maWVsZHMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1zZXR0aW5ncyc7XG5AaW1wb3J0ICdidWlsZGVyL3BhbmVsLXBheW1lbnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvcHJvdmlkZXJzL3Byb3ZpZGVycyc7XG5cbi53cGZvcm1zLXNjcmVlbi1yZWFkZXItZWxlbWVudCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cbiIsIiRvcmFuZ2U6ICNlMjc3MzA7XG4kZGFya29yYW5nZTogI2I4NWExYjtcbiRncmVlbjogIzJhOWIzOTtcbiRibHVlOiAjMGU2Y2FkO1xuJGxpZ2h0Qmx1ZTogI2ViZjNmYjtcbiIsIi8vIEFsZXJ0IHN0eWxlcy5cbi8vIFN0eWxpbmcgdHdlYWtzIGZvciBqUXVlcnktY29uZmlybSBKUyBhbGVydCBsaWJyYXJ5LlxuYm9keSB7XG5cblx0ZGl2Lmpjb25maXJtIHtcblxuXHRcdCosXG5cdFx0Kjo6YmVmb3JlLFxuXHRcdCo6OmFmdGVyIHtcblx0XHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0ZGl2Lmpjb25maXJtLWJveC1jb250YWluZXIge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tYm94IHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuXHRcdFx0XHRkaXYuamNvbmZpcm0tY2xvc2VJY29uIHtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xuXHRcdFx0XHRcdHRvcDogOHB4O1xuXHRcdFx0XHRcdHJpZ2h0OiA4cHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsMCwwLDAuODApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGRpdi5qY29uZmlybS1ib3gge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tdGl0bGUtYyB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDI2cHggMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0c3Bhbi5qY29uZmlybS1pY29uLWMge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGNvbG9yOiAjYzRjNGM0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuLmpjb25maXJtLXRpdGxlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNwYW4uamNvbmZpcm0taWNvbi1jICsgc3Bhbi5qY29uZmlybS10aXRsZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1jb250ZW50LXBhbmUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHQuamNvbmZpcm0tY29udGVudCB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0ZGl2Lmpjb25maXJtLWNvbnRlbnQge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGNvbG9yOiAjNTU1O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXG5cdFx0XHRcdCYubGl0ZS11cGdyYWRlIHtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYubGFyZ2Uge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuc21hbGwge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5hbHJlYWR5LXB1cmNoYXNlZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjY2NjO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1idXR0b25zIHtcblxuXHRcdFx0XHQuYWxyZWFkeS1wdXJjaGFzZWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRjb2xvcjogI2FhYTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5kaXNjb3VudC1ub3RlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW46IDMwcHggMCAwO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWZmYWM7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIC0zMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDI0cHggNjBweCAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0XHRjb2xvcjogIzRkNGQ0ZDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGYwNTgnO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCA2cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LXJlbmRlcmluZzogYXV0bztcblx0XHRcdFx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdFx0XHRcdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogLTIwcHg7O1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTE4cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzNhYmMwMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGNvbG9yOiAjM2FiYzAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNhYWE7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA5OSU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcblx0XHRcdH1cblxuXHRcdFx0I3dwZm9ybXMtZW1iZWQtc2hvcnRjb2RlIHtcblx0XHRcdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQjd3Bmb3Jtcy1lbWJlZC1zaG9ydGNvZGU6ZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uLmJ0bi1jb25maXJtIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZXJyb3Ige1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1lcnJvciB7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlYmNjZDEgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0Lmpjb25maXJtLXRpdGxlLWMgLmpjb25maXJtLWljb24tYyB7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDVweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0aW5wdXRbdHlwZT10ZXh0XS5jaG9pY2VzX19pbnB1dCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbiBzdHlsZXMuXG4ud3Bmb3Jtcy1hZG1pbi1wYWdlIHtcblxuXHQud3Bmb3Jtcy1idG4ge1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbWQge1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRcdG1pbi1oZWlnaHQ6IDM1cHg7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbGcge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDE2cHggMjhweDtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1vcmFuZ2Uge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdGJvcmRlci1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdGNvbG9yOiAjNjY2O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdFx0Y29sb3I6ICM0NDQ7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWxpZ2h0LWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0XHRjb2xvcjogIzY2NjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHRcdGNvbG9yOiAjNDQ0O1xuXHRcdH1cblx0fVxuXG5cdC53cGZvcm1zLWJ0bi10cmFucy1ncmVlbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHRjb2xvcjogJGdyZWVuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cblx0XHQudW5kZXJsaW5lIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRncmVlbjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IC01cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kYXNoaWNvbnMge1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLy8gQWxlcnQgc3R5bGVzLlxuLndwZm9ybXMtYWRtaW4tcGFnZSB7XG5cblx0LndwZm9ybXMtYWxlcnQge1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdGg0IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMCAwIDE1cHggMDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LW5vbWFyZ2luIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1zdWNjZXNzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG5cdFx0XHRib3JkZXItY29sb3I6ICNkNmU5YzY7XG5cdFx0XHRjb2xvcjogIzNjNzYzZDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtaW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjYmNlOGYxO1xuXHRcdFx0Y29sb3I6ICMzMTcwOGY7XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LXdhcm5pbmcge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcblx0XHRcdGJvcmRlci1jb2xvcjogI2ZhZWJjYztcblx0XHRcdGNvbG9yOiAjOGE2ZDNiO1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1kYW5nZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcblx0XHRcdGJvcmRlci1jb2xvcjogI2ViY2NkMTtcblx0XHRcdGNvbG9yOiAjYTk0NDQyO1xuXHRcdH1cblx0fVxufSIsIi8vIEZvcm0gZWxlbWVudCBzdHlsZXMuXG5cbiN3cGZvcm1zLWJ1aWxkZXIge1xuXG5cdC53cGZvcm1zLXBhbmVsLWZpZWxkIHtcblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59IiwiLy8gRmllbGQgcGFuZWwuXG5cbiN3cGZvcm1zLXBhbmVsLWZpZWxkcyB7XG5cblx0Ly8gU2lkZWJhciBhcmVhIChsZWZ0IHNpZGUsIGZpZWxkIGJ1dHRvbnMvb3B0aW9ucykuXG5cdC53cGZvcm1zLXBhbmVsLXNpZGViYXIge1xuXG5cdFx0LmNob2ljZXMtbGlzdCB7XG5cblx0XHRcdCYuc2hvdy1pbWFnZXMge1xuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gUGFuZWwgY29udGVudCBhcmVhIChyaWdodCBzaWRlLCBmb3JtIHByZXZpZXcgYXJlYSkuXG5cdC53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG5cblx0XHQvLyBJbWFnZSBjaG9pY2VzIChDaGVja2JveCwgUmFkaW8sIE11bHRpcGxlIHBheW1lbnQgaXRlbXMpLlxuXHRcdC53cGZvcm1zLWZpZWxkLWNoZWNrYm94LFxuXHRcdC53cGZvcm1zLWZpZWxkLXJhZGlvLFxuXHRcdC53cGZvcm1zLWZpZWxkLXBheW1lbnQtbXVsdGlwbGUge1xuXG5cdFx0XHQvLyBHZW5lcmFsIHRvcCBsZXZlbCBydWxlcy5cblx0XHRcdCYud3Bmb3Jtcy1saXN0LWlubGluZSB7XG5cblx0XHRcdFx0LnByaW1hcnktaW5wdXQge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiA1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWNsYXNzaWMge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAxMHB4IDEwcHggMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gTW9kZXJuIHN0eWxlLlxuXHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiB7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMjBweCAyMHB4IDE4cHggMjBweDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cztcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJvcmRlcjoxcHggc29saWQgI2RkZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFwyNzE0XCI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogZ3JlZW47XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRtYXJnaW46IC0xNnB4IDAgMCAtMTZweDtcblx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFNlbGVjdGVkIHN0YXRlLlxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Ji53cGZvcm1zLXNlbGVjdGVkIHtcblxuXHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1pbWFnZTphZnRlciB7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtbGFiZWwge1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBDbGFzc2ljIHN0eWxlLlxuXHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWNsYXNzaWMge1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogI2RkZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtbGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFNlbGVjdGVkIHN0YXRlLlxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Ji53cGZvcm1zLXNlbGVjdGVkIHtcblxuXHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM2NjY7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gRmllbGQgc3BlY2lmaWMgcnVsZXMuXG5cdEBpbXBvcnQgJ3BhbmVsLWZpZWxkcy9jaGVja2JveCc7XG5cdEBpbXBvcnQgJ3BhbmVsLWZpZWxkcy9nZHByLWNoZWNrYm94Jztcblx0QGltcG9ydCAncGFuZWwtZmllbGRzL3JhZGlvJztcblx0QGltcG9ydCAncGFuZWwtZmllbGRzL3BheW1lbnQtbXVsdGlwbGUnO1xufSIsIi8vIENoZWNrYm94IGZpZWxkIHR5cGUuXG5cbi8vIEZpZWxkIG9wdGlvbnMgYXJlYSAobGVmdCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLXNpZGViYXIge1xuXG5cdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1jaGVja2JveCB7XG5cblx0XHQvLyBDaG9pY2VzIGZpbGUgdXBsb2FkLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyAud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDUwcHg7XG5cdFx0XHR3aWR0aDogNjglO1xuXG5cdFx0XHQucHJldmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwyNTUsMjU1LDAuNjUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1N1wiO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTEyLjVweCAwIDAgLTEyLjVweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHVuc2V0O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuODtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIEdEUFIgQ2hlY2tib3ggZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLWdkcHItY2hlY2tib3gge1xuXG5cdFx0Ly8gQ2hvaWNlcy5cblx0XHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tcm93LWNob2ljZXMge1xuXG5cdFx0XHQvLyBIaWRlIGNob2ljZXMgZWxlbWVudHMgdGhhdCBhcmUgbm90IHJlbGV2YW50IHRvIHRoaXMgZmllbGQgdHlwZS5cblx0XHRcdC53cGZvcm1zLWhlbHAtdG9vbHRpcCxcblx0XHRcdC50b2dnbGUtYnVsay1hZGQtZGlzcGxheSxcblx0XHRcdC5hZGQsXG5cdFx0XHQucmVtb3ZlLFxuXHRcdFx0Lm1vdmUsXG5cdFx0XHQuZGVmYXVsdCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC8vIE1ha2UgQWdyZWVtZW50IHRleHQgZmllbGQgZnVsbCB3aWR0aC5cblx0XHRcdGxpIHtcblx0XHRcdFx0aW5wdXRbdHlwZT10ZXh0XSB7XG5cdFx0XHRcdFx0d2lkdGg6IDk5JTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIFJhZGlvIGZpZWxkIHR5cGUuXG5cbi8vIEZpZWxkIG9wdGlvbnMgYXJlYSAobGVmdCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLXNpZGViYXIge1xuXG5cdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yYWRpbyB7XG5cblx0XHQvLyBDaG9pY2VzIGZpbGUgdXBsb2FkLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyAud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDUwcHg7XG5cdFx0XHR3aWR0aDogNjglO1xuXG5cdFx0XHQucHJldmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwyNTUsMjU1LDAuNjUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1N1wiO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTEyLjVweCAwIDAgLTEyLjVweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHVuc2V0O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuODtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIFBheW1lbnQgTXVsdGlwbGUgZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXBheW1lbnQtbXVsdGlwbGUge1xuXG5cdFx0Ly8gQ2hvaWNlcyBmaWxlIHVwbG9hZC5cblx0XHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tcm93LWNob2ljZXMgLndwZm9ybXMtaW1hZ2UtdXBsb2FkIHtcblx0XHRcdG1hcmdpbjogNnB4IDAgMCA1MHB4O1xuXHRcdFx0d2lkdGg6IDcwJTtcblxuXHRcdFx0LnByZXZpZXcge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAyNTUsMjU1LDI1NSwwLjY1KTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGE6aG92ZXIge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGYwNTdcIjtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcblx0XHRcdFx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmVkO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRtYXJnaW46IC0xMi41cHggMCAwIC0xMi41cHg7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB1bnNldDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwLjg7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogMTAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gRm9ybSBwcmV2aWV3IGFyZWEgKHJpZ2h0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtY29udGVudC13cmFwIHtcbn0iLCIvLyBTZXR0aW5ncyBwYW5lbC5cbiN3cGZvcm1zLXBhbmVsLXNldHRpbmdzIHtcblxuXHQud3Bmb3Jtcy1wYW5lbC1jb250ZW50IHtcblxuXHRcdC53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2sge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcblx0XHRcdG1hcmdpbjogMCAwIDIwcHggMDtcblxuXHRcdFx0LndwZm9ybXMtcGFuZWwtZmllbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1oZWFkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1uYW1lLWhvbGRlcntcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTAwcHg7XG5cblx0XHRcdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1uYW1lLWVkaXQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTZweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtNnB4O1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWFjdGlvbnMge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdHdpZHRoOiAxMDBweDtcblxuXHRcdFx0XHRidXR0b24ge1xuXHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdFx0XHRcdCYud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWVkaXQge31cblxuXHRcdFx0XHRcdCYud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWRlbGV0ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogI2QyMjIyMjtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1jb250ZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtY29uZmlybWF0aW9uLWRlZmF1bHQge1xuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1kZWxldGUsXG5cdFx0XHQud3Bmb3Jtcy1jb25kaXRpb25hbC1ibG9jay1wYW5lbCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBQYXltZW50cyBwYW5lbC5cbiN3cGZvcm1zLXBhbmVsLXBheW1lbnRzIHtcblxuXHQud3Bmb3Jtcy1wYW5lbC1jb250ZW50IHtcblxuXHRcdGgyIHtcblx0XHRcdGNvbG9yOiAjNDQ0O1xuXHRcdFx0bWFyZ2luOiAxOHB4IDAgMTZweCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdH1cbn0iLCIud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyIHtcblxuXHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRwYWRkaW5nOiAwIDAgMjBweCAwO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci10aXRsZS1zcGlubmVyIHtcblx0XHRcdGNvbG9yOiBncmV5O1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogODAlO1xuXHRcdH1cblxuXHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItdGl0bGUtYWRkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwZTZjYWQ7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1ib2R5IHtcblxuXHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbiB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuXHRcdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tYmxvY2sge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cblx0XHRcdFx0aDQge1xuXHRcdFx0XHRcdG1hcmdpbjogMTZweCAwIDE2cHggMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHAuZGVzY3JpcHRpb24ge1xuXHRcdFx0XHRcdG1hcmdpbjogNnB4IDAgMDtcblx0XHRcdFx0XHRjb2xvcjogIzY2Njtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA0NTBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA0NTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tc2V0dGluZyB7XG5cdFx0XHRcdC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuXHRcdFx0XHRtYXJnaW46IDE2cHggMCAxNnB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCA4cHggMDtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsLFxuXHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsICB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9dGV4dF0sXG5cdFx0XHRcdGlucHV0W3R5cGU9bnVtYmVyXSxcblx0XHRcdFx0aW5wdXRbdHlwZT1lbWFpbF0sXG5cdFx0XHRcdHRleHRhcmVhIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uLXRpdGxlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cblx0XHRcdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uLWRlbGV0ZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjZDIyMjIyO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbi1maWVsZHMtdGFibGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2VlZTtcblx0XHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRcdFx0bWFyZ2luOiAxNnB4IDAgMDtcblxuXHRcdFx0XHQmICsgcC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5yZXF1aXJlZCB7XG5cdFx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhlYWQge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cblx0XHRcdFx0XHRpbnB1dFt0eXBlPXRleHRdLFxuXHRcdFx0XHRcdGlucHV0W3R5cGU9bnVtYmVyXSxcblx0XHRcdFx0XHRpbnB1dFt0eXBlPWVtYWlsXSxcblx0XHRcdFx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA2cHggOHB4O1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuYWRkLFxuXHRcdFx0XHRcdCYuZGVsZXRlIHtcblx0XHRcdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzAwNzNhYTtcblx0XHRcdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGJvZHkge1xuXHRcdFx0XHRcdHRyIHtcblx0XHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XG5cblx0XHRcdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdFx0cGFkZGluZzogNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlucHV0LFxuXHRcdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1wYW5lbC1maWVsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtY29uZGl0aW9uYWwtYmxvY2sge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHggMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFFRUEsQUFJRSxJQUpFLENB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 */
|
348 |
max-width: 100%;
|
349 |
}
|
350 |
|
351 |
+
#wpforms-builder .wpforms-panel-field input[readonly].readonly-active {
|
352 |
+
background-color: white;
|
353 |
+
}
|
354 |
+
|
355 |
#wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload {
|
356 |
display: block;
|
357 |
}
|
915 |
word-wrap: normal !important;
|
916 |
}
|
917 |
|
918 |
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3Bmb3Jtcy9hc3NldHMvY3NzL2J1aWxkZXIuY3NzIiwic291cmNlcyI6WyJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIuc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fY29uZmlybS5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYnV0dG9ucy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYWxlcnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX2Zvcm1zLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLWZpZWxkcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9idWlsZGVyL3BhbmVsLWZpZWxkcy9fY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX2dkcHItY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX3JhZGlvLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcGFuZWwtZmllbGRzL19wYXltZW50LW11bHRpcGxlLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXNldHRpbmdzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXBheW1lbnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcHJvdmlkZXJzL19wcm92aWRlcnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXUEZvcm1zIGZvcm0gYnVpbGRlciBzdHlsZXMuXG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhZG1pbi9jb25maXJtJztcbkBpbXBvcnQgJ2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnYWRtaW4vYWxlcnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvZm9ybXMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1maWVsZHMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1zZXR0aW5ncyc7XG5AaW1wb3J0ICdidWlsZGVyL3BhbmVsLXBheW1lbnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvcHJvdmlkZXJzL3Byb3ZpZGVycyc7XG5cbi53cGZvcm1zLXNjcmVlbi1yZWFkZXItZWxlbWVudCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cbiIsIiRvcmFuZ2U6ICNlMjc3MzA7XG4kZGFya29yYW5nZTogI2I4NWExYjtcbiRncmVlbjogIzJhOWIzOTtcbiRibHVlOiAjMGU2Y2FkO1xuJGxpZ2h0Qmx1ZTogI2ViZjNmYjtcbiIsIi8vIEFsZXJ0IHN0eWxlcy5cbi8vIFN0eWxpbmcgdHdlYWtzIGZvciBqUXVlcnktY29uZmlybSBKUyBhbGVydCBsaWJyYXJ5LlxuYm9keSB7XG5cblx0ZGl2Lmpjb25maXJtIHtcblxuXHRcdCosXG5cdFx0Kjo6YmVmb3JlLFxuXHRcdCo6OmFmdGVyIHtcblx0XHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0ZGl2Lmpjb25maXJtLWJveC1jb250YWluZXIge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tYm94IHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuXHRcdFx0XHRkaXYuamNvbmZpcm0tY2xvc2VJY29uIHtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xuXHRcdFx0XHRcdHRvcDogOHB4O1xuXHRcdFx0XHRcdHJpZ2h0OiA4cHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsMCwwLDAuODApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGRpdi5qY29uZmlybS1ib3gge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tdGl0bGUtYyB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDI2cHggMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0c3Bhbi5qY29uZmlybS1pY29uLWMge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGNvbG9yOiAjYzRjNGM0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuLmpjb25maXJtLXRpdGxlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNwYW4uamNvbmZpcm0taWNvbi1jICsgc3Bhbi5qY29uZmlybS10aXRsZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1jb250ZW50LXBhbmUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHQuamNvbmZpcm0tY29udGVudCB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0ZGl2Lmpjb25maXJtLWNvbnRlbnQge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGNvbG9yOiAjNTU1O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXG5cdFx0XHRcdCYubGl0ZS11cGdyYWRlIHtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYubGFyZ2Uge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuc21hbGwge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5hbHJlYWR5LXB1cmNoYXNlZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjY2NjO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1idXR0b25zIHtcblxuXHRcdFx0XHQuYWxyZWFkeS1wdXJjaGFzZWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRjb2xvcjogI2FhYTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5kaXNjb3VudC1ub3RlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW46IDMwcHggMCAwO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWZmYWM7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIC0zMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDI0cHggNjBweCAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0XHRjb2xvcjogIzRkNGQ0ZDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGYwNTgnO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCA2cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LXJlbmRlcmluZzogYXV0bztcblx0XHRcdFx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdFx0XHRcdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogLTIwcHg7O1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTE4cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzNhYmMwMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGNvbG9yOiAjM2FiYzAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNhYWE7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA5OSU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcblx0XHRcdH1cblxuXHRcdFx0I3dwZm9ybXMtZW1iZWQtc2hvcnRjb2RlIHtcblx0XHRcdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQjd3Bmb3Jtcy1lbWJlZC1zaG9ydGNvZGU6ZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uLmJ0bi1jb25maXJtIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZXJyb3Ige1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1lcnJvciB7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlYmNjZDEgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0Lmpjb25maXJtLXRpdGxlLWMgLmpjb25maXJtLWljb24tYyB7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDVweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0aW5wdXRbdHlwZT10ZXh0XS5jaG9pY2VzX19pbnB1dCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbiBzdHlsZXMuXG4ud3Bmb3Jtcy1hZG1pbi1wYWdlIHtcblxuXHQud3Bmb3Jtcy1idG4ge1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbWQge1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRcdG1pbi1oZWlnaHQ6IDM1cHg7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbGcge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDE2cHggMjhweDtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1vcmFuZ2Uge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdGJvcmRlci1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdGNvbG9yOiAjNjY2O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdFx0Y29sb3I6ICM0NDQ7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWxpZ2h0LWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0XHRjb2xvcjogIzY2NjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHRcdGNvbG9yOiAjNDQ0O1xuXHRcdH1cblx0fVxuXG5cdC53cGZvcm1zLWJ0bi10cmFucy1ncmVlbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHRjb2xvcjogJGdyZWVuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cblx0XHQudW5kZXJsaW5lIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRncmVlbjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IC01cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kYXNoaWNvbnMge1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLy8gQWxlcnQgc3R5bGVzLlxuLndwZm9ybXMtYWRtaW4tcGFnZSB7XG5cblx0LndwZm9ybXMtYWxlcnQge1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdGg0IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMCAwIDE1cHggMDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LW5vbWFyZ2luIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1zdWNjZXNzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG5cdFx0XHRib3JkZXItY29sb3I6ICNkNmU5YzY7XG5cdFx0XHRjb2xvcjogIzNjNzYzZDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtaW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjYmNlOGYxO1xuXHRcdFx0Y29sb3I6ICMzMTcwOGY7XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LXdhcm5pbmcge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcblx0XHRcdGJvcmRlci1jb2xvcjogI2ZhZWJjYztcblx0XHRcdGNvbG9yOiAjOGE2ZDNiO1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1kYW5nZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcblx0XHRcdGJvcmRlci1jb2xvcjogI2ViY2NkMTtcblx0XHRcdGNvbG9yOiAjYTk0NDQyO1xuXHRcdH1cblx0fVxufSIsIi8vIEZvcm0gZWxlbWVudCBzdHlsZXMuXG5cbiN3cGZvcm1zLWJ1aWxkZXIge1xuXG5cdC53cGZvcm1zLXBhbmVsLWZpZWxkIHtcblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0aW5wdXRbcmVhZG9ubHldLnJlYWRvbmx5LWFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBGaWVsZCBwYW5lbC5cblxuI3dwZm9ybXMtcGFuZWwtZmllbGRzIHtcblxuXHQvLyBTaWRlYmFyIGFyZWEgKGxlZnQgc2lkZSwgZmllbGQgYnV0dG9ucy9vcHRpb25zKS5cblx0LndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0XHQuY2hvaWNlcy1saXN0IHtcblxuXHRcdFx0Ji5zaG93LWltYWdlcyB7XG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtaW1hZ2UtdXBsb2FkIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBQYW5lbCBjb250ZW50IGFyZWEgKHJpZ2h0IHNpZGUsIGZvcm0gcHJldmlldyBhcmVhKS5cblx0LndwZm9ybXMtcGFuZWwtY29udGVudC13cmFwIHtcblxuXHRcdC8vIEltYWdlIGNob2ljZXMgKENoZWNrYm94LCBSYWRpbywgTXVsdGlwbGUgcGF5bWVudCBpdGVtcykuXG5cdFx0LndwZm9ybXMtZmllbGQtY2hlY2tib3gsXG5cdFx0LndwZm9ybXMtZmllbGQtcmFkaW8sXG5cdFx0LndwZm9ybXMtZmllbGQtcGF5bWVudC1tdWx0aXBsZSB7XG5cblx0XHRcdC8vIEdlbmVyYWwgdG9wIGxldmVsIHJ1bGVzLlxuXHRcdFx0Ji53cGZvcm1zLWxpc3QtaW5saW5lIHtcblxuXHRcdFx0XHQucHJpbWFyeS1pbnB1dCB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIHtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMTBweCAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBNb2Rlcm4gc3R5bGUuXG5cdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIHtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggMThweCAyMHB4O1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Ym9yZGVyOjFweCBzb2xpZCAjZGRkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtaW1hZ2Uge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXDI3MTRcIjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBncmVlbjtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTE2cHggMCAwIC0xNnB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gU2VsZWN0ZWQgc3RhdGUuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQmLndwZm9ybXMtc2VsZWN0ZWQge1xuXG5cdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIENsYXNzaWMgc3R5bGUuXG5cdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyB7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZGRkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtaW1hZ2Uge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gU2VsZWN0ZWQgc3RhdGUuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQmLndwZm9ybXMtc2VsZWN0ZWQge1xuXG5cdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzY2Njtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBGaWVsZCBzcGVjaWZpYyBydWxlcy5cblx0QGltcG9ydCAncGFuZWwtZmllbGRzL2NoZWNrYm94Jztcblx0QGltcG9ydCAncGFuZWwtZmllbGRzL2dkcHItY2hlY2tib3gnO1xuXHRAaW1wb3J0ICdwYW5lbC1maWVsZHMvcmFkaW8nO1xuXHRAaW1wb3J0ICdwYW5lbC1maWVsZHMvcGF5bWVudC1tdWx0aXBsZSc7XG59IiwiLy8gQ2hlY2tib3ggZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLWNoZWNrYm94IHtcblxuXHRcdC8vIENob2ljZXMgZmlsZSB1cGxvYWQuXG5cdFx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXJvdy1jaG9pY2VzIC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRtYXJnaW46IDZweCAwIDAgNTBweDtcblx0XHRcdHdpZHRoOiA2OCU7XG5cblx0XHRcdC5wcmV2aWV3IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggMjU1LDI1NSwyNTUsMC42NSk7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjVweDtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAtMTIuNXB4IDAgMCAtMTIuNXB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMC44O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvcm0gcHJldmlldyBhcmVhIChyaWdodCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG59IiwiLy8gR0RQUiBDaGVja2JveCBmaWVsZCB0eXBlLlxuXG4vLyBGaWVsZCBvcHRpb25zIGFyZWEgKGxlZnQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1zaWRlYmFyIHtcblxuXHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tZ2Rwci1jaGVja2JveCB7XG5cblx0XHQvLyBDaG9pY2VzLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyB7XG5cblx0XHRcdC8vIEhpZGUgY2hvaWNlcyBlbGVtZW50cyB0aGF0IGFyZSBub3QgcmVsZXZhbnQgdG8gdGhpcyBmaWVsZCB0eXBlLlxuXHRcdFx0LndwZm9ybXMtaGVscC10b29sdGlwLFxuXHRcdFx0LnRvZ2dsZS1idWxrLWFkZC1kaXNwbGF5LFxuXHRcdFx0LmFkZCxcblx0XHRcdC5yZW1vdmUsXG5cdFx0XHQubW92ZSxcblx0XHRcdC5kZWZhdWx0IHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gTWFrZSBBZ3JlZW1lbnQgdGV4dCBmaWVsZCBmdWxsIHdpZHRoLlxuXHRcdFx0bGkge1xuXHRcdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0XHR3aWR0aDogOTklO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvcm0gcHJldmlldyBhcmVhIChyaWdodCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG59IiwiLy8gUmFkaW8gZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXJhZGlvIHtcblxuXHRcdC8vIENob2ljZXMgZmlsZSB1cGxvYWQuXG5cdFx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXJvdy1jaG9pY2VzIC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRtYXJnaW46IDZweCAwIDAgNTBweDtcblx0XHRcdHdpZHRoOiA2OCU7XG5cblx0XHRcdC5wcmV2aWV3IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggMjU1LDI1NSwyNTUsMC42NSk7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjVweDtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAtMTIuNXB4IDAgMCAtMTIuNXB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMC44O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvcm0gcHJldmlldyBhcmVhIChyaWdodCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG59IiwiLy8gUGF5bWVudCBNdWx0aXBsZSBmaWVsZCB0eXBlLlxuXG4vLyBGaWVsZCBvcHRpb25zIGFyZWEgKGxlZnQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1zaWRlYmFyIHtcblxuXHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tcGF5bWVudC1tdWx0aXBsZSB7XG5cblx0XHQvLyBDaG9pY2VzIGZpbGUgdXBsb2FkLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyAud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDUwcHg7XG5cdFx0XHR3aWR0aDogNzAlO1xuXG5cdFx0XHQucHJldmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwyNTUsMjU1LDAuNjUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1N1wiO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTEyLjVweCAwIDAgLTEyLjVweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHVuc2V0O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuODtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIFNldHRpbmdzIHBhbmVsLlxuI3dwZm9ybXMtcGFuZWwtc2V0dGluZ3Mge1xuXG5cdC53cGZvcm1zLXBhbmVsLWNvbnRlbnQge1xuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jayB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuXHRcdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXG5cdFx0XHQud3Bmb3Jtcy1wYW5lbC1maWVsZCB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWhlYWRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLW5hbWUtaG9sZGVye1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMDBweDtcblxuXHRcdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLW5hbWUtZWRpdCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC02cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2stYWN0aW9ucyB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXG5cdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0XHRcdFx0Ji53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2stZWRpdCB7fVxuXG5cdFx0XHRcdFx0Ji53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2stZGVsZXRlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZDIyMjIyO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1jb25maXJtYXRpb24tZGVmYXVsdCB7XG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWRlbGV0ZSxcblx0XHRcdC53cGZvcm1zLWNvbmRpdGlvbmFsLWJsb2NrLXBhbmVsIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIFBheW1lbnRzIHBhbmVsLlxuI3dwZm9ybXMtcGFuZWwtcGF5bWVudHMge1xuXG5cdC53cGZvcm1zLXBhbmVsLWNvbnRlbnQge1xuXG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICM0NDQ7XG5cdFx0XHRtYXJnaW46IDE4cHggMCAxNnB4IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdH1cblx0fVxufSIsIi53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXIge1xuXG5cdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDAgMCAyMHB4IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7XG5cblx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLXRpdGxlLXNwaW5uZXIge1xuXHRcdFx0Y29sb3I6IGdyZXk7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiA4MCU7XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci10aXRsZS1hZGQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzBlNmNhZDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdH1cblxuXHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWJvZHkge1xuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG5cdFx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbi1ibG9jayB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblxuXHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0bWFyZ2luOiAxNnB4IDAgMTZweCAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdFx0bWFyZ2luOiA2cHggMCAwO1xuXHRcdFx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbi1zZXR0aW5nIHtcblx0XHRcdFx0Ly9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdG1hcmdpbjogMTZweCAwIDE2cHg7XG5cdFx0XHRcdG1heC13aWR0aDogNDUwcHg7XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDhweCAwO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwsXG5cdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwgIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5wdXRbdHlwZT10ZXh0XSxcblx0XHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxuXHRcdFx0XHRpbnB1dFt0eXBlPWVtYWlsXSxcblx0XHRcdFx0dGV4dGFyZWEge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdFx0cGFkZGluZzogNnB4IDhweDtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tdGl0bGUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblxuXHRcdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tZGVsZXRlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Y29sb3I6ICNkMjIyMjI7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uLWZpZWxkcy10YWJsZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuXHRcdFx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdFx0XHRtYXJnaW46IDE2cHggMCAwO1xuXG5cdFx0XHRcdCYgKyBwLmRlc2NyaXB0aW9uIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnJlcXVpcmVkIHtcblx0XHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGVhZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblxuXHRcdFx0XHRcdGlucHV0W3R5cGU9dGV4dF0sXG5cdFx0XHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxuXHRcdFx0XHRcdGlucHV0W3R5cGU9ZW1haWxdLFxuXHRcdFx0XHRcdHRleHRhcmVhIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2Q2ZDZkNjtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hZGQsXG5cdFx0XHRcdFx0Ji5kZWxldGUge1xuXHRcdFx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjMDA3M2FhO1xuXHRcdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0Ym9keSB7XG5cdFx0XHRcdFx0dHIge1xuXHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAwIDEwcHggMTBweDtcblxuXHRcdFx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW5wdXQsXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLXBhbmVsLWZpZWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1jb25kaXRpb25hbC1ibG9jayB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE2cHgg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 */
|
assets/css/builder.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
body div.jconfirm *,body div.jconfirm *::before,body div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body div.jconfirm div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,0.2)}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.4);top:8px;right:8px}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,0.8)}body div.jconfirm div.jconfirm-box div.jconfirm-title-c{margin:0 0 26px 0 !important;padding:0 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c{margin:0 !important;color:#c4c4c4 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-title{display:block;color:#333}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c+span.jconfirm-title{margin-top:20px !important}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane{margin-bottom:26px;display:block}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:inherit}body div.jconfirm div.jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.4}body div.jconfirm div.jconfirm-box div.jconfirm-content.lite-upgrade p{font-size:18px;padding:0 20px}body div.jconfirm div.jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px;line-height:1.5}body div.jconfirm div.jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body div.jconfirm div.jconfirm-box div.jconfirm-content p.large{font-size:18px}body div.jconfirm div.jconfirm-box div.jconfirm-content p.small{font-size:14px}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased{font-size:12px;color:#ccc;text-decoration:none}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased:hover{text-decoration:underline}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased{display:block;font-size:12px;color:#aaa;text-decoration:none;padding-top:20px}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased:hover{color:#999;text-decoration:underline}body div.jconfirm div.jconfirm-box .discount-note{text-align:center;margin:30px 0 0}body div.jconfirm div.jconfirm-box .discount-note p{background-color:#faffac;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body div.jconfirm div.jconfirm-box .discount-note p:after{content:'\f058';display:inline-block;font:normal normal normal 14px/1 FontAwesome;background-color:#fff;font-size:26px;border-radius:50%;padding:5px 6px;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:-20px;right:50%;margin-right:-18px;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note span{font-weight:700;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note a{color:#aaa;display:block;margin-top:12px}body div.jconfirm div.jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode:disabled{color:#333}body div.jconfirm div.jconfirm-box button.btn-confirm{background-color:#e27730;color:#fff;outline:none}body div.jconfirm div.jconfirm-box button.btn-confirm:hover{background-color:#b85a1b;border-color:#b85a1b}body div.jconfirm div.jconfirm-box .error{display:none;color:red}body div.jconfirm div.jconfirm-box .wpforms-error{border:1px solid #ebccd1 !important}body div.jconfirm div.jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;font-size:45px !important}body .choices{text-align:left}body .choices input[type=text].choices__input{display:inline-block !important}.wpforms-admin-page .wpforms-btn{border:0;border-radius:3px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none}.wpforms-admin-page .wpforms-btn-block{display:block;width:100%}.wpforms-admin-page .wpforms-btn-md{font-size:13px;font-weight:600;padding:8px 12px;min-height:35px}.wpforms-admin-page .wpforms-btn-lg{font-size:16px;font-weight:600;padding:16px 28px}.wpforms-admin-page .wpforms-btn-orange{background-color:#e27730;border-color:#e27730;color:#fff}.wpforms-admin-page .wpforms-btn-orange:hover{background-color:#b85a1b;border-color:#b85a1b}.wpforms-admin-page .wpforms-btn-grey{background-color:#eee;border-color:#ccc;color:#666}.wpforms-admin-page .wpforms-btn-grey:hover{background-color:#d7d7d7;border-color:#ccc;color:#444}.wpforms-admin-page .wpforms-btn-light-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wpforms-admin-page .wpforms-btn-light-grey:hover{background-color:#eee;color:#444}.wpforms-admin-page .wpforms-btn-trans-green{background-color:none;color:#2a9b39}.wpforms-admin-page .wpforms-btn-trans-green:hover{background-color:#2a9b39;color:#fff}.wpforms-admin-page .wpforms-btn-trans-green .underline{position:relative}.wpforms-admin-page .wpforms-btn-trans-green .underline:after{content:" ";border-bottom:1px dashed #2a9b39;position:absolute;bottom:-5px;left:0;width:100%}.wpforms-admin-page .wpforms-btn-trans-green .dashicons{height:18px}.wpforms-admin-page .wpforms-alert{padding:16px;margin-bottom:18px;border:1px solid transparent}.wpforms-admin-page .wpforms-alert h4{margin-top:0;color:inherit}.wpforms-admin-page .wpforms-alert p{margin:0 0 15px 0}.wpforms-admin-page .wpforms-alert p:last-of-type{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-nomargin{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-small{font-size:12px}.wpforms-admin-page .wpforms-alert.wpforms-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpforms-admin-page .wpforms-alert.wpforms-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.wpforms-admin-page .wpforms-alert.wpforms-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.wpforms-admin-page .wpforms-alert.wpforms-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpforms-builder .wpforms-panel-field select{max-width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload{display:block}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list .wpforms-image-upload{display:none}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline .primary-input li{vertical-align:top}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-modern li{margin:5px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-classic li{margin:0 10px 10px 0}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:1px solid #fff;border-radius:3px;padding:20px 20px 18px 20px;transition:all 0.5s;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label:hover{border:1px solid #ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image:after{content:"\2714";font-size:22px;line-height:32px;color:#fff;background:green;opacity:0;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;width:32px;height:32px;border-radius:50%;transition:all 0.5s}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-label{display:block;margin-top:12px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected label{box-shadow:0 0 20px 0 rgba(0,0,0,0.1)}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after{opacity:1}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label{font-weight:700}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:2px solid #fff;padding:10px;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label:hover{border-color:#ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-image{display:block}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-label{display:block;margin-top:8px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic li.wpforms-selected label{border-color:#666}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .wpforms-help-tooltip,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .toggle-bulk-add-display,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .add,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .remove,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .move,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .default{display:none}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices li input[type=text]{width:99%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:70%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block{border:1px solid #d3d3d3;margin:0 0 20px 0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block .wpforms-panel-field{padding:0 20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header{background-color:#f1f1f1;padding:10px 20px;font-size:16px;margin:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder{display:block;margin-right:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit{display:none;margin-top:-6px;margin-bottom:-6px;width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit.active{display:inline-block}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit input{width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions{display:inline-block;float:right;text-align:right;width:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button{-webkit-appearance:none;background-color:transparent;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button.wpforms-builder-settings-block-delete{color:#d22222;padding-right:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-content{margin-top:20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-builder-settings-block-delete,#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-conditional-block-panel{display:none}#wpforms-panel-payments .wpforms-panel-content h2{color:#444;margin:18px 0 16px 0;padding:0;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-title{font-size:24px;margin-bottom:20px;padding:0 0 20px 0;border-bottom:1px solid #d3d3d3}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-spinner{color:grey;display:none;font-size:80%}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-add{background-color:#0e6cad;color:#fff;border:none;-webkit-appearance:none;border-radius:2px;font-size:14px;font-weight:500;float:right;padding:10px;margin-top:-10px;cursor:pointer}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection{border:1px solid #d3d3d3;margin:0 0 20px 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block{padding:0 20px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block h4{margin:16px 0 16px 0;padding:0;font-size:15px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block p.description{margin:6px 0 0;color:#666;font-size:12px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block select{width:100%;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting{margin:16px 0 16px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting label{display:block;font-size:14px;font-weight:400;margin:0 0 8px 0;vertical-align:text-top}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=checkbox]+label,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=radio]+label{display:inline-block;margin:0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting select{width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title{background-color:#f1f1f1;padding:10px 20px;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title .wpforms-builder-provider-connection-delete{background-color:transparent;cursor:pointer;-webkit-appearance:none;border:none;font-size:16px;color:#d22222;line-height:1;margin-top:-2px;float:right}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table{width:100%;border:1px solid #eee;border-collapse:collapse;margin:16px 0 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table+p.description{margin-bottom:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table .required{color:red;font-weight:700}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead{font-size:11px;font-weight:700;text-transform:uppercase}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead th{background-color:#f1f1f1;padding:5px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td{width:50%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button{margin:0;border:none;background:none;padding:0;box-shadow:none;line-height:1;height:auto;color:#0073aa}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button i,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button i{font-size:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td{border-top:1px solid #eee;padding:10px 0 10px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td:last-of-type{padding-right:10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input{padding:4px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table select{width:100%;max-width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-panel-field{margin-bottom:0 !important}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-conditional-block{padding:0 20px 20px !important;margin-top:16px !important}.wpforms-screen-reader-element{position:absolute !important;clip:rect(0, 0, 0, 0) !important;height:1px !important;width:1px !important;border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;word-wrap:normal !important}
|
1 |
+
body div.jconfirm *,body div.jconfirm *::before,body div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body div.jconfirm div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,0.2)}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.4);top:8px;right:8px}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,0.8)}body div.jconfirm div.jconfirm-box div.jconfirm-title-c{margin:0 0 26px 0 !important;padding:0 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c{margin:0 !important;color:#c4c4c4 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-title{display:block;color:#333}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c+span.jconfirm-title{margin-top:20px !important}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane{margin-bottom:26px;display:block}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:inherit}body div.jconfirm div.jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.4}body div.jconfirm div.jconfirm-box div.jconfirm-content.lite-upgrade p{font-size:18px;padding:0 20px}body div.jconfirm div.jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px;line-height:1.5}body div.jconfirm div.jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body div.jconfirm div.jconfirm-box div.jconfirm-content p.large{font-size:18px}body div.jconfirm div.jconfirm-box div.jconfirm-content p.small{font-size:14px}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased{font-size:12px;color:#ccc;text-decoration:none}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased:hover{text-decoration:underline}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased{display:block;font-size:12px;color:#aaa;text-decoration:none;padding-top:20px}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased:hover{color:#999;text-decoration:underline}body div.jconfirm div.jconfirm-box .discount-note{text-align:center;margin:30px 0 0}body div.jconfirm div.jconfirm-box .discount-note p{background-color:#faffac;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body div.jconfirm div.jconfirm-box .discount-note p:after{content:'\f058';display:inline-block;font:normal normal normal 14px/1 FontAwesome;background-color:#fff;font-size:26px;border-radius:50%;padding:5px 6px;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:-20px;right:50%;margin-right:-18px;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note span{font-weight:700;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note a{color:#aaa;display:block;margin-top:12px}body div.jconfirm div.jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode:disabled{color:#333}body div.jconfirm div.jconfirm-box button.btn-confirm{background-color:#e27730;color:#fff;outline:none}body div.jconfirm div.jconfirm-box button.btn-confirm:hover{background-color:#b85a1b;border-color:#b85a1b}body div.jconfirm div.jconfirm-box .error{display:none;color:red}body div.jconfirm div.jconfirm-box .wpforms-error{border:1px solid #ebccd1 !important}body div.jconfirm div.jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;font-size:45px !important}body .choices{text-align:left}body .choices input[type=text].choices__input{display:inline-block !important}.wpforms-admin-page .wpforms-btn{border:0;border-radius:3px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none}.wpforms-admin-page .wpforms-btn-block{display:block;width:100%}.wpforms-admin-page .wpforms-btn-md{font-size:13px;font-weight:600;padding:8px 12px;min-height:35px}.wpforms-admin-page .wpforms-btn-lg{font-size:16px;font-weight:600;padding:16px 28px}.wpforms-admin-page .wpforms-btn-orange{background-color:#e27730;border-color:#e27730;color:#fff}.wpforms-admin-page .wpforms-btn-orange:hover{background-color:#b85a1b;border-color:#b85a1b}.wpforms-admin-page .wpforms-btn-grey{background-color:#eee;border-color:#ccc;color:#666}.wpforms-admin-page .wpforms-btn-grey:hover{background-color:#d7d7d7;border-color:#ccc;color:#444}.wpforms-admin-page .wpforms-btn-light-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wpforms-admin-page .wpforms-btn-light-grey:hover{background-color:#eee;color:#444}.wpforms-admin-page .wpforms-btn-trans-green{background-color:none;color:#2a9b39}.wpforms-admin-page .wpforms-btn-trans-green:hover{background-color:#2a9b39;color:#fff}.wpforms-admin-page .wpforms-btn-trans-green .underline{position:relative}.wpforms-admin-page .wpforms-btn-trans-green .underline:after{content:" ";border-bottom:1px dashed #2a9b39;position:absolute;bottom:-5px;left:0;width:100%}.wpforms-admin-page .wpforms-btn-trans-green .dashicons{height:18px}.wpforms-admin-page .wpforms-alert{padding:16px;margin-bottom:18px;border:1px solid transparent}.wpforms-admin-page .wpforms-alert h4{margin-top:0;color:inherit}.wpforms-admin-page .wpforms-alert p{margin:0 0 15px 0}.wpforms-admin-page .wpforms-alert p:last-of-type{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-nomargin{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-small{font-size:12px}.wpforms-admin-page .wpforms-alert.wpforms-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpforms-admin-page .wpforms-alert.wpforms-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.wpforms-admin-page .wpforms-alert.wpforms-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.wpforms-admin-page .wpforms-alert.wpforms-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpforms-builder .wpforms-panel-field select{max-width:100%}#wpforms-builder .wpforms-panel-field input[readonly].readonly-active{background-color:white}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload{display:block}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list .wpforms-image-upload{display:none}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline .primary-input li{vertical-align:top}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-modern li{margin:5px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-classic li{margin:0 10px 10px 0}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:1px solid #fff;border-radius:3px;padding:20px 20px 18px 20px;transition:all 0.5s;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label:hover{border:1px solid #ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image:after{content:"\2714";font-size:22px;line-height:32px;color:#fff;background:green;opacity:0;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;width:32px;height:32px;border-radius:50%;transition:all 0.5s}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-label{display:block;margin-top:12px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected label{box-shadow:0 0 20px 0 rgba(0,0,0,0.1)}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after{opacity:1}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label{font-weight:700}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:2px solid #fff;padding:10px;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label:hover{border-color:#ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-image{display:block}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-label{display:block;margin-top:8px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic li.wpforms-selected label{border-color:#666}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .wpforms-help-tooltip,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .toggle-bulk-add-display,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .add,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .remove,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .move,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .default{display:none}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices li input[type=text]{width:99%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:70%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block{border:1px solid #d3d3d3;margin:0 0 20px 0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block .wpforms-panel-field{padding:0 20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header{background-color:#f1f1f1;padding:10px 20px;font-size:16px;margin:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder{display:block;margin-right:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit{display:none;margin-top:-6px;margin-bottom:-6px;width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit.active{display:inline-block}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit input{width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions{display:inline-block;float:right;text-align:right;width:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button{-webkit-appearance:none;background-color:transparent;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button.wpforms-builder-settings-block-delete{color:#d22222;padding-right:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-content{margin-top:20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-builder-settings-block-delete,#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-conditional-block-panel{display:none}#wpforms-panel-payments .wpforms-panel-content h2{color:#444;margin:18px 0 16px 0;padding:0;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-title{font-size:24px;margin-bottom:20px;padding:0 0 20px 0;border-bottom:1px solid #d3d3d3}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-spinner{color:grey;display:none;font-size:80%}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-add{background-color:#0e6cad;color:#fff;border:none;-webkit-appearance:none;border-radius:2px;font-size:14px;font-weight:500;float:right;padding:10px;margin-top:-10px;cursor:pointer}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection{border:1px solid #d3d3d3;margin:0 0 20px 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block{padding:0 20px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block h4{margin:16px 0 16px 0;padding:0;font-size:15px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block p.description{margin:6px 0 0;color:#666;font-size:12px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block select{width:100%;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting{margin:16px 0 16px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting label{display:block;font-size:14px;font-weight:400;margin:0 0 8px 0;vertical-align:text-top}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=checkbox]+label,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=radio]+label{display:inline-block;margin:0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting select{width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title{background-color:#f1f1f1;padding:10px 20px;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title .wpforms-builder-provider-connection-delete{background-color:transparent;cursor:pointer;-webkit-appearance:none;border:none;font-size:16px;color:#d22222;line-height:1;margin-top:-2px;float:right}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table{width:100%;border:1px solid #eee;border-collapse:collapse;margin:16px 0 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table+p.description{margin-bottom:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table .required{color:red;font-weight:700}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead{font-size:11px;font-weight:700;text-transform:uppercase}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead th{background-color:#f1f1f1;padding:5px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td{width:50%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button{margin:0;border:none;background:none;padding:0;box-shadow:none;line-height:1;height:auto;color:#0073aa}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button i,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button i{font-size:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td{border-top:1px solid #eee;padding:10px 0 10px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td:last-of-type{padding-right:10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input{padding:4px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table select{width:100%;max-width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-panel-field{margin-bottom:0 !important}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-conditional-block{padding:0 20px 20px !important;margin-top:16px !important}.wpforms-screen-reader-element{position:absolute !important;clip:rect(0, 0, 0, 0) !important;height:1px !important;width:1px !important;border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;word-wrap:normal !important}
|
assets/css/tooltipster.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
|
2 |
.tooltipster-default {
|
3 |
-
border-radius: 5px;
|
4 |
/*border: 2px solid #000;*/
|
5 |
background: #4c4c4c;
|
6 |
color: #fff;
|
@@ -15,6 +15,10 @@
|
|
15 |
overflow: hidden;
|
16 |
}
|
17 |
|
|
|
|
|
|
|
|
|
18 |
/* This next selector defines the color of the border on the outside of the arrow. This will automatically match the color and size of the border set on the main tooltip styles. Set display: none; if you would like a border around the tooltip but no border around the arrow */
|
19 |
.tooltipster-default .tooltipster-arrow .tooltipster-arrow-border {
|
20 |
/* border-color: ... !important; */
|
@@ -56,7 +60,7 @@
|
|
56 |
}
|
57 |
.tooltipster-arrow span, .tooltipster-arrow-border {
|
58 |
display: block;
|
59 |
-
width: 0;
|
60 |
height: 0;
|
61 |
position: absolute;
|
62 |
}
|
@@ -104,7 +108,7 @@
|
|
104 |
}
|
105 |
.tooltipster-arrow-left span, .tooltipster-arrow-left .tooltipster-arrow-border {
|
106 |
border-top: 8px solid transparent !important;
|
107 |
-
border-bottom: 8px solid transparent !important;
|
108 |
border-left: 8px solid;
|
109 |
top: 50%;
|
110 |
margin-top: -7px;
|
@@ -112,13 +116,13 @@
|
|
112 |
}
|
113 |
.tooltipster-arrow-left .tooltipster-arrow-border {
|
114 |
border-top: 9px solid transparent !important;
|
115 |
-
border-bottom: 9px solid transparent !important;
|
116 |
border-left: 9px solid;
|
117 |
margin-top: -8px;
|
118 |
}
|
119 |
.tooltipster-arrow-right span, .tooltipster-arrow-right .tooltipster-arrow-border {
|
120 |
border-top: 8px solid transparent !important;
|
121 |
-
border-bottom: 8px solid transparent !important;
|
122 |
border-right: 8px solid;
|
123 |
top: 50%;
|
124 |
margin-top: -7px;
|
@@ -126,7 +130,7 @@
|
|
126 |
}
|
127 |
.tooltipster-arrow-right .tooltipster-arrow-border {
|
128 |
border-top: 9px solid transparent !important;
|
129 |
-
border-bottom: 9px solid transparent !important;
|
130 |
border-right: 9px solid;
|
131 |
margin-top: -8px;
|
132 |
}
|
@@ -165,10 +169,10 @@
|
|
165 |
-ms-transform: scale(1,1);
|
166 |
transform: scale(1,1);
|
167 |
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
168 |
-
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
169 |
-
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
170 |
-
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
171 |
-
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
172 |
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
173 |
}
|
174 |
|
@@ -193,10 +197,10 @@
|
|
193 |
-ms-transform: rotateZ(0deg);
|
194 |
transform: rotateZ(0deg);
|
195 |
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1);
|
196 |
-
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
197 |
-
-moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
198 |
-
-ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
199 |
-
-o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
200 |
transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
201 |
}
|
202 |
|
@@ -208,11 +212,11 @@
|
|
208 |
-ms-transition-property: top;
|
209 |
transition-property: top;
|
210 |
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
211 |
-
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
212 |
-
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
213 |
-
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
214 |
-
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
215 |
-
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
216 |
}
|
217 |
.tooltipster-fall-show {
|
218 |
}
|
@@ -234,10 +238,10 @@
|
|
234 |
-ms-transition-property: left;
|
235 |
transition-property: left;
|
236 |
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
237 |
-
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
238 |
-
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
239 |
-
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
240 |
-
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
241 |
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
242 |
}
|
243 |
.tooltipster-slide.tooltipster-slide-show {
|
1 |
/* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
|
2 |
.tooltipster-default {
|
3 |
+
border-radius: 5px;
|
4 |
/*border: 2px solid #000;*/
|
5 |
background: #4c4c4c;
|
6 |
color: #fff;
|
15 |
overflow: hidden;
|
16 |
}
|
17 |
|
18 |
+
.tooltipster-default .tooltipster-content a {
|
19 |
+
color: #fff;
|
20 |
+
}
|
21 |
+
|
22 |
/* This next selector defines the color of the border on the outside of the arrow. This will automatically match the color and size of the border set on the main tooltip styles. Set display: none; if you would like a border around the tooltip but no border around the arrow */
|
23 |
.tooltipster-default .tooltipster-arrow .tooltipster-arrow-border {
|
24 |
/* border-color: ... !important; */
|
60 |
}
|
61 |
.tooltipster-arrow span, .tooltipster-arrow-border {
|
62 |
display: block;
|
63 |
+
width: 0;
|
64 |
height: 0;
|
65 |
position: absolute;
|
66 |
}
|
108 |
}
|
109 |
.tooltipster-arrow-left span, .tooltipster-arrow-left .tooltipster-arrow-border {
|
110 |
border-top: 8px solid transparent !important;
|
111 |
+
border-bottom: 8px solid transparent !important;
|
112 |
border-left: 8px solid;
|
113 |
top: 50%;
|
114 |
margin-top: -7px;
|
116 |
}
|
117 |
.tooltipster-arrow-left .tooltipster-arrow-border {
|
118 |
border-top: 9px solid transparent !important;
|
119 |
+
border-bottom: 9px solid transparent !important;
|
120 |
border-left: 9px solid;
|
121 |
margin-top: -8px;
|
122 |
}
|
123 |
.tooltipster-arrow-right span, .tooltipster-arrow-right .tooltipster-arrow-border {
|
124 |
border-top: 8px solid transparent !important;
|
125 |
+
border-bottom: 8px solid transparent !important;
|
126 |
border-right: 8px solid;
|
127 |
top: 50%;
|
128 |
margin-top: -7px;
|
130 |
}
|
131 |
.tooltipster-arrow-right .tooltipster-arrow-border {
|
132 |
border-top: 9px solid transparent !important;
|
133 |
+
border-bottom: 9px solid transparent !important;
|
134 |
border-right: 9px solid;
|
135 |
margin-top: -8px;
|
136 |
}
|
169 |
-ms-transform: scale(1,1);
|
170 |
transform: scale(1,1);
|
171 |
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
172 |
+
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
173 |
+
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
174 |
+
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
175 |
+
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
176 |
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
177 |
}
|
178 |
|
197 |
-ms-transform: rotateZ(0deg);
|
198 |
transform: rotateZ(0deg);
|
199 |
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1);
|
200 |
+
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
201 |
+
-moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
202 |
+
-ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
203 |
+
-o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
204 |
transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
|
205 |
}
|
206 |
|
212 |
-ms-transition-property: top;
|
213 |
transition-property: top;
|
214 |
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
215 |
+
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
216 |
+
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
217 |
+
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
218 |
+
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
219 |
+
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
220 |
}
|
221 |
.tooltipster-fall-show {
|
222 |
}
|
238 |
-ms-transition-property: left;
|
239 |
transition-property: left;
|
240 |
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
|
241 |
+
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
242 |
+
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
243 |
+
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
244 |
+
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
245 |
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
|
246 |
}
|
247 |
.tooltipster-slide.tooltipster-slide-show {
|
assets/js/admin-builder.js
CHANGED
@@ -2930,6 +2930,14 @@
|
|
2930 |
|
2931 |
$builder.trigger( 'wpformsImageUploadRemove', [ $( this ), $container ] );
|
2932 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2933 |
},
|
2934 |
|
2935 |
/**
|
@@ -3146,6 +3154,24 @@
|
|
3146 |
});
|
3147 |
},
|
3148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3149 |
//--------------------------------------------------------------------//
|
3150 |
// Other functions
|
3151 |
//--------------------------------------------------------------------//
|
2930 |
|
2931 |
$builder.trigger( 'wpformsImageUploadRemove', [ $( this ), $container ] );
|
2932 |
});
|
2933 |
+
|
2934 |
+
// Validate email smart tags in Notifications fields.
|
2935 |
+
$builder.on( 'blur', '.wpforms-notification .wpforms-panel-field-text input', function() {
|
2936 |
+
WPFormsBuilder.validateEmailSmartTags( $( this ) );
|
2937 |
+
});
|
2938 |
+
$builder.on( 'blur', '.wpforms-notification .wpforms-panel-field-textarea textarea', function() {
|
2939 |
+
WPFormsBuilder.validateEmailSmartTags( $( this ) );
|
2940 |
+
});
|
2941 |
},
|
2942 |
|
2943 |
/**
|
3154 |
});
|
3155 |
},
|
3156 |
|
3157 |
+
/**
|
3158 |
+
* Validate email smart tags in Notifications fields.
|
3159 |
+
*
|
3160 |
+
* @since 1.4.9
|
3161 |
+
*/
|
3162 |
+
validateEmailSmartTags: function( $el ) {
|
3163 |
+
var val = $el.val();
|
3164 |
+
if ( ! val ) {
|
3165 |
+
return;
|
3166 |
+
}
|
3167 |
+
// Turns '{email@domain.com}' into 'email@domain.com'
|
3168 |
+
// Email RegEx inpired by http://emailregex.com
|
3169 |
+
val = val.replace( /{(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))}/g, function ( x ) {
|
3170 |
+
return x.slice( 1, -1 );
|
3171 |
+
} );
|
3172 |
+
$el.val( val );
|
3173 |
+
},
|
3174 |
+
|
3175 |
//--------------------------------------------------------------------//
|
3176 |
// Other functions
|
3177 |
//--------------------------------------------------------------------//
|
assets/js/admin-utils.js
CHANGED
@@ -562,11 +562,12 @@ var wpf = {
|
|
562 |
*/
|
563 |
initTooltips: function() {
|
564 |
|
565 |
-
|
566 |
contentAsHTML: true,
|
567 |
position: 'right',
|
568 |
maxWidth: 300,
|
569 |
-
multiple: true
|
|
|
570 |
} );
|
571 |
}
|
572 |
};
|
562 |
*/
|
563 |
initTooltips: function() {
|
564 |
|
565 |
+
jQuery( '.wpforms-help-tooltip' ).tooltipster( {
|
566 |
contentAsHTML: true,
|
567 |
position: 'right',
|
568 |
maxWidth: 300,
|
569 |
+
multiple: true,
|
570 |
+
interactive: true
|
571 |
} );
|
572 |
}
|
573 |
};
|
assets/js/wpforms-confirmation.js
CHANGED
@@ -1,16 +1,10 @@
|
|
1 |
/* globals jQuery */
|
2 |
-
;(function($){
|
3 |
-
$(function(){
|
4 |
-
if (
|
5 |
-
|
6 |
-
$
|
7 |
-
|
8 |
-
if ( 'undefined' !== hash[0] && 'wpforms' === hash[0] && 'undefined' !== hash[1] ) {
|
9 |
-
$form = $('#wpforms-confirmation-'+hash[1]);
|
10 |
-
$('html,body').animate({
|
11 |
-
scrollTop: ($form.offset().top)-100
|
12 |
-
}, 1000);
|
13 |
-
}
|
14 |
}
|
15 |
-
});
|
16 |
-
}(jQuery));
|
1 |
/* globals jQuery */
|
2 |
+
;( function( $ ){
|
3 |
+
$( function(){
|
4 |
+
if ( $( 'div.wpforms-confirmation-scroll' ).length ) {
|
5 |
+
$( 'html,body' ).animate( {
|
6 |
+
scrollTop: ( $( 'div.wpforms-confirmation-scroll' ).offset().top ) - 100
|
7 |
+
}, 1000 );
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
}
|
9 |
+
} );
|
10 |
+
}( jQuery ) );
|
assets/js/wpforms.js
CHANGED
@@ -236,7 +236,37 @@
|
|
236 |
// Form contains invisible reCAPTCHA.
|
237 |
grecaptcha.execute( $submit.get(0).recaptchaID );
|
238 |
}
|
239 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
}
|
241 |
}
|
242 |
form.validate( properties );
|
236 |
// Form contains invisible reCAPTCHA.
|
237 |
grecaptcha.execute( $submit.get(0).recaptchaID );
|
238 |
}
|
239 |
+
},
|
240 |
+
onkeyup: function( element, event ) {
|
241 |
+
// This code is copied from JQuery Validate 'onkeyup' method with only one change: 'wpforms-novalidate-onkeyup' class check.
|
242 |
+
var excludedKeys = [ 16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225 ];
|
243 |
+
|
244 |
+
if ( $( element ).hasClass('wpforms-novalidate-onkeyup') ) {
|
245 |
+
return; // Disable onkeyup validation for some elements (e.g. remote calls).
|
246 |
+
}
|
247 |
+
|
248 |
+
if ( event.which === 9 && this.elementValue( element ) === "" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) {
|
249 |
+
return;
|
250 |
+
} else if ( element.name in this.submitted || element.name in this.invalid ) {
|
251 |
+
this.element( element );
|
252 |
+
}
|
253 |
+
},
|
254 |
+
onfocusout: function( element ) {
|
255 |
+
// This code is copied from JQuery Validate 'onfocusout' method with only one change: 'wpforms-novalidate-onkeyup' class check.
|
256 |
+
var validate = false;
|
257 |
+
|
258 |
+
if ( $( element ).hasClass('wpforms-novalidate-onkeyup') && !element.value ) {
|
259 |
+
validate = true; // Empty value error handling for elements with onkeyup validation disabled.
|
260 |
+
}
|
261 |
+
|
262 |
+
if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {
|
263 |
+
validate = true;
|
264 |
+
}
|
265 |
+
|
266 |
+
if ( validate ) {
|
267 |
+
this.element( element );
|
268 |
+
}
|
269 |
+
},
|
270 |
}
|
271 |
}
|
272 |
form.validate( properties );
|
changelog.txt
CHANGED
@@ -1,7 +1,14 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= 1.4.8.1 =
|
4 |
-
- Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
|
5 |
|
6 |
= 1.4.8 =
|
7 |
- Added: Gutenberg block.
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 1.4.9 =
|
4 |
+
- Added: Pirate Forms importer.
|
5 |
+
- Changed: Some form builder tooltips to contain documentation links.
|
6 |
+
- Fixed: Form builder javascript conflict with jQuery non-conflict mode.
|
7 |
+
- Fixed: PHP Notice from WPForms widget.
|
8 |
+
- Fixed: Incorrect markup around Addons submenu item.
|
9 |
+
|
10 |
= 1.4.8.1 =
|
11 |
+
- Fixed: Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
|
12 |
|
13 |
= 1.4.8 =
|
14 |
- Added: Gutenberg block.
|
includes/admin/admin.php
CHANGED
@@ -298,37 +298,7 @@ add_action( 'admin_print_scripts', 'wpforms_admin_hide_unrelated_notices' );
|
|
298 |
*/
|
299 |
function wpforms_admin_upgrade_link( $medium = 'link' ) {
|
300 |
|
301 |
-
|
302 |
-
$shareasale_id = '';
|
303 |
-
if ( defined( 'WPFORMS_SHAREASALE_ID' ) ) {
|
304 |
-
$shareasale_id = WPFORMS_SHAREASALE_ID;
|
305 |
-
}
|
306 |
-
|
307 |
-
// If there's no constant, check if there's an option.
|
308 |
-
if ( empty( $shareasale_id ) ) {
|
309 |
-
$shareasale_id = get_option( 'wpforms_shareasale_id', '' );
|
310 |
-
}
|
311 |
-
|
312 |
-
// Whether we have an ID or not, filter the ID.
|
313 |
-
$shareasale_id = apply_filters( 'wpforms_shareasale_id', $shareasale_id );
|
314 |
-
|
315 |
-
// If at this point we still don't have an ID, we really don't have one!
|
316 |
-
// Just return the standard upgrade URL.
|
317 |
-
if ( empty( $shareasale_id ) ) {
|
318 |
-
return 'https://wpforms.com/lite-upgrade/?discount=LITEUPGRADE&utm_source=WordPress&utm_medium= ' . sanitize_key( $medium ) . '&utm_campaign=liteplugin';
|
319 |
-
}
|
320 |
-
|
321 |
-
$url = rawurlencode( 'https://wpforms.com/lite-upgrade/?discount=LITEUPGRADE&utm_source=WordPress&utm_medium=' . sanitize_key( $medium ) . '&utm_campaign=litepluginaff&utm_content=' . sanitize_key( $shareasale_id ) );
|
322 |
-
|
323 |
-
// Whether we have a specific redirect URL to use
|
324 |
-
$shareasale_redirect = apply_filters( 'wpforms_shareasale_redirect', get_option( 'wpforms_shareasale_redirect', $url ) );
|
325 |
-
|
326 |
-
// Build final URL
|
327 |
-
$shareasale_url = sprintf( 'http://www.shareasale.com/r.cfm?B=837827&U=%s&M=64312&urllink=%s', $shareasale_id, $shareasale_redirect );
|
328 |
-
|
329 |
-
// If here, we have a ShareASale ID
|
330 |
-
// Return ShareASale URL with redirect.
|
331 |
-
return esc_url( $shareasale_url );
|
332 |
}
|
333 |
|
334 |
/**
|
298 |
*/
|
299 |
function wpforms_admin_upgrade_link( $medium = 'link' ) {
|
300 |
|
301 |
+
return apply_filters( 'wpforms_upgrade_link', 'https://wpforms.com/lite-upgrade/?discount=LITEUPGRADE&utm_source=WordPress&utm_medium=' . sanitize_key( apply_filters( 'wpforms_upgrade_link_medium', $medium ) ) . '&utm_campaign=liteplugin' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
}
|
303 |
|
304 |
/**
|
includes/admin/builder/functions.php
CHANGED
@@ -114,15 +114,15 @@ function wpforms_panel_field( $option, $panel, $field, $form_data, $label, $args
|
|
114 |
|
115 |
// TinyMCE.
|
116 |
case 'tinymce':
|
117 |
-
$
|
|
|
|
|
|
|
118 |
'media_buttons' => false,
|
119 |
'teeny' => true,
|
120 |
) );
|
121 |
-
$args['textarea_name'] = $field_name;
|
122 |
-
$args['teeny'] = true;
|
123 |
-
$id = str_replace( '-', '_', $input_id );
|
124 |
ob_start();
|
125 |
-
wp_editor( $value, $id, $args );
|
126 |
$output = ob_get_clean();
|
127 |
break;
|
128 |
|
114 |
|
115 |
// TinyMCE.
|
116 |
case 'tinymce':
|
117 |
+
$id = str_replace( '-', '_', $input_id );
|
118 |
+
$args['tinymce']['textarea_name'] = $field_name;
|
119 |
+
$args['tinymce']['teeny'] = true;
|
120 |
+
$args['tinymce'] = wp_parse_args( $args['tinymce'], array(
|
121 |
'media_buttons' => false,
|
122 |
'teeny' => true,
|
123 |
) );
|
|
|
|
|
|
|
124 |
ob_start();
|
125 |
+
wp_editor( $value, $id, $args['tinymce'] );
|
126 |
$output = ob_get_clean();
|
127 |
break;
|
128 |
|
includes/admin/class-importers.php
CHANGED
@@ -50,6 +50,7 @@ class WPForms_Importers {
|
|
50 |
$importers = apply_filters( 'wpforms_load_importers', array(
|
51 |
'contact-form-7',
|
52 |
'ninja-forms',
|
|
|
53 |
) );
|
54 |
|
55 |
foreach ( $importers as $importer ) {
|
50 |
$importers = apply_filters( 'wpforms_load_importers', array(
|
51 |
'contact-form-7',
|
52 |
'ninja-forms',
|
53 |
+
'pirate-forms',
|
54 |
) );
|
55 |
|
56 |
foreach ( $importers as $importer ) {
|
includes/admin/class-menu.php
CHANGED
@@ -111,7 +111,7 @@ class WPForms_Admin_Menu {
|
|
111 |
add_submenu_page(
|
112 |
'wpforms-overview',
|
113 |
esc_html__( 'WPForms Addons', 'wpforms' ),
|
114 |
-
'<span style="color:#f18500">' . esc_html__( 'Addons', 'wpforms' ) . '
|
115 |
$menu_cap,
|
116 |
'wpforms-addons',
|
117 |
array( $this, 'admin_page' )
|
111 |
add_submenu_page(
|
112 |
'wpforms-overview',
|
113 |
esc_html__( 'WPForms Addons', 'wpforms' ),
|
114 |
+
'<span style="color:#f18500">' . esc_html__( 'Addons', 'wpforms' ) . '</span>',
|
115 |
$menu_cap,
|
116 |
'wpforms-addons',
|
117 |
array( $this, 'admin_page' )
|
includes/admin/importers/class-contact-form-7.php
CHANGED
@@ -51,7 +51,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
51 |
*
|
52 |
* @since 1.4.2
|
53 |
*
|
54 |
-
* @param int $id
|
55 |
*
|
56 |
* @return WPCF7_ContactForm|bool
|
57 |
*/
|
@@ -83,9 +83,18 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
83 |
}
|
84 |
|
85 |
// Define some basic information.
|
86 |
-
$analyze
|
87 |
-
$cf7_id
|
88 |
-
$cf7_form
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
$cf7_form_name = $cf7_form->title();
|
90 |
$cf7_fields = $cf7_form->scan_form_tags();
|
91 |
$cf7_properties = $cf7_form->get_properties();
|
@@ -101,13 +110,13 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
101 |
'field_id' => '',
|
102 |
'fields' => array(),
|
103 |
'settings' => array(
|
104 |
-
'form_title'
|
105 |
-
'form_desc'
|
106 |
-
'submit_text'
|
107 |
-
'submit_text_processing'
|
108 |
-
'honeypot'
|
109 |
-
'notification_enable'
|
110 |
-
'notifications'
|
111 |
1 => array(
|
112 |
'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
|
113 |
'email' => '{admin_email}',
|
@@ -119,10 +128,14 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
119 |
'message' => '{all_fields}',
|
120 |
),
|
121 |
),
|
122 |
-
'
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
126 |
),
|
127 |
);
|
128 |
|
@@ -179,7 +192,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
179 |
case 'number':
|
180 |
case 'textarea':
|
181 |
$type = $cf7_field->basetype;
|
182 |
-
if (
|
183 |
$type = 'text';
|
184 |
}
|
185 |
$form['fields'][ $field_id ] = array(
|
@@ -196,7 +209,6 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
196 |
|
197 |
// Phone number field.
|
198 |
case 'tel':
|
199 |
-
$type = wpforms()->pro ? 'phone' : 'text';
|
200 |
$form['fields'][ $field_id ] = array(
|
201 |
'id' => $field_id,
|
202 |
'type' => 'phone',
|
@@ -213,6 +225,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
213 |
// Date field.
|
214 |
case 'date':
|
215 |
$type = wpforms()->pro ? 'date-time' : 'text';
|
|
|
216 |
$form['fields'][ $field_id ] = array(
|
217 |
'id' => $field_id,
|
218 |
'type' => $type,
|
@@ -235,6 +248,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
235 |
case 'checkbox':
|
236 |
$choices = array();
|
237 |
$options = (array) $cf7_field->labels;
|
|
|
238 |
foreach ( $options as $option ) {
|
239 |
$choices[] = array(
|
240 |
'label' => $option,
|
@@ -437,8 +451,8 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
437 |
*
|
438 |
* @since 1.4.2
|
439 |
*
|
440 |
-
* @param object $field
|
441 |
-
* @param string $type
|
442 |
*
|
443 |
* @return string
|
444 |
*/
|
@@ -464,9 +478,9 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
464 |
*
|
465 |
* @since 1.4.2
|
466 |
*
|
467 |
-
* @param string $form
|
468 |
-
* @param string $type
|
469 |
-
* @param string $name
|
470 |
*
|
471 |
* @return string
|
472 |
*/
|
@@ -522,8 +536,8 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
522 |
*
|
523 |
* @since 1.4.2
|
524 |
*
|
525 |
-
* @param string $headers
|
526 |
-
* @param array
|
527 |
*
|
528 |
* @return string
|
529 |
*/
|
@@ -550,8 +564,8 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
|
|
550 |
*
|
551 |
* @since 1.4.2
|
552 |
*
|
553 |
-
* @param string $sender
|
554 |
-
* @param array
|
555 |
*
|
556 |
* @return bool|array
|
557 |
*/
|
51 |
*
|
52 |
* @since 1.4.2
|
53 |
*
|
54 |
+
* @param int $id Form ID.
|
55 |
*
|
56 |
* @return WPCF7_ContactForm|bool
|
57 |
*/
|
83 |
}
|
84 |
|
85 |
// Define some basic information.
|
86 |
+
$analyze = isset( $_POST['analyze'] );
|
87 |
+
$cf7_id = ! empty( $_POST['form_id'] ) ? (int) $_POST['form_id'] : 0;
|
88 |
+
$cf7_form = $this->get_form( $cf7_id );
|
89 |
+
|
90 |
+
if ( ! $cf7_form ) {
|
91 |
+
wp_send_json_error( array(
|
92 |
+
'error' => true,
|
93 |
+
'name' => esc_html__( 'Unknown Form', 'wpforms' ),
|
94 |
+
'msg' => esc_html__( 'The form you are trying to import does not exist.', 'wpforms' ),
|
95 |
+
) );
|
96 |
+
}
|
97 |
+
|
98 |
$cf7_form_name = $cf7_form->title();
|
99 |
$cf7_fields = $cf7_form->scan_form_tags();
|
100 |
$cf7_properties = $cf7_form->get_properties();
|
110 |
'field_id' => '',
|
111 |
'fields' => array(),
|
112 |
'settings' => array(
|
113 |
+
'form_title' => $cf7_form_name,
|
114 |
+
'form_desc' => '',
|
115 |
+
'submit_text' => esc_html__( 'Submit', 'wpforms' ),
|
116 |
+
'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
|
117 |
+
'honeypot' => '1',
|
118 |
+
'notification_enable' => '1',
|
119 |
+
'notifications' => array(
|
120 |
1 => array(
|
121 |
'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
|
122 |
'email' => '{admin_email}',
|
128 |
'message' => '{all_fields}',
|
129 |
),
|
130 |
),
|
131 |
+
'confirmations' => array(
|
132 |
+
1 => array(
|
133 |
+
'type' => 'message',
|
134 |
+
'message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
|
135 |
+
'message_scroll' => '1',
|
136 |
+
),
|
137 |
+
),
|
138 |
+
'import_form_id' => $cf7_id,
|
139 |
),
|
140 |
);
|
141 |
|
192 |
case 'number':
|
193 |
case 'textarea':
|
194 |
$type = $cf7_field->basetype;
|
195 |
+
if ( 'url' === $type && ! wpforms()->pro ) {
|
196 |
$type = 'text';
|
197 |
}
|
198 |
$form['fields'][ $field_id ] = array(
|
209 |
|
210 |
// Phone number field.
|
211 |
case 'tel':
|
|
|
212 |
$form['fields'][ $field_id ] = array(
|
213 |
'id' => $field_id,
|
214 |
'type' => 'phone',
|
225 |
// Date field.
|
226 |
case 'date':
|
227 |
$type = wpforms()->pro ? 'date-time' : 'text';
|
228 |
+
|
229 |
$form['fields'][ $field_id ] = array(
|
230 |
'id' => $field_id,
|
231 |
'type' => $type,
|
248 |
case 'checkbox':
|
249 |
$choices = array();
|
250 |
$options = (array) $cf7_field->labels;
|
251 |
+
|
252 |
foreach ( $options as $option ) {
|
253 |
$choices[] = array(
|
254 |
'label' => $option,
|
451 |
*
|
452 |
* @since 1.4.2
|
453 |
*
|
454 |
+
* @param object $field Field object.
|
455 |
+
* @param string $type Type of the field.
|
456 |
*
|
457 |
* @return string
|
458 |
*/
|
478 |
*
|
479 |
* @since 1.4.2
|
480 |
*
|
481 |
+
* @param string $form Form data.
|
482 |
+
* @param string $type Field type.
|
483 |
+
* @param string $name Field name.
|
484 |
*
|
485 |
* @return string
|
486 |
*/
|
536 |
*
|
537 |
* @since 1.4.2
|
538 |
*
|
539 |
+
* @param string $headers CF7 email headers.
|
540 |
+
* @param array $fields List of fields.
|
541 |
*
|
542 |
* @return string
|
543 |
*/
|
564 |
*
|
565 |
* @since 1.4.2
|
566 |
*
|
567 |
+
* @param string $sender Sender strings in "Name <email@example.com>" format.
|
568 |
+
* @param array $fields List of fields.
|
569 |
*
|
570 |
* @return bool|array
|
571 |
*/
|
includes/admin/importers/class-install-silent-skin.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* WordPress class extended for on-the-fly plugins installations, without error reporting.
|
5 |
+
*
|
6 |
+
* @package WPForms
|
7 |
+
* @author WPForms
|
8 |
+
* @since 1.4.9
|
9 |
+
* @license GPL-2.0+
|
10 |
+
* @copyright Copyright (c) 2018, WPForms LLC
|
11 |
+
*/
|
12 |
+
class WPForms_Install_Silent_Skin extends WP_Upgrader_Skin {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Set the upgrader object and store it as a property in the parent class.
|
16 |
+
*
|
17 |
+
* @since 1.4.9
|
18 |
+
*
|
19 |
+
* @param object $upgrader The upgrader object (passed by reference).
|
20 |
+
*/
|
21 |
+
public function set_upgrader( &$upgrader ) {
|
22 |
+
|
23 |
+
if ( is_object( $upgrader ) ) {
|
24 |
+
$this->upgrader =& $upgrader;
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Empty out the header of its HTML content and only check to see if it has
|
30 |
+
* been performed or not.
|
31 |
+
*
|
32 |
+
* @since 1.4.9
|
33 |
+
*/
|
34 |
+
public function header() {
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Empty out the footer of its HTML contents.
|
39 |
+
*
|
40 |
+
* @since 1.4.9
|
41 |
+
*/
|
42 |
+
public function footer() {
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Instead of outputting HTML for errors, just return them.
|
47 |
+
* Ajax request will just ignore it.
|
48 |
+
*
|
49 |
+
* @since 1.4.9
|
50 |
+
*
|
51 |
+
* @param array $errors Array of errors with the install process.
|
52 |
+
*
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function error( $errors ) {
|
56 |
+
return $errors;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Empty out the feedback method to prevent outputting HTML strings as the install
|
61 |
+
* is progressing.
|
62 |
+
*
|
63 |
+
* @since 1.4.9
|
64 |
+
*
|
65 |
+
* @param string $string The feedback string.
|
66 |
+
*/
|
67 |
+
public function feedback( $string ) {
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Empty out JavaScript output that calls function to decrement the update counts.
|
72 |
+
*
|
73 |
+
* @since 1.4.9
|
74 |
+
*
|
75 |
+
* @param string $type Type of update count to decrement.
|
76 |
+
*/
|
77 |
+
public function decrement_update_count( $type ) {
|
78 |
+
}
|
79 |
+
}
|
includes/admin/importers/class-ninja-forms.php
CHANGED
@@ -102,7 +102,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
102 |
|
103 |
// Define some basic information.
|
104 |
$analyze = isset( $_POST['analyze'] );
|
105 |
-
$nf_id =
|
106 |
$nf_form = $this->get_form( $nf_id );
|
107 |
$nf_form_name = $nf_form['settings']['title'];
|
108 |
$nf_recaptcha = false;
|
@@ -118,13 +118,13 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
118 |
'field_id' => '',
|
119 |
'fields' => array(),
|
120 |
'settings' => array(
|
121 |
-
'form_title'
|
122 |
-
'form_desc'
|
123 |
-
'submit_text'
|
124 |
-
'submit_text_processing'
|
125 |
-
'honeypot'
|
126 |
-
'notification_enable'
|
127 |
-
'notifications'
|
128 |
1 => array(
|
129 |
'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
|
130 |
'email' => '{admin_email}',
|
@@ -136,10 +136,14 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
136 |
'message' => '{all_fields}',
|
137 |
),
|
138 |
),
|
139 |
-
'
|
140 |
-
|
141 |
-
|
142 |
-
|
|
|
|
|
|
|
|
|
143 |
),
|
144 |
);
|
145 |
|
@@ -158,7 +162,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
158 |
// Try to determine field label to use.
|
159 |
$label = $this->get_field_label( $nf_field );
|
160 |
|
161 |
-
// Next, check if field is unsupported. If
|
162 |
// then continue to the next field.
|
163 |
if ( in_array( $nf_field['type'], $fields_unsupported, true ) ) {
|
164 |
$unsupported[] = $label;
|
@@ -224,7 +228,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
224 |
$form['fields'][ $field_id ] = array(
|
225 |
'id' => $field_id,
|
226 |
'type' => 'checkbox',
|
227 |
-
'label' => esc_html__( 'Single Checkbox Field' ),
|
228 |
'choices' => array(
|
229 |
1 => array(
|
230 |
'label' => $label,
|
@@ -368,7 +372,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
368 |
// Confirmation message.
|
369 |
foreach ( $nf_form['actions'] as $action ) {
|
370 |
if ( 'successmessage' === $action['type'] ) {
|
371 |
-
$form['settings']['
|
372 |
}
|
373 |
}
|
374 |
|
@@ -396,7 +400,6 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
|
|
396 |
}
|
397 |
}
|
398 |
|
399 |
-
|
400 |
// Setup email notifications.
|
401 |
$action_count = 1;
|
402 |
$action_defaults = array(
|
102 |
|
103 |
// Define some basic information.
|
104 |
$analyze = isset( $_POST['analyze'] );
|
105 |
+
$nf_id = ! empty( $_POST['form_id'] ) ? (int) $_POST['form_id'] : 0;
|
106 |
$nf_form = $this->get_form( $nf_id );
|
107 |
$nf_form_name = $nf_form['settings']['title'];
|
108 |
$nf_recaptcha = false;
|
118 |
'field_id' => '',
|
119 |
'fields' => array(),
|
120 |
'settings' => array(
|
121 |
+
'form_title' => $nf_form_name,
|
122 |
+
'form_desc' => '',
|
123 |
+
'submit_text' => esc_html__( 'Submit', 'wpforms' ),
|
124 |
+
'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
|
125 |
+
'honeypot' => '1',
|
126 |
+
'notification_enable' => '1',
|
127 |
+
'notifications' => array(
|
128 |
1 => array(
|
129 |
'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
|
130 |
'email' => '{admin_email}',
|
136 |
'message' => '{all_fields}',
|
137 |
),
|
138 |
),
|
139 |
+
'confirmations' => array(
|
140 |
+
1 => array(
|
141 |
+
'type' => 'message',
|
142 |
+
'message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
|
143 |
+
'message_scroll' => '1',
|
144 |
+
),
|
145 |
+
),
|
146 |
+
'import_form_id' => $nf_id,
|
147 |
),
|
148 |
);
|
149 |
|
162 |
// Try to determine field label to use.
|
163 |
$label = $this->get_field_label( $nf_field );
|
164 |
|
165 |
+
// Next, check if field is unsupported. If unsupported make note and
|
166 |
// then continue to the next field.
|
167 |
if ( in_array( $nf_field['type'], $fields_unsupported, true ) ) {
|
168 |
$unsupported[] = $label;
|
228 |
$form['fields'][ $field_id ] = array(
|
229 |
'id' => $field_id,
|
230 |
'type' => 'checkbox',
|
231 |
+
'label' => esc_html__( 'Single Checkbox Field', 'wpforms' ),
|
232 |
'choices' => array(
|
233 |
1 => array(
|
234 |
'label' => $label,
|
372 |
// Confirmation message.
|
373 |
foreach ( $nf_form['actions'] as $action ) {
|
374 |
if ( 'successmessage' === $action['type'] ) {
|
375 |
+
$form['settings']['confirmations'][1]['message'] = $this->get_smarttags( $action['message'], $form['fields'] );
|
376 |
}
|
377 |
}
|
378 |
|
400 |
}
|
401 |
}
|
402 |
|
|
|
403 |
// Setup email notifications.
|
404 |
$action_count = 1;
|
405 |
$action_defaults = array(
|
includes/admin/importers/class-pirate-forms.php
ADDED
@@ -0,0 +1,678 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Pirate Forms Importer class.
|
5 |
+
*
|
6 |
+
* @package WPForms
|
7 |
+
* @author WPForms
|
8 |
+
* @since 1.4.9
|
9 |
+
* @license GPL-2.0+
|
10 |
+
* @copyright Copyright (c) 2018, WPForms LLC
|
11 |
+
*/
|
12 |
+
class WPForms_Pirate_Forms extends WPForms_Importer {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Direct URL to download the latest version of WP Mail SMTP plugin from WP.org repo.
|
16 |
+
*
|
17 |
+
* @since 1.4.9
|
18 |
+
*
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
const URL_SMTP_ZIP = 'https://downloads.wordpress.org/plugin/wp-mail-smtp.zip';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* WP Mail SMTP plugin basename.
|
25 |
+
*
|
26 |
+
* @since 1.4.9
|
27 |
+
*
|
28 |
+
* @var string
|
29 |
+
*/
|
30 |
+
const SLUG_SMTP_PLUGIN = 'wp-mail-smtp/wp_mail_smtp.php';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Default PirateForms smart tags.
|
34 |
+
*
|
35 |
+
* @var array
|
36 |
+
*/
|
37 |
+
public static $tags = array(
|
38 |
+
'[email]',
|
39 |
+
);
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Define required properties.
|
43 |
+
*
|
44 |
+
* @since 1.4.9
|
45 |
+
*/
|
46 |
+
public function init() {
|
47 |
+
|
48 |
+
$this->name = 'Pirate Forms';
|
49 |
+
$this->slug = 'pirate-forms';
|
50 |
+
$this->path = 'pirate-forms/pirate-forms.php';
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Get ALL THE FORMS.
|
55 |
+
* We need only ID's and names here.
|
56 |
+
*
|
57 |
+
* @since 1.4.9
|
58 |
+
*
|
59 |
+
* @return array
|
60 |
+
*/
|
61 |
+
public function get_forms() {
|
62 |
+
|
63 |
+
// Union those arrays, as array_merge() does keys reindexing.
|
64 |
+
$forms = $this->get_default_forms() + $this->get_pro_forms();
|
65 |
+
|
66 |
+
// Sort by IDs ASC.
|
67 |
+
ksort( $forms );
|
68 |
+
|
69 |
+
return $forms;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Pirate Forms has a default form, which doesn't have an ID.
|
74 |
+
*
|
75 |
+
* @since 1.4.9
|
76 |
+
*
|
77 |
+
* @return array
|
78 |
+
*/
|
79 |
+
protected function get_default_forms() {
|
80 |
+
|
81 |
+
$form = PirateForms_Util::get_form_options();
|
82 |
+
|
83 |
+
// Just make sure that it's there and not broken.
|
84 |
+
if ( empty( $form ) ) {
|
85 |
+
return array();
|
86 |
+
}
|
87 |
+
|
88 |
+
return array( 0 => esc_html__( 'Default Form', 'wpforms' ) );
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Copy-paste from Pro plugin code, it doesn't have API to get this data easily.
|
93 |
+
*
|
94 |
+
* @since 1.4.9
|
95 |
+
*
|
96 |
+
* @return array
|
97 |
+
*/
|
98 |
+
protected function get_pro_forms() {
|
99 |
+
|
100 |
+
$forms = array();
|
101 |
+
$query = new WP_Query(
|
102 |
+
array(
|
103 |
+
'post_type' => 'pf_form',
|
104 |
+
'post_status' => 'publish',
|
105 |
+
'posts_per_page' => - 1,
|
106 |
+
'update_post_meta_cache' => false,
|
107 |
+
'update_post_term_cache' => false,
|
108 |
+
)
|
109 |
+
);
|
110 |
+
|
111 |
+
if ( $query->have_posts() ) {
|
112 |
+
while ( $query->have_posts() ) {
|
113 |
+
$query->the_post();
|
114 |
+
$forms[ get_the_ID() ] = get_the_title();
|
115 |
+
}
|
116 |
+
}
|
117 |
+
|
118 |
+
return $forms;
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Get a single form options.
|
123 |
+
*
|
124 |
+
* @since 1.4.9
|
125 |
+
*
|
126 |
+
* @param int $id Form ID.
|
127 |
+
*
|
128 |
+
* @return array
|
129 |
+
*/
|
130 |
+
public function get_form( $id ) {
|
131 |
+
return PirateForms_Util::get_form_options( (int) $id );
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Import a single form using AJAX.
|
136 |
+
*
|
137 |
+
* @since 1.4.9
|
138 |
+
*/
|
139 |
+
public function import_form() {
|
140 |
+
|
141 |
+
// Run a security check.
|
142 |
+
check_ajax_referer( 'wpforms-admin', 'nonce' );
|
143 |
+
|
144 |
+
// Check for permissions.
|
145 |
+
if ( ! wpforms_current_user_can() ) {
|
146 |
+
wp_send_json_error();
|
147 |
+
}
|
148 |
+
|
149 |
+
$analyze = isset( $_POST['analyze'] );
|
150 |
+
$pf_form_id = isset( $_POST['form_id'] ) ? (int) $_POST['form_id'] : 0;
|
151 |
+
$pf_form = $this->get_form( $pf_form_id );
|
152 |
+
$pf_fields_custom = PirateForms_Util::get_post_meta( $pf_form_id, 'custom' );
|
153 |
+
$pf_fields_default = array(
|
154 |
+
'name',
|
155 |
+
'email',
|
156 |
+
'subject',
|
157 |
+
'message',
|
158 |
+
'attachment',
|
159 |
+
'checkbox',
|
160 |
+
'recaptcha',
|
161 |
+
);
|
162 |
+
$fields_pro_plain = array( 'tel' ); // Convert them in Lite to the closest Standard alternatives.
|
163 |
+
$fields_pro_omit = array( 'label', 'file', 'attachment' ); // Strict PRO fields with no Lite alternatives.
|
164 |
+
$upgrade_plain = array();
|
165 |
+
$upgrade_omit = array();
|
166 |
+
$unsupported = array();
|
167 |
+
$fields = array();
|
168 |
+
|
169 |
+
if ( ! empty( $pf_fields_custom[0] ) ) {
|
170 |
+
$pf_fields_custom = $pf_fields_custom[0];
|
171 |
+
} else {
|
172 |
+
$pf_fields_custom = array();
|
173 |
+
}
|
174 |
+
|
175 |
+
if ( empty( $pf_form_id ) ) {
|
176 |
+
$pf_form_name = esc_html__( 'Default Form', 'wpforms' );
|
177 |
+
} else {
|
178 |
+
$pf_form_name = get_post_field( 'post_title', $pf_form_id );
|
179 |
+
}
|
180 |
+
$pf_form_name = wpforms_decode_string( apply_filters( 'the_title', $pf_form_name, $pf_form_id ) );
|
181 |
+
|
182 |
+
// Prepare all DEFAULT fields.
|
183 |
+
foreach ( $pf_fields_default as $field ) {
|
184 |
+
// Ignore fields that are not displayed or not added at all.
|
185 |
+
if ( empty( $pf_form[ 'pirateformsopt_' . $field . '_field' ] ) ) {
|
186 |
+
continue;
|
187 |
+
}
|
188 |
+
|
189 |
+
// Ignore certain fields as they are dealt with later.
|
190 |
+
if ( 'recaptcha' === $field ) {
|
191 |
+
continue;
|
192 |
+
}
|
193 |
+
|
194 |
+
$required = 'req' === $pf_form[ 'pirateformsopt_' . $field . '_field' ] ? '1' : '';
|
195 |
+
$label = ! empty( $pf_form[ 'pirateformsopt_label_' . $field ] ) ? $pf_form[ 'pirateformsopt_label_' . $field ] : ucwords( $field );
|
196 |
+
|
197 |
+
// If it is Lite and it's a field type not included, make a note then continue to the next field.
|
198 |
+
if ( ! wpforms()->pro && in_array( $field, $fields_pro_plain, true ) ) {
|
199 |
+
$upgrade_plain[] = $label;
|
200 |
+
}
|
201 |
+
if ( ! wpforms()->pro && in_array( $field, $fields_pro_omit, true ) ) {
|
202 |
+
$upgrade_omit[] = $label;
|
203 |
+
continue;
|
204 |
+
}
|
205 |
+
|
206 |
+
// Determine next field ID to assign.
|
207 |
+
if ( empty( $fields ) ) {
|
208 |
+
$field_id = 1;
|
209 |
+
} else {
|
210 |
+
$field_id = (int) max( array_keys( $fields ) ) + 1;
|
211 |
+
}
|
212 |
+
|
213 |
+
// Separately process certain fields.
|
214 |
+
switch ( $field ) {
|
215 |
+
case 'name':
|
216 |
+
case 'email':
|
217 |
+
case 'subject':
|
218 |
+
case 'message':
|
219 |
+
$type = $field;
|
220 |
+
if ( 'subject' === $field ) {
|
221 |
+
$type = 'text';
|
222 |
+
} elseif ( 'message' === $field ) {
|
223 |
+
$type = 'textarea';
|
224 |
+
}
|
225 |
+
|
226 |
+
$fields[ $field_id ] = array(
|
227 |
+
'id' => $field_id,
|
228 |
+
'type' => $type,
|
229 |
+
'label' => $label,
|
230 |
+
'required' => $required,
|
231 |
+
'size' => 'medium',
|
232 |
+
);
|
233 |
+
|
234 |
+
if ( 'name' === $field ) {
|
235 |
+
$fields[ $field_id ]['format'] = 'simple';
|
236 |
+
}
|
237 |
+
break;
|
238 |
+
|
239 |
+
case 'checkbox':
|
240 |
+
$fields[ $field_id ] = array(
|
241 |
+
'id' => $field_id,
|
242 |
+
'type' => 'checkbox',
|
243 |
+
'label' => esc_html__( 'Single Checkbox Field', 'wpforms' ),
|
244 |
+
'choices' => array(
|
245 |
+
1 => array(
|
246 |
+
'label' => $label,
|
247 |
+
'value' => '',
|
248 |
+
),
|
249 |
+
),
|
250 |
+
'size' => 'medium',
|
251 |
+
'required' => $required,
|
252 |
+
'label_hide' => true,
|
253 |
+
);
|
254 |
+
break;
|
255 |
+
|
256 |
+
case 'attachment':
|
257 |
+
case 'file':
|
258 |
+
$fields[ $field_id ] = array(
|
259 |
+
'id' => $field_id,
|
260 |
+
'type' => 'file-upload',
|
261 |
+
'label' => $label,
|
262 |
+
'required' => $required,
|
263 |
+
'label_hide' => true,
|
264 |
+
);
|
265 |
+
|
266 |
+
// If PF attachments were saved into FS, we need to save them in WP Media.
|
267 |
+
// That will allow admins to easily delete if needed.
|
268 |
+
if (
|
269 |
+
! empty( $pf_form['pirateformsopt_save_attachment'] ) &&
|
270 |
+
'yes' === $pf_form['pirateformsopt_save_attachment']
|
271 |
+
) {
|
272 |
+
$fields[ $field_id ]['media_library'] = true;
|
273 |
+
}
|
274 |
+
break;
|
275 |
+
}
|
276 |
+
}
|
277 |
+
|
278 |
+
// Prepare all CUSTOM fields.
|
279 |
+
foreach ( $pf_fields_custom as $id => $field ) {
|
280 |
+
// Ignore fields that are not displayed.
|
281 |
+
if ( empty( $field['display'] ) ) {
|
282 |
+
continue;
|
283 |
+
}
|
284 |
+
|
285 |
+
$required = 'req' === $field['display'] ? '1' : ''; // Possible values in PF: 'yes', 'req'.
|
286 |
+
$label = sanitize_text_field( $field['label'] );
|
287 |
+
|
288 |
+
// If it is Lite and it's a field type not included, make a note then continue to the next field.
|
289 |
+
if ( ! wpforms()->pro && in_array( $field['type'], $fields_pro_plain, true ) ) {
|
290 |
+
$upgrade_plain[] = $label;
|
291 |
+
}
|
292 |
+
if ( ! wpforms()->pro && in_array( $field['type'], $fields_pro_omit, true ) ) {
|
293 |
+
$upgrade_omit[] = $label;
|
294 |
+
continue;
|
295 |
+
}
|
296 |
+
|
297 |
+
// Determine next field ID to assign.
|
298 |
+
if ( empty( $fields ) ) {
|
299 |
+
$field_id = 1;
|
300 |
+
} else {
|
301 |
+
$field_id = (int) max( array_keys( $fields ) ) + 1;
|
302 |
+
}
|
303 |
+
|
304 |
+
switch ( $field['type'] ) {
|
305 |
+
case 'text':
|
306 |
+
case 'textarea':
|
307 |
+
case 'number':
|
308 |
+
case 'tel':
|
309 |
+
$type = $field['type'];
|
310 |
+
|
311 |
+
if ( 'textarea' === $field['type'] ) {
|
312 |
+
$type = 'textarea';
|
313 |
+
}
|
314 |
+
if ( 'tel' === $field['type'] ) {
|
315 |
+
$type = 'phone';
|
316 |
+
}
|
317 |
+
|
318 |
+
$fields[ $field_id ] = array(
|
319 |
+
'id' => $field_id,
|
320 |
+
'type' => $type,
|
321 |
+
'label' => $label,
|
322 |
+
'required' => $required,
|
323 |
+
'size' => 'medium',
|
324 |
+
);
|
325 |
+
|
326 |
+
if ( 'tel' === $field['type'] ) {
|
327 |
+
$fields[ $field_id ]['format'] = 'international';
|
328 |
+
}
|
329 |
+
break;
|
330 |
+
|
331 |
+
case 'checkbox':
|
332 |
+
$fields[ $field_id ] = array(
|
333 |
+
'id' => $field_id,
|
334 |
+
'type' => 'checkbox',
|
335 |
+
'label' => esc_html__( 'Single Checkbox Field', 'wpforms' ),
|
336 |
+
'choices' => array(
|
337 |
+
1 => array(
|
338 |
+
'label' => $label,
|
339 |
+
'value' => '',
|
340 |
+
),
|
341 |
+
),
|
342 |
+
'size' => 'medium',
|
343 |
+
'required' => $required,
|
344 |
+
'label_hide' => true,
|
345 |
+
);
|
346 |
+
break;
|
347 |
+
|
348 |
+
case 'select':
|
349 |
+
case 'multiselect':
|
350 |
+
$options = array();
|
351 |
+
$i = 1;
|
352 |
+
$type = 'select';
|
353 |
+
|
354 |
+
if ( 'multiselect' === $field['type'] ) {
|
355 |
+
$type = 'checkbox';
|
356 |
+
}
|
357 |
+
|
358 |
+
foreach ( explode( PHP_EOL, $field['options'] ) as $option ) {
|
359 |
+
$options[ $i ] = array(
|
360 |
+
'label' => $option,
|
361 |
+
'value' => '',
|
362 |
+
'image' => '',
|
363 |
+
);
|
364 |
+
|
365 |
+
$i ++;
|
366 |
+
}
|
367 |
+
|
368 |
+
$fields[ $field_id ] = array(
|
369 |
+
'id' => $field_id,
|
370 |
+
'type' => $type,
|
371 |
+
'label' => $label,
|
372 |
+
'required' => $required,
|
373 |
+
'size' => 'medium',
|
374 |
+
'choices' => $options,
|
375 |
+
);
|
376 |
+
break;
|
377 |
+
|
378 |
+
case 'label':
|
379 |
+
$fields[ $field_id ] = array(
|
380 |
+
'id' => $field_id,
|
381 |
+
'type' => 'html',
|
382 |
+
'code' => $field['label'],
|
383 |
+
'label_disable' => true,
|
384 |
+
);
|
385 |
+
break;
|
386 |
+
|
387 |
+
case 'file':
|
388 |
+
$fields[ $field_id ] = array(
|
389 |
+
'id' => $field_id,
|
390 |
+
'type' => 'file-upload',
|
391 |
+
'label' => $label,
|
392 |
+
'required' => $required,
|
393 |
+
'label_hide' => true,
|
394 |
+
);
|
395 |
+
|
396 |
+
// If PF attachments were saved into FS, we need to save them in WP Media.
|
397 |
+
// That will allow admins to easily delete if needed.
|
398 |
+
if (
|
399 |
+
! empty( $pf_form['pirateformsopt_save_attachment'] ) &&
|
400 |
+
'yes' === $pf_form['pirateformsopt_save_attachment']
|
401 |
+
) {
|
402 |
+
$fields[ $field_id ]['media_library'] = true;
|
403 |
+
}
|
404 |
+
break;
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
// If we are analyzing the form (in Lite only),
|
409 |
+
// we can stop here and return the details about this form.
|
410 |
+
if ( $analyze ) {
|
411 |
+
wp_send_json_success(
|
412 |
+
array(
|
413 |
+
'name' => $pf_form_name,
|
414 |
+
'upgrade_plain' => $upgrade_plain,
|
415 |
+
'upgrade_omit' => $upgrade_omit,
|
416 |
+
)
|
417 |
+
);
|
418 |
+
}
|
419 |
+
|
420 |
+
// Make sure we have imported some fields.
|
421 |
+
if ( empty( $fields ) ) {
|
422 |
+
wp_send_json_success(
|
423 |
+
array(
|
424 |
+
'error' => true,
|
425 |
+
'name' => $pf_form_name,
|
426 |
+
'msg' => esc_html__( 'No form fields found.', 'wpforms' ),
|
427 |
+
)
|
428 |
+
);
|
429 |
+
}
|
430 |
+
|
431 |
+
// Create a form array, that holds all the data.
|
432 |
+
$form = array(
|
433 |
+
'id' => '',
|
434 |
+
'field_id' => '',
|
435 |
+
'fields' => $fields,
|
436 |
+
'settings' => array(
|
437 |
+
'form_title' => $pf_form_name,
|
438 |
+
'form_desc' => '',
|
439 |
+
'submit_text' => stripslashes( $pf_form['pirateformsopt_label_submit_btn'] ),
|
440 |
+
'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
|
441 |
+
'honeypot' => empty( $pf_form['pirateformsopt_recaptcha_field'] ) ? '0' : '1',
|
442 |
+
'notification_enable' => '1',
|
443 |
+
'notifications' => array(
|
444 |
+
1 => array(
|
445 |
+
'notification_name' => esc_html__( 'Default Notification', 'wpforms' ),
|
446 |
+
'email' => $pf_form['pirateformsopt_email_recipients'],
|
447 |
+
/* translators: %s - PirateForms form name. */
|
448 |
+
'subject' => sprintf( esc_html__( 'New Entry: %s', 'wpforms' ), $pf_form_name ),
|
449 |
+
'sender_name' => get_bloginfo( 'name' ),
|
450 |
+
'sender_address' => $this->get_smarttags( $pf_form['pirateformsopt_email'], $fields ),
|
451 |
+
'replyto' => '',
|
452 |
+
'message' => '{all_fields}',
|
453 |
+
),
|
454 |
+
),
|
455 |
+
'confirmations' => array(
|
456 |
+
1 => array(
|
457 |
+
'type' => empty( $pf_form['pirateformsopt_thank_you_url'] ) ? 'message' : 'page',
|
458 |
+
'page' => (int) $pf_form['pirateformsopt_thank_you_url'],
|
459 |
+
'message' => ! empty( $pf_form['pirateformsopt_label_submit'] ) ? $pf_form['pirateformsopt_label_submit'] : esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
|
460 |
+
'message_scroll' => '1',
|
461 |
+
),
|
462 |
+
),
|
463 |
+
'disable_entries' => 'yes' === $pf_form['pirateformsopt_store'] ? '0' : '1',
|
464 |
+
'import_form_id' => $pf_form_id,
|
465 |
+
),
|
466 |
+
);
|
467 |
+
|
468 |
+
// Do not save user IP address and UA.
|
469 |
+
if ( empty( $pf_form['pirateformsopt_store_ip'] ) || 'yes' !== $pf_form['pirateformsopt_store_ip'] ) {
|
470 |
+
$wpforms_settings = get_option( 'wpforms_settings', array() );
|
471 |
+
$wpforms_settings['gdpr'] = true;
|
472 |
+
update_option( 'wpforms_settings', $wpforms_settings );
|
473 |
+
$form['settings']['disable_ip'] = true;
|
474 |
+
}
|
475 |
+
|
476 |
+
// Save recaptcha keys.
|
477 |
+
if (
|
478 |
+
! empty( $pf_form['pirateformsopt_recaptcha_field'] ) &&
|
479 |
+
'yes' === $pf_form['pirateformsopt_recaptcha_field']
|
480 |
+
) {
|
481 |
+
// If the user has already defined v2 reCAPTCHA keys, use those.
|
482 |
+
$site_key = wpforms_setting( 'recaptcha-site-key', '' );
|
483 |
+
$secret_key = wpforms_setting( 'recaptcha-secret-key', '' );
|
484 |
+
|
485 |
+
// Try to abstract keys from PF.
|
486 |
+
if ( empty( $site_key ) || empty( $secret_key ) ) {
|
487 |
+
if ( ! empty( $pf_form['pirateformsopt_recaptcha_sitekey'] ) && ! empty( $pf_form['pirateformsopt_recaptcha_secretkey'] ) ) {
|
488 |
+
$wpforms_settings = get_option( 'wpforms_settings', array() );
|
489 |
+
$wpforms_settings['recaptcha-site-key'] = $pf_form['pirateformsopt_recaptcha_sitekey'];
|
490 |
+
$wpforms_settings['recaptcha-secret-key'] = $pf_form['pirateformsopt_recaptcha_secretkey'];
|
491 |
+
$wpforms_settings['recaptcha-type'] = 'v2';
|
492 |
+
update_option( 'wpforms_settings', $wpforms_settings );
|
493 |
+
}
|
494 |
+
}
|
495 |
+
|
496 |
+
if (
|
497 |
+
( ! empty( $site_key ) && ! empty( $secret_key ) ) ||
|
498 |
+
( ! empty( $wpforms_settings['recaptcha-site-key'] ) && ! empty( $wpforms_settings['recaptcha-secret-key'] ) )
|
499 |
+
) {
|
500 |
+
$form['settings']['recaptcha'] = '1';
|
501 |
+
}
|
502 |
+
}
|
503 |
+
|
504 |
+
$this->import_smtp( $pf_form_id, $form );
|
505 |
+
|
506 |
+
$this->add_form( $form, $unsupported, $upgrade_plain, $upgrade_omit );
|
507 |
+
}
|
508 |
+
|
509 |
+
/**
|
510 |
+
* Replace 3rd-party form provider tags/shortcodes with our own Smart Tags.
|
511 |
+
* See: PirateForms_Util::get_magic_tags() for all PF tags.
|
512 |
+
*
|
513 |
+
* @since 1.4.9
|
514 |
+
*
|
515 |
+
* @param string $string String to process the smart tag in.
|
516 |
+
* @param array $fields List of fields for the form.
|
517 |
+
*
|
518 |
+
* @return string
|
519 |
+
*/
|
520 |
+
public function get_smarttags( $string, $fields ) {
|
521 |
+
|
522 |
+
foreach ( self::$tags as $tag ) {
|
523 |
+
$wpf_tag = '';
|
524 |
+
|
525 |
+
if ( '[email]' === $tag ) {
|
526 |
+
foreach ( $fields as $field ) {
|
527 |
+
if ( 'email' === $field['type'] ) {
|
528 |
+
$wpf_tag = '{field_id="' . $field['id'] . '"}';
|
529 |
+
break;
|
530 |
+
}
|
531 |
+
}
|
532 |
+
}
|
533 |
+
|
534 |
+
$string = str_replace( $tag, $wpf_tag, $string );
|
535 |
+
}
|
536 |
+
|
537 |
+
return $string;
|
538 |
+
}
|
539 |
+
|
540 |
+
/**
|
541 |
+
* Import SMTP settings from Default form only.
|
542 |
+
*
|
543 |
+
* @since 1.4.9
|
544 |
+
*
|
545 |
+
* @param int $pf_form_id PirateForms form ID.
|
546 |
+
* @param array $form WPForms form array.
|
547 |
+
*/
|
548 |
+
protected function import_smtp( $pf_form_id, $form ) {
|
549 |
+
|
550 |
+
// At this point we import only default form SMTP settings.
|
551 |
+
if ( 0 !== $pf_form_id ) {
|
552 |
+
return;
|
553 |
+
}
|
554 |
+
|
555 |
+
$pf_form = $this->get_form( 0 );
|
556 |
+
|
557 |
+
// Use only if enabled.
|
558 |
+
if ( empty( $pf_form['pirateformsopt_use_smtp'] ) || 'yes' !== $pf_form['pirateformsopt_use_smtp'] ) {
|
559 |
+
return;
|
560 |
+
}
|
561 |
+
|
562 |
+
// If user has WP Mail SMTP already activated - do nothing as it's most likely already configured.
|
563 |
+
if ( is_plugin_active( self::SLUG_SMTP_PLUGIN ) ) {
|
564 |
+
return;
|
565 |
+
}
|
566 |
+
|
567 |
+
// Check that we successfully installed and activated the plugin.
|
568 |
+
if ( ! $this->install_activate_smtp() ) {
|
569 |
+
return;
|
570 |
+
}
|
571 |
+
|
572 |
+
/*
|
573 |
+
* Finally, start the settings importing.
|
574 |
+
*/
|
575 |
+
// WP Mail SMTP 1.x and PHP 5.3+ are allowed. Older WPMS versions are ignored.
|
576 |
+
if ( ! function_exists( 'wp_mail_smtp' ) ) {
|
577 |
+
return;
|
578 |
+
}
|
579 |
+
|
580 |
+
// We do not use \WPMailSMTP\Options class here to avoid problems with PHP 5.2.
|
581 |
+
$options = get_option( 'wp_mail_smtp', array() );
|
582 |
+
|
583 |
+
$options['mail']['from_email'] = $this->get_smarttags( $pf_form['pirateformsopt_email'], $form['fields'] );
|
584 |
+
$options['mail']['mailer'] = 'smtp';
|
585 |
+
$options['smtp']['host'] = $pf_form['pirateformsopt_smtp_host'];
|
586 |
+
$options['smtp']['port'] = $pf_form['pirateformsopt_smtp_port'];
|
587 |
+
$options['smtp']['encryption'] = empty( $pf_form['pirateformsopt_use_secure'] ) ? 'none' : $pf_form['pirateformsopt_use_secure'];
|
588 |
+
$options['smtp']['auth'] = ! empty( $pf_form['pirateformsopt_use_smtp_authentication'] ) && 'yes' === $pf_form['pirateformsopt_use_smtp_authentication'];
|
589 |
+
$options['smtp']['user'] = $pf_form['pirateformsopt_smtp_username'];
|
590 |
+
$options['smtp']['pass'] = $pf_form['pirateformsopt_smtp_password'];
|
591 |
+
|
592 |
+
update_option( 'wp_mail_smtp', $options );
|
593 |
+
}
|
594 |
+
|
595 |
+
/**
|
596 |
+
* Do all the voodoo to install and activate the WP Mail SMTP plugin behind the scene.
|
597 |
+
* No user interaction is needed.
|
598 |
+
*
|
599 |
+
* @since 1.4.9
|
600 |
+
*
|
601 |
+
* @return bool
|
602 |
+
*/
|
603 |
+
protected function install_activate_smtp() {
|
604 |
+
/*
|
605 |
+
* Check installation.
|
606 |
+
* If installed but not activated - bail.
|
607 |
+
* We don't want to break current site email deliverability.
|
608 |
+
*/
|
609 |
+
|
610 |
+
if ( ! function_exists( 'get_plugins' ) ) {
|
611 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
612 |
+
}
|
613 |
+
|
614 |
+
// FALSE will bail the import.
|
615 |
+
if ( array_key_exists( self::SLUG_SMTP_PLUGIN, get_plugins() ) ) {
|
616 |
+
return false;
|
617 |
+
}
|
618 |
+
|
619 |
+
/*
|
620 |
+
* Let's try to install.
|
621 |
+
*/
|
622 |
+
$url = add_query_arg(
|
623 |
+
array(
|
624 |
+
'provider' => $this->slug,
|
625 |
+
'page' => 'wpforms-tools',
|
626 |
+
'view' => 'importer',
|
627 |
+
),
|
628 |
+
admin_url( 'admin.php' )
|
629 |
+
);
|
630 |
+
|
631 |
+
$creds = request_filesystem_credentials( esc_url_raw( $url ), '', false, false, null );
|
632 |
+
|
633 |
+
// Check for file system permissions.
|
634 |
+
if ( false === $creds ) {
|
635 |
+
return false;
|
636 |
+
}
|
637 |
+
|
638 |
+
if ( ! WP_Filesystem( $creds ) ) {
|
639 |
+
return false;
|
640 |
+
}
|
641 |
+
|
642 |
+
// We do not need any extra credentials if we have gotten this far, so let's install the plugin.
|
643 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
644 |
+
require_once dirname( __FILE__ ) . '/class-install-silent-skin.php';
|
645 |
+
|
646 |
+
// Do not allow WordPress to search/download translations, as this will break JS output.
|
647 |
+
remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
|
648 |
+
|
649 |
+
// Create the plugin upgrader with our custom skin.
|
650 |
+
$installer = new Plugin_Upgrader( new WPForms_Install_Silent_Skin() );
|
651 |
+
|
652 |
+
// Error check.
|
653 |
+
if ( ! method_exists( $installer, 'install' ) ) {
|
654 |
+
return false;
|
655 |
+
}
|
656 |
+
|
657 |
+
$installer->install( self::URL_SMTP_ZIP );
|
658 |
+
|
659 |
+
// Flush the cache and return the newly installed plugin basename.
|
660 |
+
wp_cache_flush();
|
661 |
+
|
662 |
+
if ( $installer->plugin_info() ) {
|
663 |
+
|
664 |
+
$plugin_basename = $installer->plugin_info();
|
665 |
+
|
666 |
+
// Activate, do not redirect, run the plugin activation routine.
|
667 |
+
$activated = activate_plugin( $plugin_basename );
|
668 |
+
|
669 |
+
if ( ! is_wp_error( $activated ) ) {
|
670 |
+
return true;
|
671 |
+
}
|
672 |
+
}
|
673 |
+
|
674 |
+
return false;
|
675 |
+
}
|
676 |
+
}
|
677 |
+
|
678 |
+
new WPForms_Pirate_Forms();
|
includes/class-conditional-logic-core.php
CHANGED
@@ -209,7 +209,7 @@ class WPForms_Conditional_Logic_Core {
|
|
209 |
'slug' => 'conditional_logic',
|
210 |
'value' => $enabled,
|
211 |
'desc' => esc_html__( 'Enable conditional logic', 'wpforms' ),
|
212 |
-
'tooltip' =>
|
213 |
'data' => array(
|
214 |
'name' => $field_name,
|
215 |
'actions' => $actions,
|
@@ -285,7 +285,7 @@ class WPForms_Conditional_Logic_Core {
|
|
285 |
$args['form'],
|
286 |
esc_html__( 'Enable conditional logic', 'wpforms' ),
|
287 |
array(
|
288 |
-
'tooltip' => esc_html__( '
|
289 |
'parent' => $parent,
|
290 |
'subsection' => $subsection,
|
291 |
'input_id' => 'wpforms-panel-field-' . implode( '-', array_filter( array( $parent, $panel, $subsection, 'conditional_logic', 'checkbox' ) ) ),
|
209 |
'slug' => 'conditional_logic',
|
210 |
'value' => $enabled,
|
211 |
'desc' => esc_html__( 'Enable conditional logic', 'wpforms' ),
|
212 |
+
'tooltip' => '<a href="https://wpforms.com/docs/how-to-use-conditional-logic-with-wpforms/" target="_blank" rel="noopener noreferrer">' . esc_html__( 'How to use Conditional Logic', 'wpforms' ) . '</a>',
|
213 |
'data' => array(
|
214 |
'name' => $field_name,
|
215 |
'actions' => $actions,
|
285 |
$args['form'],
|
286 |
esc_html__( 'Enable conditional logic', 'wpforms' ),
|
287 |
array(
|
288 |
+
'tooltip' => '<a href="https://wpforms.com/docs/how-to-use-conditional-logic-with-wpforms/" target="_blank" rel="noopener noreferrer">' . esc_html__( 'How to use Conditional Logic', 'wpforms' ) . '</a>',
|
289 |
'parent' => $parent,
|
290 |
'subsection' => $subsection,
|
291 |
'input_id' => 'wpforms-panel-field-' . implode( '-', array_filter( array( $parent, $panel, $subsection, 'conditional_logic', 'checkbox' ) ) ),
|
includes/class-frontend.php
CHANGED
@@ -40,6 +40,15 @@ class WPForms_Frontend {
|
|
40 |
*/
|
41 |
public $confirmation_message = '';
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
/**
|
44 |
* Primary class constructor.
|
45 |
*
|
@@ -130,6 +139,7 @@ class WPForms_Frontend {
|
|
130 |
|
131 |
// Allow filter to return early if some condition is not met.
|
132 |
if ( ! apply_filters( 'wpforms_frontend_load', true, $form_data, null ) ) {
|
|
|
133 |
return;
|
134 |
}
|
135 |
|
@@ -141,11 +151,6 @@ class WPForms_Frontend {
|
|
141 |
$this->pages = false;
|
142 |
}
|
143 |
|
144 |
-
// Add the hash for confirmation scrolling if enabled.
|
145 |
-
if ( ! empty( $settings['confirmation_type'] ) && 'message' === $settings['confirmation_type'] && ! empty( $settings['confirmation_message_scroll'] ) ) {
|
146 |
-
$action .= '#wpforms-' . $form_id;
|
147 |
-
}
|
148 |
-
|
149 |
// Allow final action to be customized - 3rd param ($form) has been deprecated.
|
150 |
$action = apply_filters( 'wpforms_frontend_form_action', $action, $form_data, null );
|
151 |
|
@@ -223,6 +228,7 @@ class WPForms_Frontend {
|
|
223 |
$message = apply_filters( 'wpforms_process_smart_tags', $this->confirmation_message, $form_data, $fields, $entry_id );
|
224 |
$message = apply_filters( 'wpforms_frontend_confirmation_message', wpautop( $message ), $form_data, $fields, $entry_id );
|
225 |
$class = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container';
|
|
|
226 |
|
227 |
printf(
|
228 |
'<div class="%s" id="wpforms-confirmation-%d">%s</div>',
|
40 |
*/
|
41 |
public $confirmation_message = '';
|
42 |
|
43 |
+
/**
|
44 |
+
* If the active form confirmation should auto scroll.
|
45 |
+
*
|
46 |
+
* @since 1.4.9
|
47 |
+
*
|
48 |
+
* @var bool
|
49 |
+
*/
|
50 |
+
public $confirmation_message_scroll = false;
|
51 |
+
|
52 |
/**
|
53 |
* Primary class constructor.
|
54 |
*
|
139 |
|
140 |
// Allow filter to return early if some condition is not met.
|
141 |
if ( ! apply_filters( 'wpforms_frontend_load', true, $form_data, null ) ) {
|
142 |
+
do_action( 'wpforms_frontend_not_loaded', $form_data, $form );
|
143 |
return;
|
144 |
}
|
145 |
|
151 |
$this->pages = false;
|
152 |
}
|
153 |
|
|
|
|
|
|
|
|
|
|
|
154 |
// Allow final action to be customized - 3rd param ($form) has been deprecated.
|
155 |
$action = apply_filters( 'wpforms_frontend_form_action', $action, $form_data, null );
|
156 |
|
228 |
$message = apply_filters( 'wpforms_process_smart_tags', $this->confirmation_message, $form_data, $fields, $entry_id );
|
229 |
$message = apply_filters( 'wpforms_frontend_confirmation_message', wpautop( $message ), $form_data, $fields, $entry_id );
|
230 |
$class = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container';
|
231 |
+
$class .= $this->confirmation_message_scroll ? ' wpforms-confirmation-scroll' : '';
|
232 |
|
233 |
printf(
|
234 |
'<div class="%s" id="wpforms-confirmation-%d">%s</div>',
|
includes/class-preview.php
CHANGED
@@ -244,7 +244,7 @@ class WPForms_Preview {
|
|
244 |
// This isn't a privilege check, rather this is intended to prevent
|
245 |
// the check from running on the site frontend and areas where
|
246 |
// we don't want it to load.
|
247 |
-
if ( ! is_admin()
|
248 |
return;
|
249 |
}
|
250 |
|
244 |
// This isn't a privilege check, rather this is intended to prevent
|
245 |
// the check from running on the site frontend and areas where
|
246 |
// we don't want it to load.
|
247 |
+
if ( ! is_admin() ) {
|
248 |
return;
|
249 |
}
|
250 |
|
includes/class-process.php
CHANGED
@@ -365,6 +365,10 @@ class WPForms_Process {
|
|
365 |
// Pass a message to a frontend if no redirection happened.
|
366 |
if ( ! empty( $confirmations[ $confirmation_id ]['type'] ) && 'message' === $confirmations[ $confirmation_id ]['type'] ) {
|
367 |
wpforms()->frontend->confirmation_message = $confirmations[ $confirmation_id ]['message'];
|
|
|
|
|
|
|
|
|
368 |
}
|
369 |
}
|
370 |
|
365 |
// Pass a message to a frontend if no redirection happened.
|
366 |
if ( ! empty( $confirmations[ $confirmation_id ]['type'] ) && 'message' === $confirmations[ $confirmation_id ]['type'] ) {
|
367 |
wpforms()->frontend->confirmation_message = $confirmations[ $confirmation_id ]['message'];
|
368 |
+
|
369 |
+
if ( ! empty( $confirmations[ $confirmation_id ]['message_scroll'] ) ) {
|
370 |
+
wpforms()->frontend->confirmation_message_scroll = true;
|
371 |
+
}
|
372 |
}
|
373 |
}
|
374 |
|
includes/class-widget.php
CHANGED
@@ -24,7 +24,7 @@ class WPForms_Widget extends WP_Widget {
|
|
24 |
*
|
25 |
* @since 1.0.2
|
26 |
*/
|
27 |
-
function __construct() {
|
28 |
|
29 |
// Widget defaults.
|
30 |
$this->defaults = array(
|
@@ -48,7 +48,7 @@ class WPForms_Widget extends WP_Widget {
|
|
48 |
'id_base' => $widget_slug,
|
49 |
);
|
50 |
|
51 |
-
//
|
52 |
parent::__construct( $widget_slug, esc_html_x( 'WPForms', 'Widget', 'wpforms' ), $widget_ops, $control_ops );
|
53 |
}
|
54 |
|
@@ -60,19 +60,19 @@ class WPForms_Widget extends WP_Widget {
|
|
60 |
* @param array $args An array of standard parameters for widgets in this theme.
|
61 |
* @param array $instance An array of settings for this widget instance.
|
62 |
*/
|
63 |
-
function widget( $args, $instance ) {
|
64 |
|
65 |
// Merge with defaults.
|
66 |
$instance = wp_parse_args( (array) $instance, $this->defaults );
|
67 |
|
68 |
echo $args['before_widget'];
|
69 |
|
70 |
-
// Title
|
71 |
if ( ! empty( $instance['title'] ) ) {
|
72 |
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
|
73 |
}
|
74 |
|
75 |
-
// Form
|
76 |
if ( ! empty( $instance['form_id'] ) ) {
|
77 |
wpforms()->frontend->output( absint( $instance['form_id'] ), $instance['show_title'], $instance['show_desc'] );
|
78 |
}
|
@@ -91,10 +91,10 @@ class WPForms_Widget extends WP_Widget {
|
|
91 |
*
|
92 |
* @return array The validated and (if necessary) amended settings
|
93 |
*/
|
94 |
-
function update( $new_instance, $old_instance ) {
|
95 |
|
96 |
$new_instance['title'] = wp_strip_all_tags( $new_instance['title'] );
|
97 |
-
$new_instance['form_id'] =
|
98 |
$new_instance['show_title'] = isset( $new_instance['show_title'] ) ? '1' : false;
|
99 |
$new_instance['show_desc'] = isset( $new_instance['show_desc'] ) ? '1' : false;
|
100 |
|
@@ -110,25 +110,27 @@ class WPForms_Widget extends WP_Widget {
|
|
110 |
*
|
111 |
* @return void
|
112 |
*/
|
113 |
-
function form( $instance ) {
|
114 |
|
115 |
// Merge with defaults.
|
116 |
$instance = wp_parse_args( (array) $instance, $this->defaults );
|
117 |
?>
|
118 |
<p>
|
119 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>">
|
120 |
-
<?php esc_html(
|
121 |
</label>
|
122 |
<input type="text"
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
</p>
|
127 |
<p>
|
128 |
-
<label for="<?php echo $this->get_field_id( 'form_id' ); ?>">
|
129 |
-
<?php esc_html(
|
130 |
</label>
|
131 |
-
<select
|
|
|
|
|
132 |
<?php
|
133 |
$forms = wpforms()->form->get();
|
134 |
if ( ! empty( $forms ) ) {
|
@@ -144,13 +146,17 @@ class WPForms_Widget extends WP_Widget {
|
|
144 |
</select>
|
145 |
</p>
|
146 |
<p>
|
147 |
-
<input type="checkbox" id="<?php echo $this->get_field_id( 'show_title' ); ?>"
|
148 |
-
|
149 |
-
<label for="<?php echo $this->get_field_id( 'show_title' ); ?>"
|
|
|
|
|
150 |
<br>
|
151 |
-
<input type="checkbox" id="<?php echo $this->get_field_id( 'show_desc' ); ?>"
|
152 |
-
name="<?php echo $this->get_field_name( 'show_desc' ); ?>" <?php checked( '1', $instance['show_desc'] ); ?>>
|
153 |
-
<label for="<?php echo $this->get_field_id( 'show_desc' ); ?>"
|
|
|
|
|
154 |
</p>
|
155 |
<?php
|
156 |
}
|
24 |
*
|
25 |
* @since 1.0.2
|
26 |
*/
|
27 |
+
public function __construct() {
|
28 |
|
29 |
// Widget defaults.
|
30 |
$this->defaults = array(
|
48 |
'id_base' => $widget_slug,
|
49 |
);
|
50 |
|
51 |
+
// Load widget.
|
52 |
parent::__construct( $widget_slug, esc_html_x( 'WPForms', 'Widget', 'wpforms' ), $widget_ops, $control_ops );
|
53 |
}
|
54 |
|
60 |
* @param array $args An array of standard parameters for widgets in this theme.
|
61 |
* @param array $instance An array of settings for this widget instance.
|
62 |
*/
|
63 |
+
public function widget( $args, $instance ) {
|
64 |
|
65 |
// Merge with defaults.
|
66 |
$instance = wp_parse_args( (array) $instance, $this->defaults );
|
67 |
|
68 |
echo $args['before_widget'];
|
69 |
|
70 |
+
// Title.
|
71 |
if ( ! empty( $instance['title'] ) ) {
|
72 |
echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
|
73 |
}
|
74 |
|
75 |
+
// Form.
|
76 |
if ( ! empty( $instance['form_id'] ) ) {
|
77 |
wpforms()->frontend->output( absint( $instance['form_id'] ), $instance['show_title'], $instance['show_desc'] );
|
78 |
}
|
91 |
*
|
92 |
* @return array The validated and (if necessary) amended settings
|
93 |
*/
|
94 |
+
public function update( $new_instance, $old_instance ) {
|
95 |
|
96 |
$new_instance['title'] = wp_strip_all_tags( $new_instance['title'] );
|
97 |
+
$new_instance['form_id'] = ! empty( $new_instance['form_id'] ) ? (int) $new_instance['form_id'] : 0;
|
98 |
$new_instance['show_title'] = isset( $new_instance['show_title'] ) ? '1' : false;
|
99 |
$new_instance['show_desc'] = isset( $new_instance['show_desc'] ) ? '1' : false;
|
100 |
|
110 |
*
|
111 |
* @return void
|
112 |
*/
|
113 |
+
public function form( $instance ) {
|
114 |
|
115 |
// Merge with defaults.
|
116 |
$instance = wp_parse_args( (array) $instance, $this->defaults );
|
117 |
?>
|
118 |
<p>
|
119 |
+
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>">
|
120 |
+
<?php echo esc_html( _x( 'Title:', 'Widget', 'wpforms' ) ); ?>
|
121 |
</label>
|
122 |
<input type="text"
|
123 |
+
id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"
|
124 |
+
name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>"
|
125 |
+
value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat"/>
|
126 |
</p>
|
127 |
<p>
|
128 |
+
<label for="<?php echo esc_attr( $this->get_field_id( 'form_id' ) ); ?>">
|
129 |
+
<?php echo esc_html( _x( 'Form:', 'Widget', 'wpforms' ) ); ?>
|
130 |
</label>
|
131 |
+
<select class="widefat"
|
132 |
+
id="<?php echo esc_attr( $this->get_field_id( 'form_id' ) ); ?>"
|
133 |
+
name="<?php echo esc_attr( $this->get_field_name( 'form_id' ) ); ?>">
|
134 |
<?php
|
135 |
$forms = wpforms()->form->get();
|
136 |
if ( ! empty( $forms ) ) {
|
146 |
</select>
|
147 |
</p>
|
148 |
<p>
|
149 |
+
<input type="checkbox" id="<?php echo esc_attr( $this->get_field_id( 'show_title' ) ); ?>"
|
150 |
+
name="<?php echo esc_attr( $this->get_field_name( 'show_title' ) ); ?>" <?php checked( '1', $instance['show_title'] ); ?>>
|
151 |
+
<label for="<?php echo esc_attr( $this->get_field_id( 'show_title' ) ); ?>">
|
152 |
+
<?php echo esc_html( _x( 'Display form name', 'Widget', 'wpforms' ) ); ?>
|
153 |
+
</label>
|
154 |
<br>
|
155 |
+
<input type="checkbox" id="<?php echo esc_attr( $this->get_field_id( 'show_desc' ) ); ?>"
|
156 |
+
name="<?php echo esc_attr( $this->get_field_name( 'show_desc' ) ); ?>" <?php checked( '1', $instance['show_desc'] ); ?>>
|
157 |
+
<label for="<?php echo esc_attr( $this->get_field_id( 'show_desc' ) ); ?>">
|
158 |
+
<?php echo esc_html( _x( 'Display form description', 'Widget', 'wpforms' ) ); ?>
|
159 |
+
</label>
|
160 |
</p>
|
161 |
<?php
|
162 |
}
|
languages/wpforms.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the WPForms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WPForms 1.4.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
|
7 |
-
"POT-Creation-Date: 2018-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -13,23 +13,23 @@ msgstr ""
|
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
#: includes/admin/admin.php:121 includes/admin/admin.php:151
|
16 |
-
#: pro/includes/admin/class-addons.php:
|
17 |
msgid "Activate"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: includes/admin/admin.php:122 pro/includes/admin/class-addons.php:
|
21 |
msgid "Active"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: includes/admin/admin.php:123 pro/includes/admin/class-addons.php:
|
25 |
msgid "Deactivate"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: includes/admin/admin.php:124 pro/includes/admin/class-addons.php:
|
29 |
msgid "Inactive"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: includes/admin/admin.php:125 pro/includes/admin/class-addons.php:
|
33 |
msgid "Install Addon"
|
34 |
msgstr ""
|
35 |
|
@@ -362,7 +362,8 @@ msgid ""
|
|
362 |
"Notifications dropdown setting."
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/admin/builder/class-builder.php:359
|
|
|
366 |
#: pro/wpforms-pro.php:485
|
367 |
msgid "Default Notification"
|
368 |
msgstr ""
|
@@ -755,7 +756,7 @@ msgstr ""
|
|
755 |
|
756 |
#: includes/admin/builder/panels/class-fields.php:142
|
757 |
#: includes/admin/builder/panels/class-settings.php:118
|
758 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
759 |
#: includes/admin/importers/class-ninja-forms.php:123
|
760 |
msgid "Submit"
|
761 |
msgstr ""
|
@@ -1080,9 +1081,9 @@ msgid ""
|
|
1080 |
"a>?"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#. #-#-#-#-# wpforms.pot (WPForms 1.4.
|
1084 |
#. Plugin Name of the plugin/theme
|
1085 |
-
#. #-#-#-#-# wpforms.pot (WPForms 1.4.
|
1086 |
#. Author of the plugin/theme
|
1087 |
#: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
|
1088 |
#: includes/admin/class-menu.php:51 includes/admin/class-menu.php:103
|
@@ -1400,7 +1401,7 @@ msgstr ""
|
|
1400 |
msgid "Required"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#: includes/admin/class-settings.php:426 includes/class-frontend.php:
|
1404 |
#: includes/functions.php:1708
|
1405 |
msgid "This field is required."
|
1406 |
msgstr ""
|
@@ -1409,12 +1410,12 @@ msgstr ""
|
|
1409 |
msgid "Website URL"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: includes/admin/class-settings.php:432 includes/class-frontend.php:
|
1413 |
#: pro/includes/fields/class-url.php:158
|
1414 |
msgid "Please enter a valid URL."
|
1415 |
msgstr ""
|
1416 |
|
1417 |
-
#: includes/admin/class-settings.php:438 includes/class-frontend.php:
|
1418 |
msgid "Please enter a valid email address."
|
1419 |
msgstr ""
|
1420 |
|
@@ -1422,7 +1423,7 @@ msgstr ""
|
|
1422 |
msgid "Number"
|
1423 |
msgstr ""
|
1424 |
|
1425 |
-
#: includes/admin/class-settings.php:444 includes/class-frontend.php:
|
1426 |
#: includes/fields/class-number.php:157
|
1427 |
msgid "Please enter a valid number."
|
1428 |
msgstr ""
|
@@ -1431,7 +1432,7 @@ msgstr ""
|
|
1431 |
msgid "Confirm Value"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
-
#: includes/admin/class-settings.php:450 includes/class-frontend.php:
|
1435 |
#: pro/includes/fields/class-password.php:404
|
1436 |
msgid "Field values do not match."
|
1437 |
msgstr ""
|
@@ -1523,7 +1524,7 @@ msgstr ""
|
|
1523 |
msgid "Select previous contact form plugin..."
|
1524 |
msgstr ""
|
1525 |
|
1526 |
-
#: includes/admin/class-tools.php:276 pro/includes/admin/class-addons.php:
|
1527 |
msgid "Not Installed"
|
1528 |
msgstr ""
|
1529 |
|
@@ -1632,7 +1633,7 @@ msgstr ""
|
|
1632 |
|
1633 |
#: includes/admin/class-tools.php:498 includes/admin/class-welcome.php:260
|
1634 |
#: lite/wpforms-lite.php:1324 lite/wpforms-lite.php:1350
|
1635 |
-
#: pro/includes/admin/class-addons.php:
|
1636 |
msgid "Upgrade Now"
|
1637 |
msgstr ""
|
1638 |
|
@@ -1931,67 +1932,87 @@ msgstr ""
|
|
1931 |
msgid "There was an error while creating a new form."
|
1932 |
msgstr ""
|
1933 |
|
1934 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1935 |
#: includes/admin/importers/class-ninja-forms.php:124
|
|
|
1936 |
msgid "Sending"
|
1937 |
msgstr ""
|
1938 |
|
1939 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1940 |
#: includes/admin/importers/class-ninja-forms.php:129
|
1941 |
msgid "Notification 1"
|
1942 |
msgstr ""
|
1943 |
|
1944 |
#. translators: %s - Contact Form 7 form name.
|
1945 |
#. translators: %s - Ninja Forms form name.
|
|
|
1946 |
#. translators: %s - form name.
|
1947 |
#. translators: %s - form name.
|
1948 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1949 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1950 |
#: includes/admin/importers/class-ninja-forms.php:132
|
1951 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
1952 |
-
#:
|
|
|
1953 |
msgid "New Entry: %s"
|
1954 |
msgstr ""
|
1955 |
|
1956 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1957 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
|
|
1958 |
#: includes/class-process.php:316 lite/wpforms-lite.php:248
|
1959 |
#: lite/wpforms-lite.php:298 pro/wpforms-pro.php:694 pro/wpforms-pro.php:781
|
1960 |
msgid "Thanks for contacting us! We will be in touch with you shortly."
|
1961 |
msgstr ""
|
1962 |
|
1963 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1964 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
|
|
1965 |
msgid "No form fields found."
|
1966 |
msgstr ""
|
1967 |
|
1968 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1969 |
msgid "Acceptance Field"
|
1970 |
msgstr ""
|
1971 |
|
1972 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1973 |
msgid "Notification 2"
|
1974 |
msgstr ""
|
1975 |
|
1976 |
#. translators: %1$s - field type; %2$s - field name if available.
|
1977 |
-
#: includes/admin/importers/class-contact-form-7.php:
|
1978 |
msgid "%1$s Field %2$s"
|
1979 |
msgstr ""
|
1980 |
|
1981 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
|
|
|
|
1982 |
msgid "Single Checkbox Field"
|
1983 |
msgstr ""
|
1984 |
|
1985 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
1986 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
1987 |
msgid "Notification"
|
1988 |
msgstr ""
|
1989 |
|
1990 |
#. translators: %1$s - field type; %2$s - field name if available.
|
1991 |
-
#: includes/admin/importers/class-ninja-forms.php:
|
1992 |
msgid "%1$s Field"
|
1993 |
msgstr ""
|
1994 |
|
|
|
|
|
|
|
|
|
|
|
1995 |
#: includes/admin/overview/class-overview-table.php:51
|
1996 |
#: includes/fields/class-name.php:21 includes/fields/class-name.php:276
|
1997 |
#: includes/templates/class-contact.php:34
|
@@ -2139,7 +2160,8 @@ msgid "Enable conditional logic"
|
|
2139 |
msgstr ""
|
2140 |
|
2141 |
#: includes/class-conditional-logic-core.php:212
|
2142 |
-
|
|
|
2143 |
msgstr ""
|
2144 |
|
2145 |
#: includes/class-conditional-logic-core.php:244
|
@@ -2154,10 +2176,6 @@ msgstr ""
|
|
2154 |
msgid "Don't process"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
-
#: includes/class-conditional-logic-core.php:288
|
2158 |
-
msgid "Check this option to enable conditional logic."
|
2159 |
-
msgstr ""
|
2160 |
-
|
2161 |
#: includes/class-conditional-logic-core.php:494
|
2162 |
msgctxt "Conditional Logic: new rule logic."
|
2163 |
msgid "AND"
|
@@ -2172,36 +2190,36 @@ msgstr ""
|
|
2172 |
msgid "Add rule group"
|
2173 |
msgstr ""
|
2174 |
|
2175 |
-
#: includes/class-frontend.php:
|
2176 |
#: pro/includes/fields/class-file-upload.php:383
|
2177 |
#: pro/includes/fields/class-file-upload.php:399
|
2178 |
#: pro/includes/fields/class-file-upload.php:417 pro/wpforms-pro.php:194
|
2179 |
msgid "File type is not allowed."
|
2180 |
msgstr ""
|
2181 |
|
2182 |
-
#: includes/class-frontend.php:
|
2183 |
msgid "File exceeds max size allowed."
|
2184 |
msgstr ""
|
2185 |
|
2186 |
-
#: includes/class-frontend.php:
|
2187 |
msgid "Please enter time in 12-hour AM/PM format (eg 8:45 AM)."
|
2188 |
msgstr ""
|
2189 |
|
2190 |
-
#: includes/class-frontend.php:
|
2191 |
msgid "Please enter time in 24-hour format (eg 22:45)."
|
2192 |
msgstr ""
|
2193 |
|
2194 |
-
#: includes/class-frontend.php:
|
2195 |
#: pro/includes/fields/class-payment-total.php:208 pro/wpforms-pro.php:218
|
2196 |
msgid "Payment is required."
|
2197 |
msgstr ""
|
2198 |
|
2199 |
-
#: includes/class-frontend.php:
|
2200 |
msgid "Please enter a valid credit card number."
|
2201 |
msgstr ""
|
2202 |
|
2203 |
#. translators: %s - URL to a non-amp version of a page with the form.
|
2204 |
-
#: includes/class-frontend.php:
|
2205 |
msgid "<a href=\"%s\">Go to the full page</a> to view and submit the form."
|
2206 |
msgstr ""
|
2207 |
|
@@ -2331,7 +2349,7 @@ msgid "WPForms honeypot field triggered."
|
|
2331 |
msgstr ""
|
2332 |
|
2333 |
#. translators: %s - form name.
|
2334 |
-
#: includes/class-process.php:
|
2335 |
#: pro/wpforms-pro.php:454
|
2336 |
msgid "New %s Entry"
|
2337 |
msgstr ""
|
@@ -2447,22 +2465,22 @@ msgctxt "Widget"
|
|
2447 |
msgid "Form:"
|
2448 |
msgstr ""
|
2449 |
|
2450 |
-
#: includes/class-widget.php:
|
2451 |
msgctxt "Widget"
|
2452 |
msgid "Select your form"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
-
#: includes/class-widget.php:
|
2456 |
msgctxt "Widget"
|
2457 |
msgid "No forms"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
-
#: includes/class-widget.php:
|
2461 |
msgctxt "Widget"
|
2462 |
msgid "Display form name"
|
2463 |
msgstr ""
|
2464 |
|
2465 |
-
#: includes/class-widget.php:
|
2466 |
msgctxt "Widget"
|
2467 |
msgid "Display form description"
|
2468 |
msgstr ""
|
@@ -2814,7 +2832,7 @@ msgstr ""
|
|
2814 |
#: pro/includes/fields/class-date-time.php:59
|
2815 |
#: pro/includes/fields/class-date-time.php:146
|
2816 |
#: pro/includes/fields/class-date-time.php:186
|
2817 |
-
#: pro/includes/fields/class-phone.php:
|
2818 |
msgid "Format"
|
2819 |
msgstr ""
|
2820 |
|
@@ -4976,7 +4994,7 @@ msgstr ""
|
|
4976 |
msgid "Upgrade to WPForms Pro Now"
|
4977 |
msgstr ""
|
4978 |
|
4979 |
-
#: lite/wpforms-lite.php:1317 pro/includes/admin/class-addons.php:
|
4980 |
msgid "Search Addons"
|
4981 |
msgstr ""
|
4982 |
|
@@ -5010,59 +5028,59 @@ msgstr ""
|
|
5010 |
msgid "Could not activate addon. Please activate from the Plugins page."
|
5011 |
msgstr ""
|
5012 |
|
5013 |
-
#: pro/includes/admin/ajax-actions.php:
|
5014 |
msgid "Addon installed."
|
5015 |
msgstr ""
|
5016 |
|
5017 |
-
#: pro/includes/admin/ajax-actions.php:
|
5018 |
-
#: pro/includes/admin/ajax-actions.php:
|
5019 |
msgid "Please enter a license key."
|
5020 |
msgstr ""
|
5021 |
|
5022 |
-
#: pro/includes/admin/class-addons.php:
|
5023 |
msgid "Refresh Addons"
|
5024 |
msgstr ""
|
5025 |
|
5026 |
-
#: pro/includes/admin/class-addons.php:
|
5027 |
msgid ""
|
5028 |
"There was an issue retrieving Addons for this site. Please click on the "
|
5029 |
-
"button above
|
5030 |
msgstr ""
|
5031 |
|
5032 |
-
#: pro/includes/admin/class-addons.php:
|
5033 |
msgid ""
|
5034 |
"In order to get access to Addons, you need to resolve your license key "
|
5035 |
"errors."
|
5036 |
msgstr ""
|
5037 |
|
5038 |
-
#: pro/includes/admin/class-addons.php:
|
5039 |
msgid ""
|
5040 |
"In order to get access to Addons, you need to verify your license key for "
|
5041 |
"WPForms."
|
5042 |
msgstr ""
|
5043 |
|
5044 |
-
#: pro/includes/admin/class-addons.php:
|
5045 |
msgid "Addons have successfully been refreshed."
|
5046 |
msgstr ""
|
5047 |
|
5048 |
#. translators: %s - refresh addons page URL.
|
5049 |
-
#: pro/includes/admin/class-addons.php:
|
5050 |
msgid ""
|
5051 |
"Improve your forms with our premium addons. Missing an addon that you think "
|
5052 |
"you should be able to see? Click the <a href=\"%s\">Refresh Addons</a> "
|
5053 |
"button above."
|
5054 |
msgstr ""
|
5055 |
|
5056 |
-
#: pro/includes/admin/class-addons.php:
|
5057 |
msgid "Available Addons"
|
5058 |
msgstr ""
|
5059 |
|
5060 |
-
#: pro/includes/admin/class-addons.php:
|
5061 |
msgid "Unlock More Features..."
|
5062 |
msgstr ""
|
5063 |
|
5064 |
#. translators: %s - WPForms.com Account page URL.
|
5065 |
-
#: pro/includes/admin/class-addons.php:
|
5066 |
msgid ""
|
5067 |
"Want to get even more features? <a href=\"%s\" target=\"_blank\" rel="
|
5068 |
"\"noopener noreferrer\">Upgrade your WPForms account</a> and unlock the "
|
@@ -5071,7 +5089,7 @@ msgstr ""
|
|
5071 |
|
5072 |
#. translators: %s - addon status label.
|
5073 |
#. translators: %s - entry payment status.
|
5074 |
-
#: pro/includes/admin/class-addons.php:
|
5075 |
#: pro/includes/admin/entries/class-entries-single.php:897
|
5076 |
msgid "Status: %s"
|
5077 |
msgstr ""
|
@@ -5582,7 +5600,7 @@ msgid "Address"
|
|
5582 |
msgstr ""
|
5583 |
|
5584 |
#: pro/includes/fields/class-address.php:39
|
5585 |
-
#: pro/includes/fields/class-phone.php:
|
5586 |
msgid "US"
|
5587 |
msgstr ""
|
5588 |
|
@@ -5613,7 +5631,7 @@ msgid "State"
|
|
5613 |
msgstr ""
|
5614 |
|
5615 |
#: pro/includes/fields/class-address.php:48
|
5616 |
-
#: pro/includes/fields/class-phone.php:
|
5617 |
msgid "International"
|
5618 |
msgstr ""
|
5619 |
|
@@ -6048,7 +6066,7 @@ msgstr ""
|
|
6048 |
msgid "Phone"
|
6049 |
msgstr ""
|
6050 |
|
6051 |
-
#: pro/includes/fields/class-phone.php:
|
6052 |
msgid "Select format for the phone form field"
|
6053 |
msgstr ""
|
6054 |
|
@@ -6416,9 +6434,9 @@ msgstr ""
|
|
6416 |
msgid "Please deactivate WPForms Lite before activating WPForms."
|
6417 |
msgstr ""
|
6418 |
|
6419 |
-
#. #-#-#-#-# wpforms.pot (WPForms 1.4.
|
6420 |
#. Plugin URI of the plugin/theme
|
6421 |
-
#. #-#-#-#-# wpforms.pot (WPForms 1.4.
|
6422 |
#. Author URI of the plugin/theme
|
6423 |
msgid "https://wpforms.com"
|
6424 |
msgstr ""
|
2 |
# This file is distributed under the same license as the WPForms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WPForms 1.4.9\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
|
7 |
+
"POT-Creation-Date: 2018-09-17 18:49:02+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
#: includes/admin/admin.php:121 includes/admin/admin.php:151
|
16 |
+
#: pro/includes/admin/class-addons.php:290
|
17 |
msgid "Activate"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: includes/admin/admin.php:122 pro/includes/admin/class-addons.php:242
|
21 |
msgid "Active"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: includes/admin/admin.php:123 pro/includes/admin/class-addons.php:285
|
25 |
msgid "Deactivate"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: includes/admin/admin.php:124 pro/includes/admin/class-addons.php:248
|
29 |
msgid "Inactive"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: includes/admin/admin.php:125 pro/includes/admin/class-addons.php:295
|
33 |
msgid "Install Addon"
|
34 |
msgstr ""
|
35 |
|
362 |
"Notifications dropdown setting."
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: includes/admin/builder/class-builder.php:359
|
366 |
+
#: includes/admin/importers/class-pirate-forms.php:445 lite/wpforms-lite.php:95
|
367 |
#: pro/wpforms-pro.php:485
|
368 |
msgid "Default Notification"
|
369 |
msgstr ""
|
756 |
|
757 |
#: includes/admin/builder/panels/class-fields.php:142
|
758 |
#: includes/admin/builder/panels/class-settings.php:118
|
759 |
+
#: includes/admin/importers/class-contact-form-7.php:115
|
760 |
#: includes/admin/importers/class-ninja-forms.php:123
|
761 |
msgid "Submit"
|
762 |
msgstr ""
|
1081 |
"a>?"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
|
1085 |
#. Plugin Name of the plugin/theme
|
1086 |
+
#. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
|
1087 |
#. Author of the plugin/theme
|
1088 |
#: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
|
1089 |
#: includes/admin/class-menu.php:51 includes/admin/class-menu.php:103
|
1401 |
msgid "Required"
|
1402 |
msgstr ""
|
1403 |
|
1404 |
+
#: includes/admin/class-settings.php:426 includes/class-frontend.php:1029
|
1405 |
#: includes/functions.php:1708
|
1406 |
msgid "This field is required."
|
1407 |
msgstr ""
|
1410 |
msgid "Website URL"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: includes/admin/class-settings.php:432 includes/class-frontend.php:1030
|
1414 |
#: pro/includes/fields/class-url.php:158
|
1415 |
msgid "Please enter a valid URL."
|
1416 |
msgstr ""
|
1417 |
|
1418 |
+
#: includes/admin/class-settings.php:438 includes/class-frontend.php:1031
|
1419 |
msgid "Please enter a valid email address."
|
1420 |
msgstr ""
|
1421 |
|
1423 |
msgid "Number"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: includes/admin/class-settings.php:444 includes/class-frontend.php:1032
|
1427 |
#: includes/fields/class-number.php:157
|
1428 |
msgid "Please enter a valid number."
|
1429 |
msgstr ""
|
1432 |
msgid "Confirm Value"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
+
#: includes/admin/class-settings.php:450 includes/class-frontend.php:1033
|
1436 |
#: pro/includes/fields/class-password.php:404
|
1437 |
msgid "Field values do not match."
|
1438 |
msgstr ""
|
1524 |
msgid "Select previous contact form plugin..."
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: includes/admin/class-tools.php:276 pro/includes/admin/class-addons.php:245
|
1528 |
msgid "Not Installed"
|
1529 |
msgstr ""
|
1530 |
|
1633 |
|
1634 |
#: includes/admin/class-tools.php:498 includes/admin/class-welcome.php:260
|
1635 |
#: lite/wpforms-lite.php:1324 lite/wpforms-lite.php:1350
|
1636 |
+
#: pro/includes/admin/class-addons.php:298
|
1637 |
msgid "Upgrade Now"
|
1638 |
msgstr ""
|
1639 |
|
1932 |
msgid "There was an error while creating a new form."
|
1933 |
msgstr ""
|
1934 |
|
1935 |
+
#: includes/admin/importers/class-contact-form-7.php:93
|
1936 |
+
msgid "Unknown Form"
|
1937 |
+
msgstr ""
|
1938 |
+
|
1939 |
+
#: includes/admin/importers/class-contact-form-7.php:94
|
1940 |
+
msgid "The form you are trying to import does not exist."
|
1941 |
+
msgstr ""
|
1942 |
+
|
1943 |
+
#: includes/admin/importers/class-contact-form-7.php:116
|
1944 |
#: includes/admin/importers/class-ninja-forms.php:124
|
1945 |
+
#: includes/admin/importers/class-pirate-forms.php:440
|
1946 |
msgid "Sending"
|
1947 |
msgstr ""
|
1948 |
|
1949 |
+
#: includes/admin/importers/class-contact-form-7.php:121
|
1950 |
#: includes/admin/importers/class-ninja-forms.php:129
|
1951 |
msgid "Notification 1"
|
1952 |
msgstr ""
|
1953 |
|
1954 |
#. translators: %s - Contact Form 7 form name.
|
1955 |
#. translators: %s - Ninja Forms form name.
|
1956 |
+
#. translators: %s - PirateForms form name.
|
1957 |
#. translators: %s - form name.
|
1958 |
#. translators: %s - form name.
|
1959 |
+
#: includes/admin/importers/class-contact-form-7.php:124
|
1960 |
+
#: includes/admin/importers/class-contact-form-7.php:414
|
1961 |
#: includes/admin/importers/class-ninja-forms.php:132
|
1962 |
+
#: includes/admin/importers/class-ninja-forms.php:409
|
1963 |
+
#: includes/admin/importers/class-pirate-forms.php:448
|
1964 |
+
#: lite/wpforms-lite.php:144 pro/wpforms-pro.php:566
|
1965 |
msgid "New Entry: %s"
|
1966 |
msgstr ""
|
1967 |
|
1968 |
+
#: includes/admin/importers/class-contact-form-7.php:134
|
1969 |
+
#: includes/admin/importers/class-ninja-forms.php:142
|
1970 |
+
#: includes/admin/importers/class-pirate-forms.php:459
|
1971 |
#: includes/class-process.php:316 lite/wpforms-lite.php:248
|
1972 |
#: lite/wpforms-lite.php:298 pro/wpforms-pro.php:694 pro/wpforms-pro.php:781
|
1973 |
msgid "Thanks for contacting us! We will be in touch with you shortly."
|
1974 |
msgstr ""
|
1975 |
|
1976 |
+
#: includes/admin/importers/class-contact-form-7.php:147
|
1977 |
+
#: includes/admin/importers/class-ninja-forms.php:155
|
1978 |
+
#: includes/admin/importers/class-pirate-forms.php:426
|
1979 |
msgid "No form fields found."
|
1980 |
msgstr ""
|
1981 |
|
1982 |
+
#: includes/admin/importers/class-contact-form-7.php:316
|
1983 |
msgid "Acceptance Field"
|
1984 |
msgstr ""
|
1985 |
|
1986 |
+
#: includes/admin/importers/class-contact-form-7.php:411
|
1987 |
msgid "Notification 2"
|
1988 |
msgstr ""
|
1989 |
|
1990 |
#. translators: %1$s - field type; %2$s - field name if available.
|
1991 |
+
#: includes/admin/importers/class-contact-form-7.php:504
|
1992 |
msgid "%1$s Field %2$s"
|
1993 |
msgstr ""
|
1994 |
|
1995 |
+
#: includes/admin/importers/class-ninja-forms.php:231
|
1996 |
+
#: includes/admin/importers/class-pirate-forms.php:243
|
1997 |
+
#: includes/admin/importers/class-pirate-forms.php:335
|
1998 |
msgid "Single Checkbox Field"
|
1999 |
msgstr ""
|
2000 |
|
2001 |
+
#: includes/admin/importers/class-ninja-forms.php:406
|
2002 |
+
#: includes/admin/importers/class-ninja-forms.php:422
|
2003 |
msgid "Notification"
|
2004 |
msgstr ""
|
2005 |
|
2006 |
#. translators: %1$s - field type; %2$s - field name if available.
|
2007 |
+
#: includes/admin/importers/class-ninja-forms.php:476
|
2008 |
msgid "%1$s Field"
|
2009 |
msgstr ""
|
2010 |
|
2011 |
+
#: includes/admin/importers/class-pirate-forms.php:88
|
2012 |
+
#: includes/admin/importers/class-pirate-forms.php:176
|
2013 |
+
msgid "Default Form"
|
2014 |
+
msgstr ""
|
2015 |
+
|
2016 |
#: includes/admin/overview/class-overview-table.php:51
|
2017 |
#: includes/fields/class-name.php:21 includes/fields/class-name.php:276
|
2018 |
#: includes/templates/class-contact.php:34
|
2160 |
msgstr ""
|
2161 |
|
2162 |
#: includes/class-conditional-logic-core.php:212
|
2163 |
+
#: includes/class-conditional-logic-core.php:288
|
2164 |
+
msgid "How to use Conditional Logic"
|
2165 |
msgstr ""
|
2166 |
|
2167 |
#: includes/class-conditional-logic-core.php:244
|
2176 |
msgid "Don't process"
|
2177 |
msgstr ""
|
2178 |
|
|
|
|
|
|
|
|
|
2179 |
#: includes/class-conditional-logic-core.php:494
|
2180 |
msgctxt "Conditional Logic: new rule logic."
|
2181 |
msgid "AND"
|
2190 |
msgid "Add rule group"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
+
#: includes/class-frontend.php:1034
|
2194 |
#: pro/includes/fields/class-file-upload.php:383
|
2195 |
#: pro/includes/fields/class-file-upload.php:399
|
2196 |
#: pro/includes/fields/class-file-upload.php:417 pro/wpforms-pro.php:194
|
2197 |
msgid "File type is not allowed."
|
2198 |
msgstr ""
|
2199 |
|
2200 |
+
#: includes/class-frontend.php:1035 pro/wpforms-pro.php:200
|
2201 |
msgid "File exceeds max size allowed."
|
2202 |
msgstr ""
|
2203 |
|
2204 |
+
#: includes/class-frontend.php:1036 pro/wpforms-pro.php:206
|
2205 |
msgid "Please enter time in 12-hour AM/PM format (eg 8:45 AM)."
|
2206 |
msgstr ""
|
2207 |
|
2208 |
+
#: includes/class-frontend.php:1037 pro/wpforms-pro.php:212
|
2209 |
msgid "Please enter time in 24-hour format (eg 22:45)."
|
2210 |
msgstr ""
|
2211 |
|
2212 |
+
#: includes/class-frontend.php:1038
|
2213 |
#: pro/includes/fields/class-payment-total.php:208 pro/wpforms-pro.php:218
|
2214 |
msgid "Payment is required."
|
2215 |
msgstr ""
|
2216 |
|
2217 |
+
#: includes/class-frontend.php:1039 pro/wpforms-pro.php:224
|
2218 |
msgid "Please enter a valid credit card number."
|
2219 |
msgstr ""
|
2220 |
|
2221 |
#. translators: %s - URL to a non-amp version of a page with the form.
|
2222 |
+
#: includes/class-frontend.php:1148
|
2223 |
msgid "<a href=\"%s\">Go to the full page</a> to view and submit the form."
|
2224 |
msgstr ""
|
2225 |
|
2349 |
msgstr ""
|
2350 |
|
2351 |
#. translators: %s - form name.
|
2352 |
+
#: includes/class-process.php:438 lite/wpforms-lite.php:59
|
2353 |
#: pro/wpforms-pro.php:454
|
2354 |
msgid "New %s Entry"
|
2355 |
msgstr ""
|
2465 |
msgid "Form:"
|
2466 |
msgstr ""
|
2467 |
|
2468 |
+
#: includes/class-widget.php:137
|
2469 |
msgctxt "Widget"
|
2470 |
msgid "Select your form"
|
2471 |
msgstr ""
|
2472 |
|
2473 |
+
#: includes/class-widget.php:143
|
2474 |
msgctxt "Widget"
|
2475 |
msgid "No forms"
|
2476 |
msgstr ""
|
2477 |
|
2478 |
+
#: includes/class-widget.php:152
|
2479 |
msgctxt "Widget"
|
2480 |
msgid "Display form name"
|
2481 |
msgstr ""
|
2482 |
|
2483 |
+
#: includes/class-widget.php:158
|
2484 |
msgctxt "Widget"
|
2485 |
msgid "Display form description"
|
2486 |
msgstr ""
|
2832 |
#: pro/includes/fields/class-date-time.php:59
|
2833 |
#: pro/includes/fields/class-date-time.php:146
|
2834 |
#: pro/includes/fields/class-date-time.php:186
|
2835 |
+
#: pro/includes/fields/class-phone.php:86
|
2836 |
msgid "Format"
|
2837 |
msgstr ""
|
2838 |
|
4994 |
msgid "Upgrade to WPForms Pro Now"
|
4995 |
msgstr ""
|
4996 |
|
4997 |
+
#: lite/wpforms-lite.php:1317 pro/includes/admin/class-addons.php:95
|
4998 |
msgid "Search Addons"
|
4999 |
msgstr ""
|
5000 |
|
5028 |
msgid "Could not activate addon. Please activate from the Plugins page."
|
5029 |
msgstr ""
|
5030 |
|
5031 |
+
#: pro/includes/admin/ajax-actions.php:124
|
5032 |
msgid "Addon installed."
|
5033 |
msgstr ""
|
5034 |
|
5035 |
+
#: pro/includes/admin/ajax-actions.php:240
|
5036 |
+
#: pro/includes/admin/ajax-actions.php:285
|
5037 |
msgid "Please enter a license key."
|
5038 |
msgstr ""
|
5039 |
|
5040 |
+
#: pro/includes/admin/class-addons.php:93
|
5041 |
msgid "Refresh Addons"
|
5042 |
msgstr ""
|
5043 |
|
5044 |
+
#: pro/includes/admin/class-addons.php:101
|
5045 |
msgid ""
|
5046 |
"There was an issue retrieving Addons for this site. Please click on the "
|
5047 |
+
"button above to refresh."
|
5048 |
msgstr ""
|
5049 |
|
5050 |
+
#: pro/includes/admin/class-addons.php:107
|
5051 |
msgid ""
|
5052 |
"In order to get access to Addons, you need to resolve your license key "
|
5053 |
"errors."
|
5054 |
msgstr ""
|
5055 |
|
5056 |
+
#: pro/includes/admin/class-addons.php:113
|
5057 |
msgid ""
|
5058 |
"In order to get access to Addons, you need to verify your license key for "
|
5059 |
"WPForms."
|
5060 |
msgstr ""
|
5061 |
|
5062 |
+
#: pro/includes/admin/class-addons.php:121
|
5063 |
msgid "Addons have successfully been refreshed."
|
5064 |
msgstr ""
|
5065 |
|
5066 |
#. translators: %s - refresh addons page URL.
|
5067 |
+
#: pro/includes/admin/class-addons.php:134
|
5068 |
msgid ""
|
5069 |
"Improve your forms with our premium addons. Missing an addon that you think "
|
5070 |
"you should be able to see? Click the <a href=\"%s\">Refresh Addons</a> "
|
5071 |
"button above."
|
5072 |
msgstr ""
|
5073 |
|
5074 |
+
#: pro/includes/admin/class-addons.php:146
|
5075 |
msgid "Available Addons"
|
5076 |
msgstr ""
|
5077 |
|
5078 |
+
#: pro/includes/admin/class-addons.php:195
|
5079 |
msgid "Unlock More Features..."
|
5080 |
msgstr ""
|
5081 |
|
5082 |
#. translators: %s - WPForms.com Account page URL.
|
5083 |
+
#: pro/includes/admin/class-addons.php:200
|
5084 |
msgid ""
|
5085 |
"Want to get even more features? <a href=\"%s\" target=\"_blank\" rel="
|
5086 |
"\"noopener noreferrer\">Upgrade your WPForms account</a> and unlock the "
|
5089 |
|
5090 |
#. translators: %s - addon status label.
|
5091 |
#. translators: %s - entry payment status.
|
5092 |
+
#: pro/includes/admin/class-addons.php:272
|
5093 |
#: pro/includes/admin/entries/class-entries-single.php:897
|
5094 |
msgid "Status: %s"
|
5095 |
msgstr ""
|
5600 |
msgstr ""
|
5601 |
|
5602 |
#: pro/includes/fields/class-address.php:39
|
5603 |
+
#: pro/includes/fields/class-phone.php:98
|
5604 |
msgid "US"
|
5605 |
msgstr ""
|
5606 |
|
5631 |
msgstr ""
|
5632 |
|
5633 |
#: pro/includes/fields/class-address.php:48
|
5634 |
+
#: pro/includes/fields/class-phone.php:99
|
5635 |
msgid "International"
|
5636 |
msgstr ""
|
5637 |
|
6066 |
msgid "Phone"
|
6067 |
msgstr ""
|
6068 |
|
6069 |
+
#: pro/includes/fields/class-phone.php:87
|
6070 |
msgid "Select format for the phone form field"
|
6071 |
msgstr ""
|
6072 |
|
6434 |
msgid "Please deactivate WPForms Lite before activating WPForms."
|
6435 |
msgstr ""
|
6436 |
|
6437 |
+
#. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
|
6438 |
#. Plugin URI of the plugin/theme
|
6439 |
+
#. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
|
6440 |
#. Author URI of the plugin/theme
|
6441 |
msgid "https://wpforms.com"
|
6442 |
msgstr ""
|
readme.txt
CHANGED
@@ -213,8 +213,15 @@ Syed Balkhi
|
|
213 |
|
214 |
== Changelog ==
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
= 1.4.8.1 =
|
217 |
-
- Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
|
218 |
|
219 |
= 1.4.8 =
|
220 |
- Added: Gutenberg block.
|
213 |
|
214 |
== Changelog ==
|
215 |
|
216 |
+
= 1.4.9 =
|
217 |
+
- Added: Pirate Forms importer.
|
218 |
+
- Changed: Some form builder tooltips to contain documentation links.
|
219 |
+
- Fixed: Form builder javascript conflict with jQuery non-conflict mode.
|
220 |
+
- Fixed: PHP Notice from WPForms widget.
|
221 |
+
- Fixed: Incorrect markup around Addons submenu item.
|
222 |
+
|
223 |
= 1.4.8.1 =
|
224 |
+
- Fixed: Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
|
225 |
|
226 |
= 1.4.8 =
|
227 |
- Added: Gutenberg block.
|
wpforms.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
|
6 |
* Author: WPForms
|
7 |
* Author URI: https://wpforms.com
|
8 |
-
* Version: 1.4.
|
9 |
* Text Domain: wpforms
|
10 |
* Domain Path: languages
|
11 |
*
|
@@ -90,7 +90,7 @@ if ( class_exists( 'WPForms' ) ) {
|
|
90 |
*
|
91 |
* @var string
|
92 |
*/
|
93 |
-
public $version = '1.4.
|
94 |
|
95 |
/**
|
96 |
* The form data handler instance.
|
5 |
* Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
|
6 |
* Author: WPForms
|
7 |
* Author URI: https://wpforms.com
|
8 |
+
* Version: 1.4.9
|
9 |
* Text Domain: wpforms
|
10 |
* Domain Path: languages
|
11 |
*
|
90 |
*
|
91 |
* @var string
|
92 |
*/
|
93 |
+
public $version = '1.4.9';
|
94 |
|
95 |
/**
|
96 |
* The form data handler instance.
|