<commit_before>[register]
register.action = "/user/register"
register.method = "POST"
register.id = "register-form"

register.decorators.elements.decorator = "FormElements"
register.decorators.table.decorator = "HtmlTag"
register.decorators.table.options.tag = "table"
register.decorators.form.decorator = "Form"


register.elements.fname.type = "text"
register.elements.fname.options.label = "First Name"
register.elements.fname.options.validators.alnum.validator = "alnum"
register.elements.fname.options.validators.alnum.options.messages.alnumStringEmpty = "You must enter your first name"
register.elements.fname.options.validators.alnum.options.messages.notAlnum = "Only letters are allowed in the first name field"
register.elements.fname.options.validators.alnum.breakChainOnFailure = true
register.elements.fname.options.validators.regex.validator = "regex"
register.elements.fname.options.validators.regex.options.pattern = "/^[A-Za-z]/i"
register.elements.fname.options.validators.regex.options.messages.regexNotMatch = "Only letters are allowed in the first name field"
register.elements.fname.options.validators.regex.breakChainOnFailure = true
register.elements.fname.options.validators.strlen.validator = "StringLength"
register.elements.fname.options.validators.strlen.options.min = "1"
register.elements.fname.options.validators.strlen.options.messages.stringLengthTooShort = "You must enter your first name"
register.elements.fname.options.validators.strlen.breakChainOnFailure = true
register.elements.fname.options.required = "true"
register.elements.fname.options.validators.notempty.validator = "NotEmpty"
register.elements.fname.options.validators.notempty.options.messages.isEmpty = "You must enter your first name"
register.elements.fname.options.validators.notempty.breakChainOnFailure = true
register.elements.fname.options.filters.striptags.filter = "StripTags"
register.elements.fname.options.filters.strtrim.filter = "StringTrim"

register.elements.lname.type = "text"
register.elements.lname.options.label = "Last Name"
register.elements.lname.options.validators.alnum.validator = "alnum"
register.elements.lname.options.validators.alnum.options.messages.alnumStringEmpty = "You must enter your last name"
register.elements.lname.options.validators.alnum.options.messages.notAlnum = "Only letters are allowed in the last name field"
register.elements.lname.options.validators.alnum.breakChainOnFailure = true
register.elements.lname.options.validators.regex.validator = "regex"
register.elements.lname.options.validators.regex.options.pattern = "/^[A-Za-z]/i"
register.elements.lname.options.validators.regex.options.messages.regexNotMatch = "Only letters are allowed in the last name field"
register.elements.lname.options.validators.regex.breakChainOnFailure = true
register.elements.lname.options.validators.strlen.validator = "StringLength"
register.elements.lname.options.validators.strlen.options.min = "1"
register.elements.lname.options.validators.strlen.options.messages.stringLengthTooShort = "You must enter your last name"
register.elements.lname.options.validators.strlen.breakChainOnFailure = true
register.elements.lname.options.required = "true"
register.elements.lname.options.validators.notempty.validator = "NotEmpty"
register.elements.lname.options.validators.notempty.options.messages.isEmpty = "You must enter your last name"
register.elements.lname.options.validators.notempty.breakChainOnFailure = true
register.elements.lname.options.filters.striptags.filter = "StripTags"
register.elements.lname.options.filters.strtrim.filter = "StringTrim"

