dp.sh.Brushes.Lasso = function(){
	var funcs	=	'abort accept action_addinfo action_addrecord action_param action_params action_setfoundcount action_setrecordid action_settotalcount action_statement add add add add add addattachment addattribute addattribute addattribute addbarcode addchapter addcheckbox addchild addcombobox addcomment addcontent addhiddenfield addhtmlpart addimage addjavascript addlist addnamespace addnextsibling addpage addparagraph addparenttype addpart addpasswordfield addphrase addprevsibling addradiobutton addradiogroup addresetbutton addsection addselectlist addsibling addsubmitbutton addtable addtext addtextarea addtextfield addtextpart admin_allowedfileroots admin_changeuser admin_createuser admin_currentgroups admin_currentuserid admin_currentusername admin_getpref admin_groupassignuser admin_grouplistusers admin_groupremoveuser admin_lassoservicepath admin_listgroups admin_refreshsecurity admin_reloaddatasource admin_removepref admin_setpref admin_userexists admin_userlistgroups alarms alarms all and annotate answer append append appendreplacement appendtail arc array asasync astype atbegin atbegin atbottom atbottom atend atend atfarleft atfarleft atfarright atfarright attop attop attributecount attributes attributes attributes auth auth_admin auth_custom auth_group auth_prompt auth_user authenticate authorize backward backward baseuri bcc beanproperties beginswith beginswith bigint bind bitand bitclear bitflip bitformat bitnot bitor bitset bitshiftleft bitshiftright bittest bitxor blur body bom_utf16be bom_utf16le bom_utf32be bom_utf32le bom_utf8 boolean boundary bw bytes bytes cache cache_delete cache_empty cache_exists cache_fetch cache_object cache_preferences cache_store call cancel capabilities case cc chardigitvalue charname charset chartfx chartfx_records chartfx_serve chartype checked children children choice_list choice_listitem choicelistitem cipher_decrypt cipher_digest cipher_encrypt cipher_keylength cipher_list circle client_addr client_address client_authorization client_browser client_contentlength client_contenttype client_cookielist client_cookies client_encoding client_formmethod client_getargs client_getparams client_headers client_ip client_ipfrominteger client_iptointeger client_password client_postargs client_postparams client_type client_url client_username close close close close close close close closepath closewrite cn code column column_name column_names command comments compare compare_beginswith compare_contains compare_endswith compare_equalto compare_greaterthan compare_lessthan compare_notcontains compare_notequalto compare_strictequalto compare_strictnotequalto comparecodepointorder compile compiler_removecacheddoc composite compress connect contains contains contains contains contains contains contains content_body content_disposition content_encoding content_header content_transfer_encoding content_type content_type contents contents contrast convert cookie cookie_set crop currency curveto data data data data data database_changecolumn database_changefield database_createcolumn database_createfield database_createtable database_fmcontainer database_hostinfo database_name database_nameitem database_names database_realname database_removecolumn database_removefield database_removetable database_schemanameitem database_schemanames database_tablenameitem database_tablenames datasource_name datasource_register date date date_add date_difference date_format date_getcurrentdate date_getday date_getdayofweek date_gethour date_getlocaltimezone date_getminute date_getmonth date_getsecond date_getyear date_gmttolocal date_localtogmt date_maximum date_minimum date_msec date_setformat date_subtract day day daylights dayofweek dayofyear db_layoutnameitem db_layoutnames db_nameitem db_names db_tablenameitem db_tablenames decimal decode_base64 decode_bheader decode_hex decode_html decode_qheader decode_quotedprintable decode_url decode_xml decompress decrement decrypt_blowfish decrypt_blowfish2 define_atbegin define_atend define_constant define_prototype define_tag define_type delete delete depth depth describe description deserialize deserialize detach detachreference difference difference difference difference digit directory_lister directory_nameitem directorynameitem dns_default dns_lookup dns_response document down down drawtext dst dump duration else email_batch email_compose email_digestchallenge email_digestresponse email_extract email_findemails email_immediate email_merge email_mxlookup email_parse email_pop email_queue email_result email_safeemail email_send email_smtp email_status email_token email_translatebreakstocrlf encode_base64 encode_bheader encode_break encode_breaks encode_crc32 encode_hex encode_html encode_htmltoxml encode_qheader encode_quotedprintable encode_set encode_smart encode_sql encode_sql92 encode_stricturl encode_url encode_xml encrypt_blowfish encrypt_blowfish2 encrypt_crammd5 encrypt_hmac encrypt_md5 endswith endswith enhance eq equals error_adderror error_code error_columnrestriction error_currenterror error_databaseconnectionunavailable error_databasetimeout error_deleteerror error_fieldrestriction error_filenotfound error_invaliddatabase error_invalidpassword error_invalidusername error_modulenotfound error_msg error_noerror error_nopermission error_norecordsfound error_outofmemory error_pop error_push error_reqcolumnmissing error_reqfieldmissing error_requiredcolumnmissing error_requiredfieldmissing error_reset error_seterrorcode error_seterrormessage error_updateerror errors euro eval event_schedule events ew execute export16bits export32bits export64bits export8bits exportfdf exportstring extract extract extractone extractone fail fail_if false field field_name field_names fieldnames fieldtype fieldvalue file file file_autoresolvefullpaths file_chmod file_control file_copy file_create file_creationdate file_currenterror file_delete file_exists file_getlinecount file_getsize file_isdirectory file_listdirectory file_moddate file_modechar file_modeline file_move file_openread file_openreadwrite file_openwrite file_openwriteappend file_openwritetruncate file_probeeol file_processuploads file_read file_readline file_rename file_serve file_setsize file_stream file_streamcopy file_uploads file_write find find find find find find find find findindex findnamespace findnamespacebyhref findpattern findposition findposition first first first first first first firstchild fliph flipv flush foldcase foreach foreach foreach form_param format format format forward forward found_count freebusies freezetype freezevalue from from ft ftp_getfile ftp_getlisting ftp_putfile full fulltype generatechecksum get get get get get get get get get get get get get get get getabswidth getalignment getattribute getattribute getattribute getattribute getattributenamespace getbarheight getbarmultiplier getbarwidth getbaseline getbordercolor getborderwidth getcode getcolor getcolor getcolumncount getencoding getface getfont getformat getfullfontname getheaders getheaders getmargins getmethod getnumericvalue getpadding getpagenumber getparams getproperty getpsfontname getrange getrowcount getsize getsize getsize getsize getsize getspacing getsupportedencodings gettextalignment gettextsize gettype global global_defined global_remove global_reset globals gmt groupcount gt gte handle handle_error hasattribute hasattribute hasattribute haschildren hasvalue header header headers headers height histogram hosttonet16 hosttonet32 hour hour html_comment http_getfile ical_alarm ical_attribute ical_calendar ical_daylight ical_event ical_freebusy ical_item ical_journal ical_parse ical_standard ical_timezone ical_todo id if if_empty if_false if_null if_true ignorecase image image_url img import16bits import32bits import64bits import8bits importfdf importstring include include_currentpath include_once include_raw include_url increment inline input insert insert insert insert insert insert insert insert insert insert insert insert insert insertatcurrent insertatcurrent insertfirst insertfirst insertfirst insertfrom insertfrom insertfrom insertfrom insertfrom insertlast insertlast insertlast insertlast insertpage integer integer intersection intersection intersection invoke invoke isa isalnum isalpha isbase iscntrl isdigit isemptyelement islower isopen isopen isprint isspace istitle istruetype isualphabetic isulowercase isupper isuuppercase isuwhitespace iswhitespace iterate iterator iterator iterator iterator iterator iterator java_bean javascript join join join journals key key keycolumn_name keycolumn_value keyfield_name keyfield_value keys keys lasso_comment lasso_currentaction lasso_datasourceis lasso_datasourceis4d lasso_datasourceisfilemaker lasso_datasourceisfilemakersa lasso_datasourceisjdbc lasso_datasourceislassomysql lasso_datasourceismysql lasso_datasourceisodbc lasso_datasourceisodbc lasso_datasourceisopenbase lasso_datasourceisoracle lasso_datasourceispostgresql lasso_datasourceisspotlight lasso_datasourceissqlite lasso_datasourceissqlserver lasso_datasourcemodulename lasso_datatype lasso_errorreporting lasso_executiontimelimit lasso_parser lasso_process lasso_sessionid lasso_siteid lasso_siteisrunning lasso_sitename lasso_siterestart lasso_sitestart lasso_sitestop lasso_tagexists lasso_tagmodulename lasso_uniqueid lasso_updatecheck lasso_uptime lasso_version lassoapp_create lassoapp_dump lassoapp_link lassoapp_list last last lastchild lasterror layout_name ldap ldml left left length length library library_once line link link_currentaction link_currentactionparams link_currentactionurl link_currentgroup link_currentgroupparams link_currentgroupurl link_currentrecord link_currentrecordparams link_currentrecordurl link_currentsearch link_currentsearchparams link_currentsearchurl link_detail link_detailparams link_detailurl link_firstgroup link_firstgroupparams link_firstgroupurl link_firstrecord link_firstrecordparams link_firstrecordurl link_lastgroup link_lastgroupparams link_lastgroupurl link_lastrecord link_lastrecordparams link_lastrecordurl link_nextgroup link_nextgroupparams link_nextgroupurl link_nextrecord link_nextrecordparams link_nextrecordurl link_params link_prevgroup link_prevgroupparams link_prevgroupurl link_prevrecord link_prevrecordparams link_prevrecordurl link_setformat link_url list list_additem list_fromlist list_fromstring list_getitem list_itemcount list_removeitem list_replaceitem list_tostring listen ljax_end ljax_hastarget ljax_include ljax_start ljax_target local local_defined local_remove local_reset localaddress locale_format localname locals lock log log_always log_critical log_deprecated log_destination_console log_destination_database log_destination_file log_detail log_level_critical log_level_deprecated log_level_detail log_level_sql log_level_warning log_setdestination log_sql log_warning logicalop_value logicaloperator_value lookupnamespace loop loop_abort loop_continue loop_count lowercase lt lte map marker match_comparator match_notrange match_notregexp match_range match_regexp matches matchesstart matchposition matchstring math_abs math_acos math_add math_asin math_atan math_atan2 math_ceil math_converteuro math_cos math_div math_exp math_floor math_ln math_log math_log10 math_max math_min math_mod math_mult math_pow math_random math_range math_rint math_roman math_round math_sin math_sqrt math_sub math_tan maxrecords_value merge merge millisecond minimal minute minute mode modulate month month moveto moveto movetoattributenamespace movetoelement movetofirstattribute movetonextattribute name name name name name name named_param namespace_current namespace_delimiter namespace_global namespace_import namespace_load namespace_page namespace_unload namespace_using namespaces namespaceuri neq net net_connectinprogress net_connectok net_typessl net_typessltcp net_typessludp net_typetcp net_typeudp net_waitread net_waittimeout net_waitwrite nettohost16 nettohost32 newchild next nextsibling nextsibling nodetype nodetype none noprocess not nrx nslookup null op_logicalvalue open open open open operator_logicalvalue option or os_process output output output_none padleading padtrailing pagecount pagesize pair paraminfo params params params_up parent parent path path pdf_barcode pdf_doc pdf_font pdf_image pdf_list pdf_read pdf_serve pdf_table pdf_text percent pixel portal position position postcondition precondition prefix previoussibling priorityqueue private proc_convert proc_convertbody proc_convertone proc_extract proc_extractone proc_get proc_null proc_regexp proc_xml proc_xslt process properties protect queue randomnumber rawheaders read read read readattributevalue readerror readfrom readline readlock readstring readstring readstring readstring readunlock recid_value recipients recipients record_count recordid_value records records_array records_map rect redirect_url refcount reference referer referer_url referrals referrer referrer_url regexp remoteaddress remove remove remove remove remove remove remove remove remove remove remove removeall removeall removeall removeall removeall removeattribute removeattribute removeattribute removechild removecurrent removecurrent removefirst removefirst removefirst removefirst removefirst removelast removelast removeleading removeleading removenamespace removetrailing removetrailing render repeating repeating_valueitem repeatingvalueitem repetition replace replace replaceall replacefirst replacepattern replacewith req_column req_field required_column required_field reserve reset reset reset resolutionh resolutionv response response_filepath response_localpath response_path response_realm results results resultset resultset_count retrieve return return_value returntype reverse reverse reverse reverseiterator reverseiterator reverseiterator reverseiterator right right roman rotate rows rows_array run run_children rx save save scale schema_name scientific search search_args search_arguments search_columnitem search_fielditem search_operatoritem search_opitem search_valueitem searchfielditem searchoperatoritem searchopitem searchvalueitem second second second second second select selected self send serialize serialize series server_date server_day server_ip server_name server_port server_push server_siteisrunning server_sitestart server_sitestop server_time session_abort session_addvar session_addvariable session_deleteexpired session_end session_id session_removevar session_removevariable session_result session_start set set set setalignment setbarheight setbarmultiplier setbarwidth setbaseline setblocking setbordercolor setborderwidth setbytes setcode setcolor setcolor setdatatype setencoding setencoding setencoding setencoding setface setfieldvalue setfont setfont setformat setformat setformat setformat setformat setgeneratechecksum setheight setlassodata setlinewidth setmarker setmode setname setpadding setpagenumber setpagerange setposition setposition setproperty setrange setshowchecksum setsize setsize setsize setspacing settemplate settemplatestr settextalignment settextdata settextsize settype setunderline setwidth setxmldata sharpen showchecksum showcode39startstop showeanguardbars shown_count shown_first shown_last signal signalall site_atbegin site_id site_name site_restart size size size size size size size size size size size size size size size skiprecords_value sleep smooth soap_definetag soap_lastrequest soap_lastresponse sort sort sort_args sort_arguments sort_columnitem sort_fielditem sort_orderitem sortcolumnitem sortfielditem sortorderitem sortwith sortwith split split split sqlite_createdb stack standards steal stock_quote string string_charfromname string_concatenate string_countfields string_endswith string_extract string_findposition string_findregexp string_getfield string_getunicodeversion string_insert string_isalpha string_isalphanumeric string_isdigit string_ishexdigit string_islower string_isnumeric string_ispunctuation string_isspace string_isupper string_length string_lowercase string_remove string_removeleading string_removetrailing string_replace string_replaceregexp string_todecimal string_tointeger string_uppercase string_validcharset subject substring subtract swapbytes table_name table_realname tag tag_name tags tags_find tags_list tcp_close tcp_open tcp_send textwidth thread_abort thread_atomic thread_event thread_exists thread_getcurrentid thread_getpriority thread_info thread_list thread_lock thread_pipe thread_priority_default thread_priority_high thread_priority_low thread_rwlock thread_semaphore thread_setpriority time timezones titlecase to todos token_value tolower total_records totitle toupper transform transform treemap trim trim true type unescape union union union uniqueid unlock unserialize up up up uppercase valid_creditcard valid_date valid_email valid_url value value value value value value_list value_listitem valuelistitem values values valuetype var var_defined var_remove var_reset var_set variable variable_defined variable_set variables vars wait wait wap_isenabled wap_maxbuttons wap_maxcolumns wap_maxhorzpixels wap_maxrows wap_maxvertpixels waskeyword week week while width write write write writelock writeto writeunlock xml xml_extract xml_rpc xml_rpccall xml_rw xml_serve xml_transform xmllang xmlschematype xmlstream xsd_generatetype year year';
	var keywords =	'a abbrev afterfield aliased align alignment amount anchor angle anytarget apop async atomic attachments autoincrement backgroundcolor barheight barmultiplier barwidth base64 baseline basic bcc beforefirst bgcolor binary border bordercolor borderwidth buffer bullet by caption cc characterset charset cipher col color cols colspan colwidth comment condition connecttimeout container content contentdisposition contenttype cookieexpires copy count cram criteria database dategmt datelongname dateshortname days decimalchar default defaults delay delimieters destination digest display disposition domain dontwait dtd editable embed encodenone encoding encryptstrong end endposition entry errorcode errorresponse eurofrom euroto excludefield expect expires extended extensions extramimeheaders face fault fields fileendofline fileendpos filelinenumber fileoverwrite fileoverwrite filestartpos fill font g gaussian goto group groupchar headertype hex hexadecimal horizontalalignment host hostname hostname html htmlimages imgalign imgalt imgborder imgheight imghspace imgismap imgname imgoptions imgusemap imgvspace imgwidth immediate indent indentleft indentright info inlinename into inverse keyfield lassoedition lassoplatform lassoversion leading lhs localtagname long looping lower margins matchlimit max maxsize message method min monday namespace newpage no... no.name noabort noaction noclassic nocomments nocompress nodata nodecode nofields nonce nooperators noparams nosort notarget notnull notokens nowrap number o op opacity opaque operationname optional options original owner ownerpassword padchar padding padright pageheader pageno password pattern permissions plaintext port portalindex postparams precision priority privileged procs proportional protection protocol prototype quality radius raw realm recordid recordindex refresh replaceonlyone replyto required restart result retrievemimeheaders returnfield rhs root row rowspan rpc safeemail sample secure seed sender sendmimeheaders session short shorty2k sigma simpleform soap source spacing ssh2 ssh3 sslcert sslcerttype sslkey sslkeypasswd sslkeytype stale standarddomains start startposition statementonly stopafter supplemental table target temporary text textrise textsize threshold thumbnail timeoptional timeout token tokens top transferencoding u underline upper uri url useauto usecookie usedate useglobal uselink usenone username userpassword usetempnames verifypeer verticalalignment window wrap xpath xsl';

	this.regexList = [
		{ regex: dp.sh.RegexLib.SingleLineCComments,				css: 'comment' },				// one line comments
		{ regex: dp.sh.RegexLib.MultiLineCComments,					css: 'comment' },				// multiline comments
		{ regex: dp.sh.RegexLib.DoubleQuotedString,					css: 'string' },				// double quoted strings
		{ regex: dp.sh.RegexLib.SingleQuotedString,					css: 'string' },				// single quoted strings
		{ regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'),	css: 'number' },	// numbers
		{ regex: new RegExp('[\\$#]\\w+', 'g'),						css: 'vars' },					// variables
		{ regex: new RegExp(this.GetKeywords(funcs), 'gmi'),		css: 'func' },					// functions
		{ regex: new RegExp(this.GetKeywords(keywords), 'gm'),		css: 'keyword' }				// keywords
	];

	this.CssClass = 'dp-lasso';
}

dp.sh.Brushes.Lasso.prototype	= new dp.sh.Highlighter();
dp.sh.Brushes.Lasso.Aliases	= ['lasso'];
