text: //# ==++== 
  //# 
  //#   
  //#    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
  //#   
  //#    The use and distribution terms for this software are contained in the file
  //#    named license.txt, which can be found in the root of this distribution.
  //#    By using this software in any fashion, you are agreeing to be bound by the
  //#    terms of this license.
  //#   
  //#    You must not remove this notice, or any other, from this software.
  //#   
  //# 
  //# ==--== 
  //####################################################################################
  @cc_on
  
  
  import System;
  
  var NULL_DISPATCH = null;
  var apGlobalObj;
  var apPlatform;
  var lFailCount;
  
  
  var iTestID = 53568;
  
  var sCat = '';
  var regPat = "";
  var objExp = "";
  var m_scen = '';
  var strTest = "";
  var strTemp = "";
  var regExp = "";
  
  function verify(sCat1, sExp, sAct)
  {
  	//this function makes sure sAct and sExp are equal
  
  	if (sExp != sAct)
  		apLogFailInfo( m_scen+(sCat1.length?"--"+sCat1:"")+" failed", sExp,sAct, "");
  }
  
  
  
  function verifyStringObj(sCat1, sExp, sAct)
  {
  	//this function simply calls verify with the values of the string
  	verify(sCat1, sExp.valueOf(), sAct.valueOf());
  }
  
  
  
  function ArrayEqual(sCat1, arrayExp, arrayAct)
  {
  	//redirects function call to verify
  	verify(sCat1, arrayExp, arrayAct);
  }
  
  
  
  function regVerify(sCat1, arrayReg, arrayAct)
  {
  	var i;
  	var expArray = new Array('','','','','','','','','');
  
  	for (i in arrayReg)
  		if (i < 10)
  			expArray[i] = arrayReg[i];
  		else
  			break;
  
  	for(i =0; i<9;i++)
  		verify(sCat1 + ' RegExp.$'+ (i+1) +' ', expArray[i], eval('RegExp.$'+(i+1)));
  }
  
  
  
  
  
  function srcb0177() {
  	
  
  apInitTest("srcb0177");
  	m_scen = ('Test 17 Lowercase /abc{0}/ig');
  
  	sCat = "Pattern: {0} ";
  	apInitScenario(m_scen);
  	regPat = /abc{0}/ig;
  	objExp = new Array('Ab');
  	regExp = new Array();
  	
  	objExp = 0;
  	strTest = 'AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = 'AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 7;
  	strTest = '       AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '       AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTest = 'AbCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '              AbCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc                         ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc                         ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	m_scen = ('Test 18 Slightly more complex strings');
  
  	strTest = 'AbC Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbC Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'AbC Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAbC Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbC Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	strTemp = 'Ab'
  	objExp = 0;
  	strTest = 'Ab'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = 'Ab Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              Ab Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'Ab Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAb Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAb Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'Ab'
  	objExp = 0;
  	strTest = 'AbCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'AbCc Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAbCc Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCc Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	m_scen = ('Test 19 Lowercase tests w/ multiples');
  
  	objExp = 0;
  	strTest = 'AbC AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     AbC AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbC AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbC AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         AbC AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         AbCd eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'Ab AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     Ab AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'Ab AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAb AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         Ab AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         Ab eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'AbCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     AbCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCc AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         AbCc AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         AbCcd eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     AbCcCcCcCcCcCcCcCcCcCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCcCcCcCcCcCcCcCcCcCc AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         AbCcCcCcCcCcCcCcCcCcCc AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         AbCcCcCcCcCcCcCcCcCcCcd eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	m_scen = ('Test 20 Slightly more complex strings w/ multiple finds');
  
  	objExp = 0;
  	strTest = 'AbC AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbC AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbC AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbCAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbCAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbCe fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbCn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbCn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAbC bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbC bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbC AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAbC vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbCd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbCdg maAbCds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbCdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'Ab AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              Ab AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'Ab AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbe fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAb bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAb bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'Ab AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAb vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbdg maAbCcds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'AbCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbCcAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbCcAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbCce fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbCcn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbCcn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAbCc bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCc bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCcr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAbCc vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbCcd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbCcdg maAbCcds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbCcdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'Ab';
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbCcCcCcCcCcCcCcCcCcCcAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbCcCcCcCcCcCcCcCcCcCcAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbCcCcCcCcCcCcCcCcCcCce fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbCcCcCcCcCcCcCcCcCcCcn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbCcCcCcCcCcCcCcCcCcCcn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAbCcCcCcCcCcCcCcCcCcCc bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCcCcCcCcCcCcCcCcCcCc bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCcCcCcCcCcCcCcCcCcCcr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAbCcCcCcCcCcCcCcCcCcCc vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbCcCcCcCcCcCcCcCcCcCcd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbCcCcCcCcCcCcCcCcCcCcdg maAbCcCcCcCcCcCcCcCcCcCcds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbCcCcCcCcCcCcCcCcCcCcdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	m_scen = ('Test 21 Lowercase /abc{1}/ig');
  
  	sCat = "Pattern: {1} ";
  	apInitScenario(m_scen);
  	regPat = /abc{1}/ig;
  	objExp = new Array('AbC');
  	regExp = new Array();
  	
  	objExp = 0;
  	strTest = 'AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = 'AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 7;
  	strTest = '       AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '       AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTest = 'AbCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '              AbCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc                         ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc              ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc                         ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	m_scen = ('Test 22 Slightly more complex strings');
  
  	strTest = 'AbC Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbC Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'AbC Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAbC Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbC Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	strTemp = 'AbC'
  	objExp = 0;
  	strTest = 'AbCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'AbCc Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAbCc Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCc Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'AbC';
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  	
  	objExp = 15;
  	strTest = '              dAbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbrAb'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCcCcCcCcCcCcCcCcCcCc Ab c AbraCaDAbrAb c            '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	m_scen = ('Test 23 Lowercase tests w/ multiples');
  
  	objExp = 0;
  	strTest = 'AbC AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     AbC AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbC AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbC AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         AbC AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         AbCd eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  
  	strTemp = 'AbC';
  	objExp = 0;
  	strTest = 'AbCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     AbCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCc AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         AbCc AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         AbCcd eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'AbC';
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 5;
  	strTest = '     AbCcCcCcCcCcCcCcCcCcCc AbC';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'dAbCcCcCcCcCcCcCcCcCcCc AbCe      ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 9;
  	strTest = '         AbCcCcCcCcCcCcCcCcCcCc AbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTest = '         AbCcCcCcCcCcCcCcCcCcCcd eAbC       ';
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	m_scen = ('Test 24 Slightly more complex strings w/ multiple finds');
  
  	objExp = 0;
  	strTest = 'AbC AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbC AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbC AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbCAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbCAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbCe fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbCn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbCn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAbC bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbC bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbC AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAbC vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbCd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbCdg maAbCds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbCdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'AbC';
  	objExp = 0;
  	strTest = 'AbCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbCcAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbCcAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbCce fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbCcn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbCcn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAbCc bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCc bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCc AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCcr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAbCc vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbCcd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbCcdg maAbCcds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbCcdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	strTemp = 'AbC';
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 14;
  	strTest = '              AbCcCcCcCcCcCcCcCcCcCc AbC AbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 18;
  	strTest = '              oranAbCcCcCcCcCcCcCcCcCcCcAbo sienAbCatheDRal AbraCaDAbrae'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 4;
  	strTest = 'oranAbCcCcCcCcCcCcCcCcCcCcAbo sienAbCatheDRal AbraCaDAbrae              '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              dAbCcCcCcCcCcCcCcCcCcCce fAbCg eAbraCaDAbras'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'tAbCcCcCcCcCcCcCcCcCcCcn dAbC AbraCaDAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 12;
  	strTest = '           dAbCcCcCcCcCcCcCcCcCcCcn sAbC AbraCaDAbrad             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'sAbCcCcCcCcCcCcCcCcCcCc bAbC rAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCcCcCcCcCcCcCcCcCcCc bAbC rAbraCaDAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 0;
  	strTest = 'AbCcCcCcCcCcCcCcCcCcCc AbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              sAbCcCcCcCcCcCcCcCcCcCcr bAbCa AbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 1;
  	strTest = 'rAbCcCcCcCcCcCcCcCcCcCc vAbC AbCadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 15;
  	strTest = '              aAbCcCcCcCcCcCcCcCcCcCcd aAbAbCAb aaAbCadAbra'; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 2;
  	strTest = 'fgAbCcCcCcCcCcCcCcCcCcCcdg maAbCcCcCcCcCcCcCcCcCcCcds rzAbCxaadAbra             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  
  	objExp = 13;
  	strTest = '           mtAbCcCcCcCcCcCcCcCcCcCcdg dfAbCwo mknoAbCadAbrAblol             '; 
  	ArrayEqual(sCat+strTest, objExp, strTest.search(regPat));
  	@if (!@_fast)
  		regVerify(sCat+strTest, regExp, strTest.search(regPat));
  	@end
  /*****************************************************************************/
  	apEndTest();
  }
  
  
  srcb0177();
  
  
  if(lFailCount >= 0) System.Environment.ExitCode = lFailCount;
  else System.Environment.ExitCode = 1;
  
  function apInitTest(stTestName) {
      lFailCount = 0;
  
      apGlobalObj = new Object();
      apGlobalObj.apGetPlatform = function Funca() { return "Rotor" }
      apGlobalObj.LangHost = function Funcb() { return 1033;}
      apGlobalObj.apGetLangExt = function Funcc(num) { return "EN"; }
  
      apPlatform = apGlobalObj.apGetPlatform();
      var sVer = "1.0";  //navigator.appVersion.toUpperCase().charAt(navigator.appVersion.toUpperCase().indexOf("MSIE")+5);
      apGlobalObj.apGetHost = function Funcp() { return "Rotor " + sVer; }
      print ("apInitTest: " + stTestName);
  }
  
  function apInitScenario(stScenarioName) {print( "\tapInitScenario: " + stScenarioName);}
  
  function apLogFailInfo(stMessage, stExpected, stActual, stBugNum) {
      lFailCount = lFailCount + 1;
      print ("***** FAILED:");
      print ("\t\t" + stMessage);
      print ("\t\tExpected: " + stExpected);
      print ("\t\tActual: " + stActual);
  }
  
  function apGetLocale(){ return 1033; }
  function apWriteDebug(s) { print("dbg ---> " + s) }
  function apEndTest() {}
  