register.elements.username.type = "text"
register.elements.username.options.label = "Username (Can be a combination of letters, numbers and underscores between 5 and 25 characters)"
register.elements.username.options.validators.regex.validator = "regex"
register.elements.username.options.validators.regex.options.pattern = "/^[A-Za-z0-9_]/i"
register.elements.username.options.validators.regex.options.messages.regexNotMatch = "Only letters, numbers and underscores may be used"
register.elements.username.options.validators.regex.breakChainOnFailure = true
register.elements.username.options.validators.strlen.validator = "StringLength"
register.elements.username.options.validators.strlen.options.min = "5"
register.elements.username.options.validators.strlen.options.max = "25"
register.elements.username.options.validators.strlen.options.messages.stringLengthTooShort = "Usernames must be atleast 5 characters"
register.elements.username.options.validators.strlen.options.messages.stringLengthTooLong = "Usernames cannot exceed 25 characters in length"
register.elements.username.options.validators.strlen.breakChainOnFailure = true
register.elements.username.options.required = "true"
register.elements.username.options.validators.notempty.validator = "NotEmpty"
register.elements.username.options.validators.notempty.options.messages.isEmpty = "You must enter a username name"
register.elements.username.options.validators.notempty.breakChainOnFailure = true
register.elements.username.options.filters.striptags.filter = "StripTags"
register.elements.username.options.filters.strtrim.filter = "StringTrim"

register.elements.password.type = "password"
register.elements.password.options.label = "Password (Must be atleast 8 characters long and include atleast 1 uppercase letter and atleast 1 number/special character"
register.elements.password.options.required = "true"
register.elements.password.options.validators.notempty.validator = "NotEmpty"
register.elements.password.options.validators.notempty.options.messages.isEmpty = "You must enter a password"
register.elements.password.options.validators.notempty.breakChainOnFailure = true
register.elements.password.options.validators.strlen.validator = "StringLength"
register.elements.password.options.validators.strlen.options.min = "8"
register.elements.password.options.validators.strlen.options.messages.stringLengthTooShort = "Passwords must be atleast 8 characters long"
register.elements.password.options.validators.strlen.breakChainOnFailure = true
register.elements.password.options.validators.regex.validator = "regex"
register.elements.password.options.validators.regex.options.pattern = "/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/"
register.elements.password.options.validators.regex.options.messages.regexNotMatch = "password must contain atleast 1 upper case letter and 1 number"
register.elements.password.options.validators.regex.breakChainOnFailure = true
register.elements.password.options.filters.striptags.filter = "StripTags"
register.elements.password.options.filters.strtrim.filter = "StringTrim"

register.elements.password2.type = "password"
register.elements.password2.options.label = "Password (confirm)"
register.elements.password2.options.required = "true"
register.elements.password2.options.validators.notempty.validator = "NotEmpty"
register.elements.password2.options.validators.notempty.options.messages.isEmpty = "You must enter a password"
register.elements.password2.options.validators.notempty.breakChainOnFailure = true
register.elements.password2.options.validators.strlen.validator = "StringLength"
register.elements.password2.options.validators.strlen.options.min = "8"
register.elements.password2.options.validators.strlen.options.messages.stringLengthTooShort = "Passwords must be atleast 8 characters long"
register.elements.password2.options.validators.strlen.breakChainOnFailure = true
register.elements.password2.options.filters.striptags.filter = "StripTags"
register.elements.password2.options.filters.strtrim.filter = "StringTrim"
register.elements.password2.options.validators.identical.validator = "Identical"
register.elements.password2.options.validators.identical.options.token = password
register.elements.password2.options.validators.identical.options.messages.notSame = "The passwords do not match"

register.elements.email.type = "text"
register.elements.email.options.label = "Email"
register.elements.email.options.required = "true"
register.elements.email.options.validators.notempty.validator = "NotEmpty"
register.elements.email.options.validators.notempty.options.messages.isEmpty = "You must enter an email address"
register.elements.email.options.validators.notempty.breakChainOnFailure = true
register.elements.email.options.validators.email.validator = "EmailAddress"
register.elements.email.options.validators.email.options.mx = "true"
register.elements.email.options.validators.email.options.deep = "true"

register.elements.dob.type = "text"
register.elements.dob.options.label = "Date of Birth (mm/dd/yyy)"
register.elements.dob.options.required = "true"
register.elements.dob.options.validators.date.validator = "Date"
register.elements.dob.options.validators.date.options.format = "dd/MM/yyyy"

register.elements.submit.type = "submit"
register.elements.submit.options.label = "Register"<commit_msg>SFSOCIAL-16 SFSOCIAL-20<commit_after>[register]
register.action = "/user/register"
register.method = "POST"
register.id = "register-form"

