email-templates-library/src/main/java/org/gcube/portal/mailing/templates/TemplatenviteWIthPassword.java

72 lines
29 KiB
Java

package org.gcube.portal.mailing.templates;
import java.util.Base64;
import org.gcube.common.portal.mailing.templates.AbstractTemplate;
import org.gcube.common.portal.mailing.templates.Template;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
/**
*
* @author Massimiliano Assante, CNR-ISTI
*
*/
public class TemplatenviteWIthPassword extends AbstractTemplate implements Template {
private final String encodedTemplateHTML = "PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KCQk8dGl0bGU+VGl0bGU8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5CglzdHlsZT0iLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IE1hcmdpbjogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgbWluLXdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ij4KCTxzdHlsZT4KQG1lZGlhIG9ubHkgc2NyZWVuIHsKCWh0bWwgewoJCW1pbi1oZWlnaHQ6IDEwMCU7CgkJYmFja2dyb3VuZDogI2YzZjNmMwoJfQp9CgpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpIHsKCS5zbWFsbC1mbG9hdC1jZW50ZXIgewoJCW1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7CgkJZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKCQl0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAoJfQoJLnNtYWxsLXRleHQtY2VudGVyIHsKCQl0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAoJfQoJLnNtYWxsLXRleHQtbGVmdCB7CgkJdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Cgl9Cgkuc21hbGwtdGV4dC1yaWdodCB7CgkJdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudAoJfQp9CgpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpIHsKCS5oaWRlLWZvci1sYXJnZSB7CgkJZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogYXV0byAhaW1wb3J0YW50OwoJCW92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7CgkJbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OwoJCWZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OwoJCWxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQKCX0KfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU5NnB4KSB7Cgl0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5yb3cuaGlkZS1mb3ItbGFyZ2UKCQl7CgkJZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCkgewoJdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLmNhbGxvdXQtaW5uZXIuaGlkZS1mb3ItbGFyZ2UgewoJCWRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCkgewoJdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLnNob3ctZm9yLWxhcmdlIHsKCQlkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDA7CgkJbXNvLWhpZGU6IGFsbDsKCQlvdmVyZmxvdzogaGlkZGVuCgl9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCkgewoJdGFibGUuYm9keSBpbWcgewoJCXdpZHRoOiBhdXRvOwoJCWhlaWdodDogYXV0bwoJfQoJdGFibGUuYm9keSBjZW50ZXIgewoJCW1pbi13aWR0aDogMCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IC5jb250YWluZXIgewoJCXdpZHRoOiA5NSUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSAuY29sdW1uLCB0YWJsZS5ib2R5IC5jb2x1bW5zIHsKCQloZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKCQktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgkJLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwoJCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgkJcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7CgkJcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IC5jb2x1bW4gLmNvbHVtbiwgdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW5zLCB0YWJsZS5ib2R5IC5jb2x1bW5zIC5jb2x1bW4sCgkJdGFibGUuYm9keSAuY29sdW1ucyAuY29sdW1ucyB7CgkJcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CgkJcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IC5jb2xsYXBzZSAuY29sdW1uLCB0YWJsZS5ib2R5IC5jb2xsYXBzZSAuY29sdW1ucyB7CgkJcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CgkJcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC0xLCB0aC5zbWFsbC0xIHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogOC4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGQuc21hbGwtMiwgdGguc21hbGwtMiB7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDE2LjY2NjY3JSAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC0zLCB0aC5zbWFsbC0zIHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogMjUlICFpbXBvcnRhbnQKCX0KCXRkLnNtYWxsLTQsIHRoLnNtYWxsLTQgewoJCWRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwoJCXdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGQuc21hbGwtNSwgdGguc21hbGwtNSB7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDQxLjY2NjY3JSAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC02LCB0aC5zbWFsbC02IHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogNTAlICFpbXBvcnRhbnQKCX0KCXRkLnNtYWxsLTcsIHRoLnNtYWxsLTcgewoJCWRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwoJCXdpZHRoOiA1OC4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGQuc21hbGwtOCwgdGguc21hbGwtOCB7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDY2LjY2NjY3JSAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC05LCB0aC5zbWFsbC05IHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogNzUlICFpbXBvcnRhbnQKCX0KCXRkLnNtYWxsLTEwLCB0aC5zbWFsbC0xMCB7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC0xMSwgdGguc21hbGwtMTEgewoJCWRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwoJCXdpZHRoOiA5MS42NjY2NyUgIWltcG9ydGFudAoJfQoJdGQuc21hbGwtMTIsIHRoLnNtYWxsLTEyIHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9CgkuY29sdW1uIHRkLnNtYWxsLTEyLCAuY29sdW1uIHRoLnNtYWxsLTEyLCAuY29sdW1ucyB0ZC5zbWFsbC0xMiwgLmNvbHVtbnMgdGguc21hbGwtMTIKCQl7CgkJZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC0xLCB0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC0xIHsKCQltYXJnaW4tbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsKCQlNYXJnaW4tbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMiwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMiB7CgkJbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMywgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMyB7CgkJbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNCwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNCB7CgkJbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNSwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNSB7CgkJbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNiwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNiB7CgkJbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNywgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNyB7CgkJbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtOCwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtOCB7CgkJbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtOSwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtOSB7CgkJbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OwoJCU1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMTAsIHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTEwIHsKCQltYXJnaW4tbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7CgkJTWFyZ2luLWxlZnQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC0xMSwgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMTEgewoJCW1hcmdpbi1sZWZ0OiA5MS42NjY2NyUgIWltcG9ydGFudDsKCQlNYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQKCX0KCXRhYmxlLmJvZHkgdGFibGUuY29sdW1ucyB0ZC5leHBhbmRlciwgdGFibGUuYm9keSB0YWJsZS5jb2x1bW5zIHRoLmV4cGFuZGVyCgkJewoJCWRpc3BsYXk6IG5vbmUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSAucmlnaHQtdGV4dC1wYWQsIHRhYmxlLmJvZHkgLnRleHQtcGFkLXJpZ2h0IHsKCQlwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSAubGVmdC10ZXh0LXBhZCwgdGFibGUuYm9keSAudGV4dC1wYWQtbGVmdCB7CgkJcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5tZW51IHsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5tZW51IHRkLCB0YWJsZS5tZW51IHRoIHsKCQl3aWR0aDogYXV0byAhaW1wb3J0YW50OwoJCWRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5tZW51LnNtYWxsLXZlcnRpY2FsIHRkLCB0YWJsZS5tZW51LnNtYWxsLXZlcnRpY2FsIHRoLCB0YWJsZS5tZW51LnZlcnRpY2FsIHRkLAoJCXRhYmxlLm1lbnUudmVydGljYWwgdGggewoJCWRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQKCX0KCXRhYmxlLm1lbnVbYWxpZ249Y2VudGVyXSB7CgkJd2lkdGg6IGF1dG8gIWltcG9ydGFudAoJfQoJdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZCwgdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZGVkIHsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kIHRhYmxlLCB0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kZWQgdGFibGUgewoJCXdpZHRoOiAxMDAlCgl9Cgl0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kIHRhYmxlIGEsIHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZCB0YWJsZSBhIHsKCQl0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50OwoJCXBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwoJCXBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudAoJfQoJdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZCBjZW50ZXIsIHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZCBjZW50ZXIgewoJCW1pbi13aWR0aDogMAoJfQp9Cjwvc3R5bGU+Cgk8dGFibGUgY2xhc3M9ImJvZHkiIGRhdGEtbWFkZS13aXRoLWZvdW5kYXRpb249IiIKCQlzdHlsZT0iTWFyZ2luOiAwOyBiYWNrZ3JvdW5kOiAjZjNmM2YzOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGhlaWdodDogMTAwJTsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMTAwJSI+CgkJPHRib2R5PgoJCQk8dHIgc3R5bGU9InBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3AiPgoJCQkJPHRkIGNsYXNzPSJmbG9hdC1jZW50ZXIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIgoJCQkJCXN0eWxlPSItbW96LWh5cGhlbnM6IGF1dG87IC13ZWJraXQtaHlwaGVuczogYXV0bzsgTWFyZ2luOiAwIGF1dG87IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgY29sb3I6ICMwYTBhMGE7IGZsb2F0OiBub25lOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBoeXBoZW5zOiBhdXRvOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQiPjxjZW50ZXIKCQkJCQkJZGF0YS1wYXJzZWQ9IiIgc3R5bGU9Im1pbi13aWR0aDo1ODBweDt3aWR0aDoxMDAlIj4KCQkJCQk8dGFibGUgYWxpZ249ImNlbnRlciIgY2xhc3M9IndyYXBwZXIgaGVhZGVyIGZsb2F0LWNlbnRlciIKCQkJCQkJc3R5bGU9Ik1hcmdpbjogMCBhdXRvOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgZmxvYXQ6IG5vbmU7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMDAlIj4KCQkJCQkJPHRib2R5PgoJCQkJCQkJPHRyIHN0eWxlPSJwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wIj4KCQkJCQkJCQk8dGQgY2xhc3M9IndyYXBwZXItaW5uZXIiCgkJCQkJCQkJCXN0eWxlPSItbW96LWh5cGhlbnM6IGF1dG87IC13ZWJraXQtaHlwaGVuczogYXV0bzsgTWFyZ2luOiAwOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBoeXBoZW5zOiBhdXRvOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdvcmQtd3JhcDogYnJlYWstd29yZCI+PHRhYmxlCgkJCQkJCQkJCQlhbGlnbj0iY2VudGVyIiBjbGFzcz0iY29udGFpbmVyIgoJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMCBhdXRvOyBiYWNrZ3JvdW5kOiAjZmVmZWZlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGluaGVyaXQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiA1ODBweCI+CgkJCQkJCQkJCQk8dGJvZHk+CgkJCQkJCQkJCQkJPHRyIHN0eWxlPSJwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wIj4KCQkJCQkJCQkJCQkJPHRkCgkJCQkJCQkJCQkJCQlzdHlsZT0iLW1vei1oeXBoZW5zOiBhdXRvOyAtd2Via2l0LWh5cGhlbnM6IGF1dG87IE1hcmdpbjogMDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDQwMDsgaHlwaGVuczogYXV0bzsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQiPjx0YWJsZQoJCQkJCQkJCQkJCQkJCWNsYXNzPSJyb3cgY29sbGFwc2UiCgkJCQkJCQkJCQkJCQkJc3R5bGU9ImJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyBkaXNwbGF5OiB0YWJsZTsgcGFkZGluZzogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMTAwJSI+CgkJCQkJCQkJCQkJCQkJPHRib2R5PgoJCQkJCQkJCQkJCQkJCQk8dHIKCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wIj4KCQkJCQkJCQkJCQkJCQkJCTx0aCBjbGFzcz0ic21hbGwtNiBsYXJnZS02IGNvbHVtbnMgZmlyc3QiCgkJCQkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMCBhdXRvOyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7IHBhZGRpbmctYm90dG9tOiAxNnB4OyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAyOThweCI+PHRhYmxlCgkJCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDEwMCUiPgoJCQkJCQkJCQkJCQkJCQkJCQk8dGJvZHk+CgkJCQkJCQkJCQkJCQkJCQkJCQk8dHIKCQkJCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0icGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcCI+CgkJCQkJCQkJCQkJCQkJCQkJCQkJPHRoCgkJCQkJCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDA7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQiPjxpbWcKCQkJCQkJCQkJCQkJCQkJCQkJCQkJc3JjPSJ7e0dBVEVXQVlfTE9HTzpVUkx9fSIKCQkJCQkJCQkJCQkJCQkJCQkJCQkJc3R5bGU9Ii1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazsgbWF4LXdpZHRoOiAxMDAlOyBvdXRsaW5lOiAwOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHdpZHRoOiAyMDBweCIKCQkJCQkJCQkJCQkJCQkJCQkJCQkJYWx0PSJ7e0dBVEVXQVlfTkFNRX19IiB0aXRsZT0ie3tHQVRFV0FZX05BTUV9fSI+PC90aD4KCQkJCQkJCQkJCQkJCQkJCQkJCTwvdHI+CgkJCQkJCQkJCQkJCQkJCQkJCTwvdGJvZHk+CgkJCQkJCQkJCQkJCQkJCQkJPC90YWJsZT48L3RoPgoJCQkJCQkJCQkJCQkJCQkJPHRoIGNsYXNzPSJzbWFsbC02IGxhcmdlLTYgY29sdW1ucyBsYXN0IgoJCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDAgYXV0bzsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwOyBwYWRkaW5nLWJvdHRvbTogMTZweDsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMjk4cHgiPjx0YWJsZQoJCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6IDA7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMDAlIj4KCQkJCQkJCQkJCQkJCQkJCQkJPHRib2R5PgoJCQkJCQkJCQkJCQkJCQkJCQkJPHRyCgkJCQkJCQkJCQkJCQkJCQkJCQkJc3R5bGU9InBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3AiPgoJCQkJCQkJCQkJCQkJCQkJCQkJCTx0aAoJCQkJCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luOiAwOyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0Ij48cAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJY2xhc3M9InRleHQtcmlnaHQiCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luOiAwOyBNYXJnaW4tYm90dG9tOiAxMHB4OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiByaWdodCI+PC9wPjwvdGg+CgkJCQkJCQkJCQkJCQkJCQkJCQk8L3RyPgoJCQkJCQkJCQkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQkJCQkJCQkJCTwvdGFibGU+PC90aD4KCQkJCQkJCQkJCQkJCQkJPC90cj4KCQkJCQkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQkJCQkJPC90YWJsZT48L3RkPgoJCQkJCQkJCQkJCTwvdHI+CgkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQk8L3RhYmxlPjwvdGQ+CgkJCQkJCQk8L3RyPgoJCQkJCQk8L3Rib2R5PgoJCQkJCTwvdGFibGU+CgkJCQkJPHRhYmxlIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJjb250YWluZXIgYm9keS1ib3JkZXIgZmxvYXQtY2VudGVyIgoJCQkJCQlzdHlsZT0iTWFyZ2luOiAwIGF1dG87IGJhY2tncm91bmQ6ICNmZWZlZmU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyBmbG9hdDogbm9uZTsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDU4MHB4Ij4KCQkJCQkJPHRib2R5PgoJCQkJCQkJPHRyIHN0eWxlPSJwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB2ZXJ0aWNhbC1hbGlnbjogdG9wIj4KCQkJCQkJCQk8dGQKCQkJCQkJCQkJc3R5bGU9Ii1tb3otaHlwaGVuczogYXV0bzsgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOyBNYXJnaW46IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGh5cGhlbnM6IGF1dG87IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcDsgd29yZC13cmFwOiBicmVhay13b3JkIj48dGFibGUKCQkJCQkJCQkJCWNsYXNzPSJyb3ciCgkJCQkJCQkJCQlzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6IDA7IGRpc3BsYXk6IHRhYmxlOyBwYWRkaW5nOiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMDAlIj4KCQkJCQkJCQkJCTx0Ym9keT4KCQkJCQkJCQkJCQk8dHIgc3R5bGU9InBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3AiPgoJCQkJCQkJCQkJCQk8dGggY2xhc3M9InNtYWxsLTEyIGxhcmdlLTEyIGNvbHVtbnMgZmlyc3QgbGFzdCIKCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDAgYXV0bzsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwOyBwYWRkaW5nLWJvdHRvbTogMTZweDsgcGFkZGluZy1sZWZ0OiAxNnB4OyBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogNTY0cHgiPgoJCQkJCQkJCQkJCQkJPHAgY2xhc3M9ImxlYWQiCgkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMDsgTWFyZ2luLWJvdHRvbTogMTBweDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMS42OyBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQiPgoJCQkJCQkJCQkJCQkJCUhpIHt7SU5WSVRFRF9VU0VSX05BTUV9fSw8YnI+CgkJCQkJCQkJCQkJCQkJe3tJTlZJVElOR19VU0VSX0ZVTExOQU1FfX0KCQkJCQkJCQkJCQkJCQloYXMgaW52aXRlZCB5b3UgdG8ge3tTRUxFQ1RFRF9WUkVfTkFNRX19LCB5b3UgY2FuIGZpbmQgYQoJCQkJCQkJCQkJCQkJCWJyaWVmIGRlc2NyaXB0aW9uIGJlbG93OjwvcD4KCQkJCQkJCQkJCQkJCTxwCgkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMDsgTWFyZ2luLWJvdHRvbTogMTBweDsgY29sb3I6ICM2NjY7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgbWFyZ2luLWJvdHRvbTogMTBweDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdCI+e3tTRUxFQ1RFRF9WUkVfREVTQ1JJUFRJT059fTwvcD4KCQkJCQkJCQkJCQkJCTxwIGNsYXNzPSJsZWFkIgoJCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDA7IE1hcmdpbi1ib3R0b206IDEwcHg7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuNjsgbWFyZ2luOiAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0Ij4KCQkJCQkJCQkJCQkJCQlUbyBhY2NlcHQgcGxlYXNlIGNvcHkgdGhpcyB0ZW1wb3JhcnkgcGFzc3dvcmQ6PC9wPgoJCQkJCQkJCQkJCQkJCTxwCgkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMDsgTWFyZ2luLWJvdHRvbTogMTBweDsgY29sb3I6ICM5OTk7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGNlbnRlciI+e3tJTlZJVEVfVEVNUF9QV0R9fSA8L3A+CgkJCQkJCQkJCQkJCSAgIDxwIGNsYXNzPSJsZWFkIgoJCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDA7IE1hcmdpbi1ib3R0b206IDEwcHg7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuNjsgbWFyZ2luOiAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0Ij4KCQkJCQkJCQkJCQkJCQkgYW5kIGZvbGxvdyB0aGlzIGxpbms6PC9wPgoJCQkJCQkJCQkJCQkJPHAKCQkJCQkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luOiAwOyBNYXJnaW4tYm90dG9tOiAxMHB4OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0Ij4KCQkJCQkJCQkJCQkJCQk8YSBocmVmPSJ7e0FDQ0VQVF9JTlZJVEVfVVJMfX0iCgkJCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDA7IGNvbG9yOiAjMjE5OWU4OyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDQwMDsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWRlY29yYXRpb246IG5vbmUiPnt7QUNDRVBUX0lOVklURV9VUkx9fTwvYT4KCQkJCQkJCQkJCQkJCTwvcD4KCQkJCQkJCQkJCQkJCTx0YWJsZQoJCQkJCQkJCQkJCQkJCXN0eWxlPSJib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDEwMCUiPgoJCQkJCQkJCQkJCQkJCTx0Ym9keT4KCQkJCQkJCQkJCQkJCQkJPHRyCgkJCQkJCQkJCQkJCQkJCQlzdHlsZT0icGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcCI+PC90cj4KCQkJCQkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQkJCQkJPC90YWJsZT48L3RoPgoJCQkJCQkJCQkJCTwvdHI+CgkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQk8L3RhYmxlPgoJCQkJCQkJCQk8dGFibGUgY2xhc3M9ImNhbGxvdXQiCgkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luLWJvdHRvbTogMTZweDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6IDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3AiPgoJCQkJCQkJCQkJPHRib2R5PgoJCQkJCQkJCQkJCTx0ciBzdHlsZT0icGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcCI+CgkJCQkJCQkJCQkJCTx0aCBjbGFzcz0iY2FsbG91dC1pbm5lciB3YXJuaW5nIgoJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMDsgYmFja2dyb3VuZDogI2ZmZjNkOTsgYm9yZGVyOiAxcHggc29saWQgIzk5NjgwMDsgY29sb3I6ICNmZWZlZmU7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgcGFkZGluZzogMTBweDsgdGV4dC1hbGlnbjogbGVmdDsgd2lkdGg6IDEwMCUiPjxwCgkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMDsgTWFyZ2luLWJvdHRvbTogMTBweDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgbWFyZ2luLWJvdHRvbTogMTBweDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdCI+SWYKCQkJCQkJCQkJCQkJCQl0aGUgbGluayBhYm92ZSBkb2VzIG5vdCB3b3JrIGNvcHkgYW5kIHBhc3RlIHRoaXMgVVJMIGluCgkJCQkJCQkJCQkJCQkJeW91ciBicm93c2VyIHRvIGFjY2VwdCB0aGUgaW52aXRlOiB7e0FDQ0VQVF9JTlZJVEVfVVJMfX08L3A+PC90aD4KCQkJCQkJCQkJCQkJPHRoIGNsYXNzPSJleHBhbmRlciIKCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDA7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW46IDA7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgdGV4dC1hbGlnbjogbGVmdDsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogMCI+PC90aD4KCQkJCQkJCQkJCQk8L3RyPgoJCQkJCQkJCQkJPC90Ym9keT4KCQkJCQkJCQkJPC90YWJsZT4KCQkJCQkJCQkJPGNlbnRlciBkYXRhLXBhcnNlZD0iIiBzdHlsZT0ibWluLXdpZHRoOjU4MHB4O3dpZHRoOjEwMCUiPgoJCQkJCQkJCQk8dGFibGUgYWxpZ249ImNlbnRlciIgY2xhc3M9Im1lbnUgZmxvYXQtY2VudGVyIgoJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMCBhdXRvOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItc3BhY2luZzogMDsgZmxvYXQ6IG5vbmU7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnQiPgoJCQkJCQkJCQkJPHRib2R5PgoJCQkJCQkJCQkJCTx0ciBzdHlsZT0icGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcCI+CgkJCQkJCQkJCQkJCTx0ZAoJCQkJCQkJCQkJCQkJc3R5bGU9Ii1tb3otaHlwaGVuczogYXV0bzsgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOyBNYXJnaW46IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGh5cGhlbnM6IGF1dG87IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcDsgd29yZC13cmFwOiBicmVhay13b3JkIj48dGFibGUKCQkJCQkJCQkJCQkJCQlzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6IDA7IHBhZGRpbmc6IDA7IHRleHQtYWxpZ246IGxlZnQ7IHZlcnRpY2FsLWFsaWduOiB0b3AiPgoJCQkJCQkJCQkJCQkJCTx0Ym9keT4KCQkJCQkJCQkJCQkJCQkJPHRyCgkJCQkJCQkJCQkJCQkJCQlzdHlsZT0icGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcCI+CgkJCQkJCQkJCQkJCQkJCQk8dGggY2xhc3M9Im1lbnUtaXRlbSBmbG9hdC1jZW50ZXIiCgkJCQkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMCBhdXRvOyBjb2xvcjogIzBhMGEwYTsgZmxvYXQ6IG5vbmU7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXIiPjxhCgkJCQkJCQkJCQkJCQkJCQkJaHJlZj0ie3tHQVRFV0FZX1VSTH19L3Rlcm1zLW9mLXVzZSIKCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luOiAwOyBjb2xvcjogIzIxOTllODsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lIj57e0dBVEVXQVlfTkFNRX19CgkJCQkJCQkJCQkJCQkJCQkJCVRlcm1zIG9mIFVzZTwvYT48L3RoPgoJCQkJCQkJCQkJCQkJCQkJPHRoIGNsYXNzPSJtZW51LWl0ZW0gZmxvYXQtY2VudGVyIgoJCQkJCQkJCQkJCQkJCQkJCXN0eWxlPSJNYXJnaW46IDAgYXV0bzsgY29sb3I6ICMwYTBhMGE7IGZsb2F0OiBub25lOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMS4zOyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMTBweDsgcGFkZGluZy1yaWdodDogMTBweDsgdGV4dC1hbGlnbjogY2VudGVyIj48YQoJCQkJCQkJCQkJCQkJCQkJCWhyZWY9Imh0dHBzOi8vd3d3Lml1YmVuZGEuY29tL3ByaXZhY3ktcG9saWN5LzQ0MTA1MCIKCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luOiAwOyBjb2xvcjogIzIxOTllODsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lIj5Qcml2YWN5PC9hPjwvdGg+CgkJCQkJCQkJCQkJCQkJCQk8dGggY2xhc3M9Im1lbnUtaXRlbSBmbG9hdC1jZW50ZXIiCgkJCQkJCQkJCQkJCQkJCQkJc3R5bGU9Ik1hcmdpbjogMCBhdXRvOyBjb2xvcjogIzBhMGEwYTsgZmxvYXQ6IG5vbmU7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXIiPjxhCgkJCQkJCQkJCQkJCQkJCQkJaHJlZj0iaHR0cHM6Ly93d3cuZDRzY2llbmNlLm9yZyIKCQkJCQkJCQkJCQkJCQkJCQlzdHlsZT0iTWFyZ2luOiAwOyBjb2xvcjogIzIxOTllODsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1kZWNvcmF0aW9uOiBub25lIj5BYm91dAoJCQkJCQkJCQkJCQkJCQkJCQlENFNjaWVuY2U8L2E+PC90aD4KCQkJCQkJCQkJCQkJCQkJPC90cj4KCQkJCQkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQkJCQkJPC90YWJsZT48L3RkPgoJCQkJCQkJCQkJCTwvdHI+CgkJCQkJCQkJCQk8L3Rib2R5PgoJCQkJCQkJCQk8L3RhYmxlPgoJCQkJCQkJCQk8L2NlbnRlcj48L3RkPgoJCQkJCQkJPC90cj4KCQkJCQkJPC90Ym9keT4KCQkJCQk8L3RhYmxlPgoJCQkJCTwvY2VudGVyPjwvdGQ+CgkJCTwvdHI+CgkJPC90Ym9keT4KCTwvdGFibGU+CjwvYm9keT4KPC9odG1sPg==";
private final String encodedTemplateTEXT = "e3tHQVRFV0FZX05BTUV9fQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkhpIHt7SU5WSVRFRF9VU0VSX05BTUV9fSwKe3tJTlZJVElOR19VU0VSX0ZVTExOQU1FfX0gaGFzIGludml0ZWQgeW91IHRvIHt7U0VMRUNURURfVlJFX05BTUV9fSwgeW91IGNhbiBmaW5kIGEgYnJpZWYgZGVzY3JpcHRpb24gYmVsb3c6Cgp7e1NFTEVDVEVEX1ZSRV9ERVNDUklQVElPTn19CgpUbyBhY2NlcHQgdGhlIGludml0ZSBwbGVhc2UgY29weSB0aGlzIHRlbXBvcmFyeSBwYXNzd29yZCwge3tJTlZJVEVfVEVNUF9QV0R9fSBhbmQgZm9sbG93IHRoaXMgbGluazoge3tBQ0NFUFRfSU5WSVRFX1VSTH19e3tHQVRFV0FZX05BTUV9fQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkhpIHt7SU5WSVRFRF9VU0VSX05BTUV9fSwKe3tJTlZJVElOR19VU0VSX0ZVTExOQU1FfX0gaGFzIGludml0ZWQgeW91IHRvIHt7U0VMRUNURURfVlJFX05BTUV9fSwgeW91IGNhbiBmaW5kIGEgYnJpZWYgZGVzY3JpcHRpb24gYmVsb3c6Cgp7e1NFTEVDVEVEX1ZSRV9ERVNDUklQVElPTn19CgpUbyBhY2NlcHQgdGhlIGludml0ZSBwbGVhc2UgY29weSB0aGlzIHRlbXBvcmFyeSBwYXNzd29yZCwge3tJTlZJVEVfVEVNUF9QV0R9fSBhbmQgZm9sbG93IHRoaXMgbGluazoge3tBQ0NFUFRfSU5WSVRFX1VSTH19";
private GCubeUser theInvitingUser;
private String theUserInvitedName;
private String theVREName;
private String theVREDescription;
private String acceptInviteURL;
private String thePasswordToSend; //the random password
/**
*
* @param gatewayName
* @param gatewayURL
* @param theInvitingUser
* @param theUserInvitedName
* @param theVRE
* @param acceptInviteURL
* @param signUpURL
*/
public TemplatenviteWIthPassword(String gatewayName, String gatewayURL, GCubeUser theInvitingUser,
String theUserInvitedName, String theVREName, String theVREDescription, String acceptInviteURL, String thePasswordToSend) {
super(gatewayName, gatewayURL);
this.theInvitingUser = theInvitingUser;
this.theUserInvitedName = theUserInvitedName;
this.theVREName = theVREName;
this.theVREDescription = theVREDescription;
this.acceptInviteURL = acceptInviteURL;
this.thePasswordToSend = thePasswordToSend;
}
@Override
public String compile(String templateContent) {
String userAvatarURL = getGatewayURL()+this.theInvitingUser.getUserAvatarURL();
return new String(Base64.getDecoder().decode(templateContent))
.replace("{{SELECTED_VRE_NAME}}", theVREName)
.replace("{{INVITING_USER_AVATAR_URL}}", userAvatarURL)
.replace("{{INVITING_USER_FULLNAME}}", theInvitingUser.getFullname())
.replace("{{INVITED_USER_NAME}}", this.theUserInvitedName)
.replace("{{SELECTED_VRE_DESCRIPTION}}", theVREDescription)
.replace("{{GATEWAY_LOGO:URL}}", getGatewayLogoURL())
.replace("{{GATEWAY_URL}}", getGatewayURL())
.replace("{{GATEWAY_NAME}}", getGatewayName())
.replace("{{INVITE_TEMP_PWD}}", thePasswordToSend)
.replace("{{ACCEPT_INVITE_URL}}", acceptInviteURL);
}
@Override
public String getTextHTML() {
return compile(encodedTemplateHTML);
}
@Override
public String getTextPLAIN() {
return compile(encodedTemplateTEXT);
}
}