﻿// JScript File

//For LTrim Function
function Ltrim_string(objID)
{		
var j = 0,k=0;
if(objID.length>0)
{
	for(var i=0;i<objID.length && k<objID.length;i++)
	{
		if(objID.charAt(i)==" ")
		{
		j++;
		}
		else
		{
		k = objID.length;
		}
	}
	objID =objID.substring(j,objID.length);
}
	return objID;
}

//For trims value from rightside and returns orginal text length
function Rtrim_stringLen(objID)
{			
var chk = 0, len = 0, newlen=0;
if(objID.value.length > 0)
{
len = objID.value.length; 
	for(var i=len-1; i>=0; i--)
	{
        if(objID.value.charAt(i)==" ")
		{
		    if(chk == 1)
		        newlen = newlen +1;
		}
		else
		{
		    newlen = newlen + 1;
		    chk = 1;
		}
	}
}
return newlen;
}

//function checks for the spaces in between
function CheckSpaces(objID,strControlName)     
{
    var trimVal= trimAll(objID.value);
    if(trimVal.length >0)
    {
        for(var i=0;i<trimVal.length;i++)
        {
            if(trimVal.charAt(i) == " ")
            {
                alert(strControlName + " : Spaces are not allowed");
                objID.focus();
                objID.select();
                return false;
            }
        }
    }
    return true;
}
//For trims value from leftside and returns orginal text length
function Ltrim_stringLen(objID)
{			
var chk = 0, len = 0, newlen=0;
if(objID.value.length > 0)
{
len = objID.value.length; 
	for(var i =0; i<=len-1; i++)
	{
        if(objID.value.charAt(i)==" ")
		{
		    if(chk == 1)
		        newlen = newlen +1;
		}
		else
		{
		    newlen = newlen + 1;
		    chk = 1;
		}
	}
}
return newlen;
}

//function that checks for the blank space at starting
function CheckLSpace(objID,strControlName)
{
    var chk = 0, len = 0;
   if(objID.value.length > 0)
    {
        len = objID.value.length; 
	    for(var i =0; i<=len-1; i++)
	    {
            if(objID.value.charAt(i)==  " ")
		    {
		        if(chk != 1)
		        {
		            alert(strControlName + " : Spaces at the start are not allowed");
		            objID.focus();
		            objID.select();
		            return false;
		        }
            }
            else
                chk = 1;
        }
    }
    return true;
 
}

//Blank Check
function CheckBlank(objID,strControlName)
{
   if (Ltrim_string(objID.value)=="")
   {
		alert(strControlName+": Cannot be left blank");
		objID.value="";
		objID.focus();
		return false;
	}
	return true;
}


//Allow only Numbers in TextBox
function CheckNumeric(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag !=objID.value){
			alert(strControlName+ ": Should be Numeric only.")
			objID.focus();
 			objID.select();
			return false;
		}
		else if(objID.value <= 0)
	    {
	        alert(strControlName+ ": Should not be zero.")
	    }
	}
	return true;
}