register.decorators.elements.decorator = "FormElements"
register.decorators.table.decorator = "HtmlTag"
register.decorators.table.options.tag = "table"
register.decorators.form.decorator = "Form"


register.elements.fname.type = "text"
register.elements.fname.options.label = "First Name"
register.elements.fname.options.validators.alnum.validator = "alnum"
register.elements.fname.options.validators.alnum.options.messages.alnumStringEmpty = "You must enter your first name"
register.elements.fname.options.validators.alnum.options.messages.notAlnum = "Only letters are allowed in the first name field"
register.elements.fname.options.validators.alnum.breakChainOnFailure = true
register.elements.fname.options.validators.regex.validator = "regex"
register.elements.fname.options.validators.regex.options.pattern = "/^[A-Za-z]/i"
register.elements.fname.options.validators.regex.options.messages.regexNotMatch = "Only letters are allowed in the first name field"
register.elements.fname.options.validators.regex.breakChainOnFailure = true
register.elements.fname.options.validators.strlen.validator = "StringLength"
register.elements.fname.options.validators.strlen.options.min = "1"
register.elements.fname.options.validators.strlen.options.messages.stringLengthTooShort = "You must enter your first name"
register.elements.fname.options.validators.strlen.breakChainOnFailure = true
register.elements.fname.options.required = "true"
register.elements.fname.options.validators.notempty.validator = "NotEmpty"
register.elements.fname.options.validators.notempty.options.messages.isEmpty = "You must enter your first name"
register.elements.fname.options.validators.notempty.breakChainOnFailure = true
register.elements.fname.options.filters.striptags.filter = "StripTags"
register.elements.fname.options.filters.strtrim.filter = "StringTrim"

register.elements.lname.type = "text"
register.elements.lname.options.label = "Last Name"
register.elements.lname.options.validators.alnum.validator = "alnum"
register.elements.lname.options.validators.alnum.options.messages.alnumStringEmpty = "You must enter your last name"
register.elements.lname.options.validators.alnum.options.messages.notAlnum = "Only letters are allowed in the last name field"
register.elements.lname.options.validators.alnum.breakChainOnFailure = true
register.elements.lname.options.validators.regex.validator = "regex"
register.elements.lname.options.validators.regex.options.pattern = "/^[A-Za-z]/i"
register.elements.lname.options.validators.regex.options.messages.regexNotMatch = "Only letters are allowed in the last name field"
register.elements.lname.options.validators.regex.breakChainOnFailure = true
register.elements.lname.options.validators.strlen.validator = "StringLength"
register.elements.lname.options.validators.strlen.options.min = "1"
register.elements.lname.options.validators.strlen.options.messages.stringLengthTooShort = "You must enter your last name"
register.elements.lname.options.validators.strlen.breakChainOnFailure = true
register.elements.lname.options.required = "true"
register.elements.lname.options.validators.notempty.validator = "NotEmpty"
register.elements.lname.options.validators.notempty.options.messages.isEmpty = "You must enter your last name"
register.elements.lname.options.validators.notempty.breakChainOnFailure = true
register.elements.lname.options.filters.striptags.filter = "StripTags"
register.elements.lname.options.filters.strtrim.filter = "StringTrim"

register.elements.username.type = "text"
register.elements.username.options.label = "Username (Can be a combination of letters, numbers and underscores between 5 and 25 characters)"
register.elements.username.options.validators.regex.validator = "regex"
register.elements.username.options.validators.regex.options.pattern = "/^[A-Za-z0-9_]/i"
register.elements.username.options.validators.regex.options.messages.regexNotMatch = "Only letters, numbers and underscores may be used"
register.elements.username.options.validators.regex.breakChainOnFailure = true
register.elements.username.options.validators.strlen.validator = "StringLength"
register.elements.username.options.validators.strlen.options.min = "5"
register.elements.username.options.validators.strlen.options.max = "25"
register.elements.username.options.validators.strlen.options.messages.stringLengthTooShort = "Usernames must be atleast 5 characters"
register.elements.username.options.validators.strlen.options.messages.stringLengthTooLong = "Usernames cannot exceed 25 characters in length"
register.elements.username.options.validators.strlen.breakChainOnFailure = true
register.elements.username.options.required = "true"
register.elements.username.options.validators.notempty.validator = "NotEmpty"
register.elements.username.options.validators.notempty.options.messages.isEmpty = "You must enter a username name"
register.elements.username.options.validators.notempty.breakChainOnFailure = true
register.elements.username.options.filters.striptags.filter = "StripTags"
register.elements.username.options.filters.strtrim.filter = "StringTrim"

register.elements.password.type = "password"
register.elements.password.options.label = "Password (Must be atleast 8 characters long and include atleast 1 uppercase letter and atleast 1 number/special character"
register.elements.password.options.required = "true"
register.elements.password.options.validators.notempty.validator = "NotEmpty"
register.elements.password.options.validators.notempty.options.messages.isEmpty = "You must enter a password"
register.elements.password.options.validators.notempty.breakChainOnFailure = true
register.elements.password.options.validators.strlen.validator = "StringLength"
register.elements.password.options.validators.strlen.options.min = "8"
register.elements.password.options.validators.strlen.options.messages.stringLengthTooShort = "Passwords must be atleast 8 characters long"
register.elements.password.options.validators.strlen.breakChainOnFailure = true
register.elements.password.options.validators.regex.validator = "regex"
register.elements.password.options.validators.regex.options.pattern = "/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/"
register.elements.password.options.validators.regex.options.messages.regexNotMatch = "password must contain atleast 1 upper case letter and 1 number"
register.elements.password.options.validators.regex.breakChainOnFailure = true
register.elements.password.options.filters.striptags.filter = "StripTags"
register.elements.password.options.filters.strtrim.filter = "StringTrim"

register.elements.password2.type = "password"
register.elements.password2.options.label = "Password (confirm)"
register.elements.password2.options.required = "true"
register.elements.password2.options.validators.notempty.validator = "NotEmpty"
register.elements.password2.options.validators.notempty.options.messages.isEmpty = "You must enter a password"
register.elements.password2.options.validators.notempty.breakChainOnFailure = true
register.elements.password2.options.validators.strlen.validator = "StringLength"
register.elements.password2.options.validators.strlen.options.min = "8"
register.elements.password2.options.validators.strlen.options.messages.stringLengthTooShort = "Passwords must be atleast 8 characters long"
register.elements.password2.options.validators.strlen.breakChainOnFailure = true
register.elements.password2.options.filters.striptags.filter = "StripTags"
register.elements.password2.options.filters.strtrim.filter = "StringTrim"
register.elements.password2.options.validators.identical.validator = "Identical"
register.elements.password2.options.validators.identical.options.token = password
register.elements.password2.options.validators.identical.options.messages.notSame = "The passwords do not match"

register.elements.email.type = "text"
register.elements.email.options.label = "Email"
register.elements.email.options.required = "true"
register.elements.email.options.validators.notempty.validator = "NotEmpty"
register.elements.email.options.validators.notempty.options.messages.isEmpty = "You must enter an email address"
register.elements.email.options.validators.notempty.breakChainOnFailure = true
register.elements.email.options.validators.email.validator = "EmailAddress"


register.elements.dob.type = "text"
register.elements.dob.options.label = "Date of Birth (yyyy-mm-dd)"
register.elements.dob.options.required = "true"
register.elements.dob.options.validators.date.validator = "Date"
register.elements.dob.options.validators.date.options.format = "yyyy-MM-dd"

register.elements.submit.type = "submit"
register.elements.submit.options.label = "Register"
{'fraction_non_alphanumeric': 0.11711812970664269, 'fraction_numerical': 0.004495897493537147, 'mean_word_length': 6.524312896405919, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2356122', 'n_tokens_mistral': 5085, 'n_tokens_neox': 5098, 'n_words': 770}