//Allow only Numbers (in amount format) having decimal in TextBox
function CheckAmount(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9.0-9]+/
			numflag=objID.value.match(num);	
			if(numflag !=objID.value){
			alert(strControlName+ ": Should be Numeric only.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

function CheckAlphabets(objID,strControlName)
{
	var alpha=/[a-zA-Z]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be Alphabets only.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

//function to check alphabets with space
function CheckAlphabetsWithSpace(objID,strControlName)
{
	var alpha=/[a-zA-Z ]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be Alphabets only.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}
//function to check alphabets with space and dot(.)
function CheckAlphabetsWithSpaceDot(objID,strControlName)
{
    if(CheckBlank(objID,strControlName))
    {
      if(CheckLSpace(objID,strControlName))
      {
    
       var Temp=objID.value;
        
	        var alpha=/[a-zA-Z .]+/;
	        alphaflag=objID.value.match(alpha);	
		        if(alphaflag != objID.value)
		        {
	                    alert(strControlName+ ": Should be Alphabets only.")
			            objID.focus();
 			            objID.select();
			            return false;                      
            	     
	                
	            }
	            else
	            {
	                 if(Temp.length<=2)
                     {                     
                     
                        alert(strControlName+ ": is not valid.")
	                    objID.focus();
	                    objID.select();
	                    return false;
			           
			         }
	                 else
	                 {	                     
	                    return true;
	                 }
	            }
	        }
	    }
	else
    {
         return false;
    }
}

//Validation For Drop-Down List
function CheckDropDown(objID,strControlName)
{
	   if(objID.options[0].selected=="true" || objID.selectedIndex == 0 || objID.value=="00000000-0000-0000-0000-000000000000")
	   {
		alert(strControlName+ ": Select a proper option.");
		objID.focus();
		return false;
	}
	return true;
} 

//Check for Decimal Numbers
function CheckDecimal(objID,strControlName)
{	
	var iCount=0;
	Temp =objID.value;	
	if(Temp.length==0)
	{
		Temp = 0;
		return true;
	}
	var validchars = "1234567890.";
	for(var j=0;j<Temp.length && iCount < 2;j++)
	{
		if(validchars.indexOf(Temp.charAt(j)) == -1)
		{
		alert(strControlName+ ": Should have Decimal values only");
			objID.focus();
 			objID.select();		
			return false;
		}
		else if(Temp.charAt(j)==".")
			iCount++;
	}
	if(iCount > 1)
	{
		alert(strControlName+ ": Should have Decimal values only");
		objID.focus();
 		objID.select();	
		return false;
	}
	
	return true;
}

//Validation when for confirm password
function CheckConfPwd(pass, confpass,passname,confname){
	if(confpass.value != pass.value){
		alert(confname + ": Should be same as " + passname);			
		confpass.focus();
		confpass.select();
		return false;
	}
	return true;
}
//Validation For Single EMail-Id
function CheckMail(objID,strControlName)
{

	
	var email =/[-a-zA-Z0-9_\."'"]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
	//var alpha=/[a-zA-Z .]+/;
	var eflag = objID.value.match(email);
	if (!CheckBlank(objID,strControlName))
    {
	    objID.focus();
		objID.select();
		return false;
	}
	if(eflag!=objID.value)
	{
		alert(strControlName+ ": Should be in proper format")
		objID.focus();
		objID.select();
		return false;
	}
	else if(objID.value.indexOf(".")==0)
	{
		alert(strControlName +": Should be valid Email")
		objID.focus();
		objID.select();
		return false;
    }

	var LastIndex = objID.value.lastIndexOf(".");
	var FirstIndex = objID.value.indexOf(".");
    
	if((LastIndex - FirstIndex) == 1 || (objID.value.length-1 == LastIndex)) // in case of ids like  abc@abc..abc and abc@abc.abc.
	{
	    alert(strControlName + ": should be valid Email")
	    objID.focus();
		objID.select();
		return false;
	}
	if(objID.value.indexOf("..") >= 1)  
	{
	    alert(strControlName + ": should be valid Email")
	    objID.focus();
		objID.select();
		return false;
	}
	return  true;
} 




//Validation For Phone No
function CheckPhone(objID,strControlName)
{
    var num=/[0-9\-\+\/\"("\")"\s]+/
    var numflag=objID.value.match(num);	
    if (CheckBlank(objID,strControlName))
    {	
     if(numflag != objID.value)
	    {
	        alert(strControlName+ ": Should be valid phone number")
	        objID.focus();
	        objID.select();
	        return false;
	    }
     if((objID.value.length<6) || (objID.value.length>=18))
	    {
		    alert(strControlName+ ": Should be valid phone number")
		    objID.focus();
		    objID.select();
		    return false;
	    }
     else
		    return true;
    }	    
		
} 






/////////Checking:for phone number
function PhoneCheck(objID,strControlName)
{

    var num=/[0-9\-\+\/\"("\")"\s]+/
		numflag=objID.value.match(num);	
		if (objID.value!="")
		{
		if((numflag != objID.value)&&(objID.value.length<6)&&(objID.value.length>=18))
		{
			alert(strControlName+ ": Should be valid phone number")
			objID.focus();
 			objID.select();
			return false;
		}
	}
		return true;

	
}  


////////Checking:for mobile number with specified length
function MobileCheckLength(objControl,strControlName)
{
if(objControl.value.length>12||objControl.value.length<10||objControl.value.length==11)
{
alert(strControlName+ ":It should 10 or 12 digits number");
objControl.focus();
objControl.select();
return false;
}

return true;
}


///function to check mobile number

function CheckMobile(objID,strControlName)
{
		var num=/[0-9\+]+/
		numflag=objID.value.match(num);	
		if (objID.value!="")
		{
		if(numflag != objID.value){
			alert(strControlName+ ": Should be valid Mobile number")
			objID.focus();
 			objID.select();
			return false;
			}
			}
		return true;
} 


//Checking:for mobile number with specified length and should digits
function CheckMobileValidate(objControl,strControlName)
{
    if(CheckMobile(objControl,strControlName))
    {
        if(objControl.value.length>12||objControl.value.length<10||objControl.value.length==11)
        {
        alert(strControlName+ ": Should 10 or 12 digits number");
        objControl.focus();
        objControl.select();
        return false;
        }
        else
        {
            return true;
        }
    }
    else
    {
     return false;
    }


}


function ChkMinLength(objControl,iValue,strControlName)
{
    if( objControl.value <= iValue)
    {
        alert(strControlName + " : Should be greater than " + iValue);
        objControl.focus();
        objControl.select();
        return false;
    }
    else
        return true;
    
}

	

////function to check specified length-length can be pass by passing values to the parameter

function LengthCheck(objControl,strControlName,strlength)
{
    if(objControl.value.length!=strlength)
    {
    alert(strControlName+": Should be "+strlength+" digits number");
    objControl.focus();
    return false;
    }  
    return true;
}   



/////////Checking:for no single radio button is selected
function RadioCheck(objControl1,objControl2,strControlName)
{
    if(objControl1.checked==false&&objControl2.checked==false)
    {
    alert(strControlName+": Select a proper choice");
    objControl1.focus();
    objControl1.select();
    return false;
    }
    
return true;
}

 ////returns the difference between 2 dates  dates should be in dd/mm/yyyy format
function findDateDifference(x1, x2)
{
    var ssdate = new String(x1.value);
    var ssdatee = new String(x2.value);
			
    var SDate= new Array(3);
    SDate = ssdate.split("/");
    var ssdate1 =new String(SDate[1] + "/" +  SDate[0] + "/" + SDate[2]);
	
    var SDate1= new Array(3);
    SDate1 = ssdatee.split("/");
    var ssdate2 =new String(SDate1[1] + "/" +  SDate1[0] + "/" + SDate1[2]);
	
    var one_day=1000*60*60*24;
				
    var objDate1=new Date(ssdate1);
    var objDate2=new Date(ssdate2);
    var diff = (objDate2.getTime()-objDate1.getTime())/one_day;
    if(parseInt( SDate1[2] % 4) > 0)
    {
        diff = parseInt(diff)+1;
    }
    return diff;
}
//Validation For Character Limit
function CheckCharLimit(objID,str,strControlName)
{
	charlength=Ltrim_string(objID.value).length;
		if(charlength < str){
			alert(strControlName+": Should have atleast " +str+ " characters.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

//Allow only specified special characters
//function CheckSpecialChar(objID,strControlName,spstr)
//{
//var str=objID.value;
//var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;
//for (var j=0;j<str.length;j++)
//    {
//    if(validchars.indexOf(str.charAt(j)) == -1)
//	    {
//		    alert(strControlName+ ": Should not have any special characters")
//		    objID.focus();
// 		    objID.select();
//		    return false;
//	    }
//	}
//	return true;
//} 

//Validation when for confirm password
function confpswdchk(pass, confpass,msg)
{
	if(confpass.value != pass.value)
	{
		alert(msg);
		confpass.focus();
		confpass.select();
		return false;
	}
	return true;
}
//Check the TextBox Length
function charlencheck(objID,strControlName,NoOfCharacters)
{
	charlength=Rtrim_stringLen(objID);
	if(objID.value!="")
	{
		if(charlength < NoOfCharacters)
		{
		    alert(strControlName + ": Cannot be less than " + NoOfCharacters  + " characters!");
		    objID.focus();
		    objID.select();
		    return false;
		}
	}
	if(objID.value.length != charlength)
	{
		alert(strControlName + ": Blank spaces are not allowed.");
		objID.focus();
		objID.select();
		return false;
    }
    if(objID.value.length != Ltrim_stringLen(objID))
	{
		alert(strControlName + ": Blank spaces are not allowed.");
		objID.focus();
		objID.select();
		return false;
    }
	return true;
}

//Do not allow only Numbers in TextBox
function CheckUserName(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag ==objID.value){
			alert(strControlName+ ": Should be AlphaNumeric.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}
//
//Allow AlphaNumeric characters
function CheckAlphaNumeric(objID,strControlName)
{
	var alpha=/[a-zA-Z0-9\'\-\/&\s]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be AlphaNumeric characters only.")
			objID.focus();
 			objID.select();
			return false;
	}
	else
	{
	return true;
	}
}

////Allow only specified special characters
function CheckSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;
    if (spstr.toString().indexOf(" ")>=0)
    {
        spstr = spstr.toString().replace(" ","Space");
    }

    if(CheckBlank(objID,strControlName))
    {

        for (var j=0;j<str.length;j++)
        if(validchars.indexOf(str.charAt(j)) == -1)
	        {
		        alert(strControlName+ ": should not have special characters other than: "+ spstr)
		        objID.focus();
 		        objID.select();
		        return false;
	        }
	        return true;
	 }
} 



//
function CheckSpaceChar(objID,strControlName)
{
var str=objID.value;
var validchars = " ";
for (var j=0;j<str.length;j++)
if(validchars.indexOf(str.charAt(j)) == 0)
	{
		alert(strControlName+ ": Should not have any spaces.")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
} 
// Check the Login Name & Password for not being same.
function ChkPwdAndLoginName(password,login)
 {  
    if(password.value.toLocaleLowerCase() == login.value.toLocaleLowerCase())
    {
       alert("Password and User Name cannot be same.");
       password.focus();
       password.select();
       return false;
    }
    return true;
 }
 
 //For PMS=Check while adding Transaction 
  function QuantityCheck(objID,name)
    {

        if(objID.value == 0)
        {
            alert(name + ": Cannot be zero");
            objID.focus();
            objID.select();
            return false;
        }
        return true;
    }
    
    function decimalNoCheck(objID,noOfDecimalDigits,MaxNo,objName)
    {
     var val1 = objID.value.indexOf(".");
     var val2 = eval(objID.value.length) - eval(val1)-1;
	    if(val1 !="-1")
	    {
	        if(val1 > MaxNo)
            {
                alert(objName + ": Cannot be more than " + MaxNo + " digits before decimal!");
                objID.focus();
			    objID.select();
                return false;  
            }
		    if(val2 > noOfDecimalDigits)
		    {
			    alert( objName +": Can be " + noOfDecimalDigits + " decimals only!");
			    objID.focus();
			    objID.select();
			    return false;
		    }
	    }
	    else
	    {
	        if(objID.value.length > MaxNo)
		    {
		        alert(objName + ": Cannot be more than " + MaxNo + " digits!");
		        objID.focus();
		        objID.select();
		        return false;
		    }
	    }
	    return true;
    }
    
    
function ClearText(objID,DefaultName)
    {
	    var textname = document.getElementById(objID);
	    if (textname.value == DefaultName)
	        textname.value="";
	   // document.getElementById(objID).focus();
   }
   
function FillText(objID,DefaultName)
{
    var textname=document.getElementById(objID);
	if (textname.value == "")
	    textname.value = DefaultName;
}


function SetTab(objbtnID,event)
{
	var valbtn=document.getElementById(objbtnID);	
	if(event.keyCode==13)
	{
	    valbtn.focus();
	    valbtn.click();
	    return false;
	}
}


///This function check radio buttons for selection
    function ChkRadio(radio,radioName)
    {
  
        var radioChoice =false;
        for( i=0; i<radio.length;i++)
        {
            if(radio[i].checked)
            {
                radioChoice = true;
                break;
            }
        }
        if(!radioChoice)
        {
            alert(radioName+ " : Select the proper choice");
            return false;
        }
        return true;
    }
    
    
///This function checks the Birth date validation    
     function checkBirthDate(objID,strControlName)
    {
   
                var dt =new Date();
                var x1 = dt.getDate() +"/"+ (dt.getMonth()+1)+"/"+ dt.getFullYear();
                var x2 = objID.value;
                var ssdate = new String(x1);
                var ssdatee = new String(x2);
            			
                var SDate= new Array(3);
                SDate = ssdate.split("/");
                var ssdate1 =new String(SDate[1] + "/" +  SDate[0] + "/" + SDate[2]);
            	
                var SDate1= new Array(3);
                SDate1 = ssdatee.split("/");
                var ssdate2 =new String(SDate1[1] + "/" +  SDate1[0] + "/" + SDate1[2]);
            	
                var one_day=1000*60*60*24;
            				
                var objDate1=new Date(ssdate1+"");
                var objDate2=new Date(ssdate2+"");
                var diff = (objDate2.getTime()-objDate1.getTime())/one_day;
                if(parseInt( SDate1[2] % 4) > 0)
                {
                    diff = parseInt(diff)+1;
                }
                if(diff >= 0)
                {
                    alert(strControlName + ": can not be equal to or greater than Current date");
                    objID.focus();
                    objID.select();
                    return false;
                }
                return true;
    }
    
    //For trimming String
function trimAll(sString) 
    {
        while (sString.substring(0,1) == ' ')
            {
            sString = sString.substring(1, sString.length);
            }
        while (sString.substring(sString.length-1, sString.length) == ' ')
            {
            sString = sString.substring(0,sString.length-1);
            }
        return sString;
     }   

/////This function check Alpha AlphaNumeric char in password

//function CheckAlphaNumericPassword1(objID,strControlName)
//{  //debugger ;
//var str;
//   if(CheckBlank(objID,strControlName))
//   {
//       str=objID.value;	      
//   
//        for (var j=0;j<str.length;j++)
//        {


//        alert(str);
// 
//            var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
//            var validDigits="1234567890"
//            var validSpecialChar="!@#$%^&*()_-";
//            alert(str.charAt(j));
//            if(validchars.indexOf(str.charAt(j)) == -1)
//            {
//                alert(strControlName+ ": should  have AlphaNumeric and atleast one special character")

//                return false;
//            }
//            alert(validDigits.indexOf(str.charAt(j)));
//             if(validDigits.indexOf(str.charAt(j)) == -1)
//            {
//                alert(strControlName+ ": should  have AlphaNumeric and atleast one special character")

//                return false;
//            }
//             alert(validSpecialChar.indexOf(str.charAt(j)));
//            if(validSpecialChar.indexOf(str.charAt(j)) == -1)
//            {
//                alert(strControlName+ ": should  have AlphaNumeric and atleast one special character")

//                return false;
//            }
//            else
//            {
//            return true;
//            }
//        }
//        
//    }
//    else
//    {
//        return false;
//    }
//    
//}
function CheckAlphaNumericPassword(objID,strControlName,spstr)
{
var str;
var status1="no";
var status2="no";
var status3="no";
   if(CheckBlank(objID,strControlName) && CheckLSpace(objID,strControlName))
   {
       str=objID.value;	      
             var validchars =/[a-zA-Z]+/;
            var validDigits=/[0-9]/;
            var validSpecialChar = /[\W_]/;
          
            if(str.length>=6)
            {
                if(!validchars.test(str)) 
                {
                     status1="no";
                }
                else
                    status1="ok";
                    
                    
                if(!validDigits.test(str)) 
                {
                    status2="no";
                }
                else
                    status2="ok";
                    
                    
               if(!validSpecialChar.test(str)) 
                 {
                   status3="no";
                 }
              else
                 {
                       status3="ok";
                 
//                         var validallchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;
//                         for (var j=0;j<str.length;j++)
//                        if (validallchars.indexOf(str.charAt(j))!= -1)  
//                        {
//                            status3="ok";
//                        }
//                        else
//                        {
//                           status3="no";
//                             break;
//                        }
                            
                    }
                                
                     
                    
                if(status1=="ok" && status2=="ok" && status3=="ok")
                {
                  return true;
                }
                else
                {
                    alert(strControlName+ ": Should  be AlphaNumeric and must have atleast one special character.")
                     objID.focus();
                     objID.select();
                    return false;
                }
              }
              else
              {
                alert(strControlName+ ": Should  have minimum 6 characters")
                objID.focus();
                objID.select();
                return false;
              }
    }
 }


// Check the Login ID i.e Email-id & Password for not being same.
function ChkPwdAndLoginEmailID(password,loginID)
 {  
    if(password.value.toLocaleLowerCase() == loginID.value.toLocaleLowerCase())
    {
       alert("Password and Email-ID i.e Login ID cannot be same.");
       password.focus();
       password.select();
       return false;
    }
    return true;
 }


//Compare 3 Phones
function CompareCheckBlank(objID1,strControlName1,objID2,strControlName2,objID3,strControlName3)
{
if ((Ltrim_string(objID1.value)=="")&&(Ltrim_string(objID2.value)=="")&&(Ltrim_string(objID3.value)==""))
   {
		alert(strControlName1+" ,"+strControlName2+" ,"+strControlName3+": One of the Phone Numbers should be selected");
		objID1.focus();
		return false;
	}
	return true;
  
}


////function validate_char(field) 
//function CheckAlphaNumericPassword11(field,strControlName)
//{ 
//     var valid1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 
//     var valid2 = "1234567890"
//     var valid3 = "!@#$%^&*()_-";
//     var ok1 = "no"; 
//     var ok2 = "no"; 
//     var ok3 = "no"; 
//     var temp; 
//     for (var i=0; i<field.value.length; i++)
//     { 
//       temp = "" + field.value.substring(i, i+1); 
//       if (valid1.indexOf(temp) == "-1")
//       {
//        ok1 = "yes"; 
//        alert("char111");
//        }
//     } 
////     if (ok1 == "yes") 
////     { 
////    //   alert("Invalid entry!  Only characters Aa-Zz are accepted!"); 
////    //   field.focus(); 
////    //   field.select(); 
////     } 
//    
//     for (var i=0; i<field.value.length; i++) { 
//       temp = "" + field.value.substring(i, i+1); 
//       if (valid2.indexOf(temp) == "-1")
//       {
//        ok2 = "yes"; 
//        alert("Digits111");
//        }
//     } 
//     
//    
//         for (var i=0; i<field.value.length; i++) { 
//       temp = "" + field.value.substring(i, i+1); 
//       if (valid3.indexOf(temp) == "-1") 
//       {
//        ok3 = "yes"; 
//        alert("spChar111");
//        }
//     } 
//     
//     if(ok1 == "yes" && ok2 == "yes" && ok3 == "yes")
//     {
//      alert("yes");
//     return true;
//     }
//     else
//     {
//     alert(strControlName);
//      return false;
//     }
//    
//} 


