#line 1 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"

#line 95 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"


#include "smtp_parsers.h"
#include "content_type.h"


#line 8 "/build/rspamd/src/build/src/content_disposition.rl.c"
static const int content_type_parser_start = 1;
static const int content_type_parser_first_final = 44;
static const int content_type_parser_error = 0;

static const int content_type_parser_en_balanced_ccontent = 40;
static const int content_type_parser_en_main = 1;


#line 100 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"


gboolean
rspamd_content_disposition_parser (const char *data, size_t len, struct rspamd_content_disposition *cd, rspamd_mempool_t *pool)
{
	const unsigned char *p = data, *pe = data + len, *eof, *qstart = NULL, *qend = NULL,
	*pname_start = NULL, *pname_end = NULL, *pvalue_start = NULL, *pvalue_end = NULL;
	int cs, *stack = NULL;
	gsize top = 0;
	struct _ragel_st_storage {
		int *data;
		gsize size;
	} st_storage;
	
	memset (&st_storage, 0, sizeof (st_storage));
	memset (cd, 0, sizeof (*cd));
	eof = pe;
	

#line 34 "/build/rspamd/src/build/src/content_disposition.rl.c"
	{
		cs = (int)content_type_parser_start;
		top = 0;
	}
	
#line 118 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"


#line 40 "/build/rspamd/src/build/src/content_disposition.rl.c"
{
		goto _resume;
		
		_again: {}
		switch ( cs ) {
			case 1: goto _st1;
			case 0: goto _st0;
			case 44: goto _st44;
			case 2: goto _st2;
			case 3: goto _st3;
			case 4: goto _st4;
			case 5: goto _st5;
			case 45: goto _st45;
			case 46: goto _st46;
			case 6: goto _st6;
			case 7: goto _st7;
			case 8: goto _st8;
			case 9: goto _st9;
			case 10: goto _st10;
			case 11: goto _st11;
			case 47: goto _st47;
			case 12: goto _st12;
			case 13: goto _st13;
			case 14: goto _st14;
			case 15: goto _st15;
			case 16: goto _st16;
			case 17: goto _st17;
			case 18: goto _st18;
			case 19: goto _st19;
			case 20: goto _st20;
			case 21: goto _st21;
			case 22: goto _st22;
			case 23: goto _st23;
			case 24: goto _st24;
			case 25: goto _st25;
			case 26: goto _st26;
			case 27: goto _st27;
			case 28: goto _st28;
			case 29: goto _st29;
			case 30: goto _st30;
			case 31: goto _st31;
			case 32: goto _st32;
			case 33: goto _st33;
			case 34: goto _st34;
			case 35: goto _st35;
			case 36: goto _st36;
			case 37: goto _st37;
			case 38: goto _st38;
			case 39: goto _st39;
			case 48: goto _st48;
			case 49: goto _st49;
			case 50: goto _st50;
			case 51: goto _st51;
			case 52: goto _st52;
			case 53: goto _st53;
			case 54: goto _st54;
			case 55: goto _st55;
			case 56: goto _st56;
			case 57: goto _st57;
			case 58: goto _st58;
			case 59: goto _st59;
			case 60: goto _st60;
			case 61: goto _st61;
			case 62: goto _st62;
			case 63: goto _st63;
			case 40: goto _st40;
			case 64: goto _st64;
			case 41: goto _st41;
			case 42: goto _st42;
			case 43: goto _st43;
		}
		
		_resume: {}
		switch ( cs ) {
			case 1:
			goto st_case_1;
			case 0:
			goto st_case_0;
			case 44:
			goto st_case_44;
			case 2:
			goto st_case_2;
			case 3:
			goto st_case_3;
			case 4:
			goto st_case_4;
			case 5:
			goto st_case_5;
			case 45:
			goto st_case_45;
			case 46:
			goto st_case_46;
			case 6:
			goto st_case_6;
			case 7:
			goto st_case_7;
			case 8:
			goto st_case_8;
			case 9:
			goto st_case_9;
			case 10:
			goto st_case_10;
			case 11:
			goto st_case_11;
			case 47:
			goto st_case_47;
			case 12:
			goto st_case_12;
			case 13:
			goto st_case_13;
			case 14:
			goto st_case_14;
			case 15:
			goto st_case_15;
			case 16:
			goto st_case_16;
			case 17:
			goto st_case_17;
			case 18:
			goto st_case_18;
			case 19:
			goto st_case_19;
			case 20:
			goto st_case_20;
			case 21:
			goto st_case_21;
			case 22:
			goto st_case_22;
			case 23:
			goto st_case_23;
			case 24:
			goto st_case_24;
			case 25:
			goto st_case_25;
			case 26:
			goto st_case_26;
			case 27:
			goto st_case_27;
			case 28:
			goto st_case_28;
			case 29:
			goto st_case_29;
			case 30:
			goto st_case_30;
			case 31:
			goto st_case_31;
			case 32:
			goto st_case_32;
			case 33:
			goto st_case_33;
			case 34:
			goto st_case_34;
			case 35:
			goto st_case_35;
			case 36:
			goto st_case_36;
			case 37:
			goto st_case_37;
			case 38:
			goto st_case_38;
			case 39:
			goto st_case_39;
			case 48:
			goto st_case_48;
			case 49:
			goto st_case_49;
			case 50:
			goto st_case_50;
			case 51:
			goto st_case_51;
			case 52:
			goto st_case_52;
			case 53:
			goto st_case_53;
			case 54:
			goto st_case_54;
			case 55:
			goto st_case_55;
			case 56:
			goto st_case_56;
			case 57:
			goto st_case_57;
			case 58:
			goto st_case_58;
			case 59:
			goto st_case_59;
			case 60:
			goto st_case_60;
			case 61:
			goto st_case_61;
			case 62:
			goto st_case_62;
			case 63:
			goto st_case_63;
			case 40:
			goto st_case_40;
			case 64:
			goto st_case_64;
			case 41:
			goto st_case_41;
			case 42:
			goto st_case_42;
			case 43:
			goto st_case_43;
		}
		_st1:
		if ( p == eof )
			goto _out1;
		p+= 1;
		st_case_1:
		if ( p == pe && p != eof )
			goto _out1;
		if ( p == eof ) {
			goto _st1;}
		else {
			switch( ( (*( p))) ) {
				case 65u: {
					goto _ctr3;
				}
				case 73u: {
					goto _ctr4;
				}
				case 97u: {
					goto _ctr3;
				}
				case 105u: {
					goto _ctr4;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _ctr2;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _ctr2;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _ctr2;
					}
				} else if ( ( (*( p))) >= 66u ) {
					goto _ctr2;
				}
			} else {
				goto _ctr2;
			}
			goto _st0;
		}
		_st0:
		if ( p == eof )
			goto _out0;
		st_case_0:
		goto _out0;
		_ctr2:
			{
#line 5 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 301 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st44;
		_ctr81:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 309 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st44;
		_st44:
		if ( p == eof )
			goto _out44;
		p+= 1;
		st_case_44:
		if ( p == pe && p != eof )
			goto _out44;
		if ( p == eof ) {
			goto _ctr81;}
		else {
			if ( ( (*( p))) == 59u ) {
				goto _ctr83;
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr6:
			{
#line 19 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			pname_start = p;
			pname_end = NULL;
		}
		
#line 355 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st2;
		_ctr83:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 363 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st2;
		_ctr88:
			{
#line 52 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (pname_end) {
				if (qstart) {
					pvalue_start = qstart;
				}
				if (qend && qend >= qstart) {
					pvalue_end = qend;
				}
				else if (p >= pvalue_start) {
					pvalue_end = p;
				}
				qstart = NULL;
				qend = NULL;
				
				if (pvalue_end && pvalue_end > pvalue_start && pname_end > pname_start) {
					rspamd_content_disposition_add_param (pool, cd, pname_start, pname_end, pvalue_start, pvalue_end);
				}
			}
			
			pname_start = NULL;
			pname_end = NULL;
			pvalue_start = NULL;
			pvalue_end = NULL;
			qend = NULL;
			qstart = NULL;
		}
		
#line 395 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st2;
		_ctr110:
			{
#line 15 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			cd->type = RSPAMD_CT_ATTACHMENT;
		}
		
#line 404 "/build/rspamd/src/build/src/content_disposition.rl.c"

			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 410 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st2;
		_ctr122:
			{
#line 11 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			cd->type = RSPAMD_CT_INLINE;
		}
		
#line 419 "/build/rspamd/src/build/src/content_disposition.rl.c"

			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 425 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st2;
		_st2:
		if ( p == eof )
			goto _out2;
		p+= 1;
		st_case_2:
		if ( p == pe && p != eof )
			goto _out2;
		if ( p == eof ) {
			goto _st2;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _ctr6;
				}
				case 34u: {
					goto _ctr8;
				}
				case 40u: {
					goto _ctr9;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _ctr7;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _ctr7;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _ctr7;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _ctr7;
				}
			} else {
				goto _ctr7;
			}
			goto _st0;
		}
		_ctr7:
			{
#line 19 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			pname_start = p;
			pname_end = NULL;
		}
		
#line 479 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st3;
		_st3:
		if ( p == eof )
			goto _out3;
		p+= 1;
		st_case_3:
		if ( p == pe && p != eof )
			goto _out3;
		if ( p == eof ) {
			goto _st3;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _ctr11;
				}
				case 33u: {
					goto _st3;
				}
				case 61u: {
					goto _ctr12;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st3;
					}
				} else if ( ( (*( p))) >= 35u ) {
					goto _st3;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st3;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st3;
				}
			} else {
				goto _st3;
			}
			goto _st0;
		}
		_ctr11:
			{
#line 26 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				pname_start = qstart;
			}
			if (qend && qend >= qstart) {
				pname_end = qend;
			}
			else if (p >= pname_start) {
				pname_end = p;
			}
			qstart = NULL;
			qend = NULL;
		}
		
#line 540 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st4;
		_st4:
		if ( p == eof )
			goto _out4;
		p+= 1;
		st_case_4:
		if ( p == pe && p != eof )
			goto _out4;
		if ( p == eof ) {
			goto _st4;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _st4;
				}
				case 61u: {
					goto _st5;
				}
			}
			goto _st0;
		}
		_ctr12:
			{
#line 26 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				pname_start = qstart;
			}
			if (qend && qend >= qstart) {
				pname_end = qend;
			}
			else if (p >= pname_start) {
				pname_end = p;
			}
			qstart = NULL;
			qend = NULL;
		}
		
#line 579 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st5;
		_ctr15:
			{
#line 41 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			
			if (pname_end) {
				pvalue_start = p;
				pvalue_end = NULL;
			}
		}
		
#line 594 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st5;
		_st5:
		if ( p == eof )
			goto _out5;
		p+= 1;
		st_case_5:
		if ( p == pe && p != eof )
			goto _out5;
		if ( p == eof ) {
			goto _st5;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _ctr15;
				}
				case 34u: {
					goto _ctr17;
				}
				case 40u: {
					goto _ctr18;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _ctr16;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _ctr16;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _ctr16;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _ctr16;
				}
			} else {
				goto _ctr16;
			}
			goto _st0;
		}
		_ctr16:
			{
#line 41 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			
			if (pname_end) {
				pvalue_start = p;
				pvalue_end = NULL;
			}
		}
		
#line 651 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st45;
		_ctr84:
			{
#line 52 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (pname_end) {
				if (qstart) {
					pvalue_start = qstart;
				}
				if (qend && qend >= qstart) {
					pvalue_end = qend;
				}
				else if (p >= pvalue_start) {
					pvalue_end = p;
				}
				qstart = NULL;
				qend = NULL;
				
				if (pvalue_end && pvalue_end > pvalue_start && pname_end > pname_start) {
					rspamd_content_disposition_add_param (pool, cd, pname_start, pname_end, pvalue_start, pvalue_end);
				}
			}
			
			pname_start = NULL;
			pname_end = NULL;
			pvalue_start = NULL;
			pvalue_end = NULL;
			qend = NULL;
			qstart = NULL;
		}
		
#line 683 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st45;
		_st45:
		if ( p == eof )
			goto _out45;
		p+= 1;
		st_case_45:
		if ( p == pe && p != eof )
			goto _out45;
		if ( p == eof ) {
			goto _ctr84;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _ctr85;
				}
				case 33u: {
					goto _st45;
				}
				case 40u: {
					goto _ctr87;
				}
				case 59u: {
					goto _ctr88;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st45;
					}
				} else if ( ( (*( p))) >= 35u ) {
					goto _st45;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st45;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st45;
				}
			} else {
				goto _st45;
			}
			goto _st0;
		}
		_ctr85:
			{
#line 52 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (pname_end) {
				if (qstart) {
					pvalue_start = qstart;
				}
				if (qend && qend >= qstart) {
					pvalue_end = qend;
				}
				else if (p >= pvalue_start) {
					pvalue_end = p;
				}
				qstart = NULL;
				qend = NULL;
				
				if (pvalue_end && pvalue_end > pvalue_start && pname_end > pname_start) {
					rspamd_content_disposition_add_param (pool, cd, pname_start, pname_end, pvalue_start, pvalue_end);
				}
			}
			
			pname_start = NULL;
			pname_end = NULL;
			pvalue_start = NULL;
			pvalue_end = NULL;
			qend = NULL;
			qstart = NULL;
		}
		
#line 760 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st46;
		_st46:
		if ( p == eof )
			goto _out46;
		p+= 1;
		st_case_46:
		if ( p == pe && p != eof )
			goto _out46;
		if ( p == eof ) {
			goto _st46;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _st46;
				}
				case 40u: {
					goto _st6;
				}
				case 59u: {
					goto _st2;
				}
			}
			goto _st0;
		}
		_ctr20:
			{
#line 6 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{{
#line 28 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
					
					if (top >= st_storage.size) {
						st_storage.size = (top + 1) * 2;
						st_storage.data = realloc (st_storage.data, st_storage.size * sizeof (int));
						g_assert (st_storage.data != NULL);
						stack = st_storage.data;
					}
				}
				stack[top] = 6; top+= 1; goto _st40;}}
		
#line 800 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st6;
		_ctr87:
			{
#line 52 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (pname_end) {
				if (qstart) {
					pvalue_start = qstart;
				}
				if (qend && qend >= qstart) {
					pvalue_end = qend;
				}
				else if (p >= pvalue_start) {
					pvalue_end = p;
				}
				qstart = NULL;
				qend = NULL;
				
				if (pvalue_end && pvalue_end > pvalue_start && pname_end > pname_start) {
					rspamd_content_disposition_add_param (pool, cd, pname_start, pname_end, pvalue_start, pvalue_end);
				}
			}
			
			pname_start = NULL;
			pname_end = NULL;
			pvalue_start = NULL;
			pvalue_end = NULL;
			qend = NULL;
			qstart = NULL;
		}
		
#line 832 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st6;
		_st6:
		if ( p == eof )
			goto _out6;
		p+= 1;
		st_case_6:
		if ( p == pe && p != eof )
			goto _out6;
		if ( p == eof ) {
			goto _st6;}
		else {
			switch( ( (*( p))) ) {
				case 40u: {
					goto _ctr20;
				}
				case 41u: {
					goto _st46;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( ( (*( p))) > 91u ) {
					if ( 93u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st6;
					}
				} else if ( ( (*( p))) >= 32u ) {
					goto _st6;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st9;
					}
				} else {
					goto _st8;
				}
			} else {
				goto _st7;
			}
			goto _st0;
		}
		_st7:
		if ( p == eof )
			goto _out7;
		p+= 1;
		st_case_7:
		if ( p == pe && p != eof )
			goto _out7;
		if ( p == eof ) {
			goto _st7;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st6;
			}
			goto _st0;
		}
		_st8:
		if ( p == eof )
			goto _out8;
		p+= 1;
		st_case_8:
		if ( p == pe && p != eof )
			goto _out8;
		if ( p == eof ) {
			goto _st8;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st7;
			}
			goto _st0;
		}
		_st9:
		if ( p == eof )
			goto _out9;
		p+= 1;
		st_case_9:
		if ( p == pe && p != eof )
			goto _out9;
		if ( p == eof ) {
			goto _st9;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st8;
			}
			goto _st0;
		}
		_ctr17:
			{
#line 41 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			
			if (pname_end) {
				pvalue_start = p;
				pvalue_end = NULL;
			}
		}
		
#line 931 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st10;
		_st10:
		if ( p == eof )
			goto _out10;
		p+= 1;
		st_case_10:
		if ( p == pe && p != eof )
			goto _out10;
		if ( p == eof ) {
			goto _st10;}
		else {
			switch( ( (*( p))) ) {
				case 34u: {
					goto _ctr27;
				}
				case 92u: {
					goto _ctr28;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( 32u <= ( (*( p))) && ( (*( p))) <= 126u ) {
					goto _ctr26;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _ctr31;
					}
				} else {
					goto _ctr30;
				}
			} else {
				goto _ctr29;
			}
			goto _st0;
		}
		_ctr26:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 976 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st11;
		_st11:
		if ( p == eof )
			goto _out11;
		p+= 1;
		st_case_11:
		if ( p == pe && p != eof )
			goto _out11;
		if ( p == eof ) {
			goto _st11;}
		else {
			switch( ( (*( p))) ) {
				case 34u: {
					goto _ctr33;
				}
				case 92u: {
					goto _st16;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( 32u <= ( (*( p))) && ( (*( p))) <= 126u ) {
					goto _st11;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st19;
					}
				} else {
					goto _st18;
				}
			} else {
				goto _st17;
			}
			goto _st0;
		}
		_ctr27:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1021 "/build/rspamd/src/build/src/content_disposition.rl.c"

			{
#line 84 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				qend = p;
			}
		}
		
#line 1030 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st47;
		_ctr33:
			{
#line 84 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				qend = p;
			}
		}
		
#line 1041 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st47;
		_ctr89:
			{
#line 52 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (pname_end) {
				if (qstart) {
					pvalue_start = qstart;
				}
				if (qend && qend >= qstart) {
					pvalue_end = qend;
				}
				else if (p >= pvalue_start) {
					pvalue_end = p;
				}
				qstart = NULL;
				qend = NULL;
				
				if (pvalue_end && pvalue_end > pvalue_start && pname_end > pname_start) {
					rspamd_content_disposition_add_param (pool, cd, pname_start, pname_end, pvalue_start, pvalue_end);
				}
			}
			
			pname_start = NULL;
			pname_end = NULL;
			pvalue_start = NULL;
			pvalue_end = NULL;
			qend = NULL;
			qstart = NULL;
		}
		
#line 1073 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st47;
		_st47:
		if ( p == eof )
			goto _out47;
		p+= 1;
		st_case_47:
		if ( p == pe && p != eof )
			goto _out47;
		if ( p == eof ) {
			goto _ctr89;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _ctr89;
				}
				case 40u: {
					goto _ctr90;
				}
				case 59u: {
					goto _ctr88;
				}
			}
			goto _st0;
		}
		_ctr39:
			{
#line 6 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{{
#line 28 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
					
					if (top >= st_storage.size) {
						st_storage.size = (top + 1) * 2;
						st_storage.data = realloc (st_storage.data, st_storage.size * sizeof (int));
						g_assert (st_storage.data != NULL);
						stack = st_storage.data;
					}
				}
				stack[top] = 12; top+= 1; goto _st40;}}
		
#line 1113 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st12;
		_ctr90:
			{
#line 52 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (pname_end) {
				if (qstart) {
					pvalue_start = qstart;
				}
				if (qend && qend >= qstart) {
					pvalue_end = qend;
				}
				else if (p >= pvalue_start) {
					pvalue_end = p;
				}
				qstart = NULL;
				qend = NULL;
				
				if (pvalue_end && pvalue_end > pvalue_start && pname_end > pname_start) {
					rspamd_content_disposition_add_param (pool, cd, pname_start, pname_end, pvalue_start, pvalue_end);
				}
			}
			
			pname_start = NULL;
			pname_end = NULL;
			pvalue_start = NULL;
			pvalue_end = NULL;
			qend = NULL;
			qstart = NULL;
		}
		
#line 1145 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st12;
		_st12:
		if ( p == eof )
			goto _out12;
		p+= 1;
		st_case_12:
		if ( p == pe && p != eof )
			goto _out12;
		if ( p == eof ) {
			goto _st12;}
		else {
			switch( ( (*( p))) ) {
				case 40u: {
					goto _ctr39;
				}
				case 41u: {
					goto _st47;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( ( (*( p))) > 91u ) {
					if ( 93u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st12;
					}
				} else if ( ( (*( p))) >= 32u ) {
					goto _st12;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st15;
					}
				} else {
					goto _st14;
				}
			} else {
				goto _st13;
			}
			goto _st0;
		}
		_st13:
		if ( p == eof )
			goto _out13;
		p+= 1;
		st_case_13:
		if ( p == pe && p != eof )
			goto _out13;
		if ( p == eof ) {
			goto _st13;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st12;
			}
			goto _st0;
		}
		_st14:
		if ( p == eof )
			goto _out14;
		p+= 1;
		st_case_14:
		if ( p == pe && p != eof )
			goto _out14;
		if ( p == eof ) {
			goto _st14;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st13;
			}
			goto _st0;
		}
		_st15:
		if ( p == eof )
			goto _out15;
		p+= 1;
		st_case_15:
		if ( p == pe && p != eof )
			goto _out15;
		if ( p == eof ) {
			goto _st15;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st14;
			}
			goto _st0;
		}
		_ctr28:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1239 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st16;
		_st16:
		if ( p == eof )
			goto _out16;
		p+= 1;
		st_case_16:
		if ( p == pe && p != eof )
			goto _out16;
		if ( p == eof ) {
			goto _st16;}
		else {
			if ( 32u <= ( (*( p))) && ( (*( p))) <= 126u ) {
				goto _st11;
			}
			goto _st0;
		}
		_ctr29:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1264 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st17;
		_st17:
		if ( p == eof )
			goto _out17;
		p+= 1;
		st_case_17:
		if ( p == pe && p != eof )
			goto _out17;
		if ( p == eof ) {
			goto _st17;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st11;
			}
			goto _st0;
		}
		_ctr30:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1289 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st18;
		_st18:
		if ( p == eof )
			goto _out18;
		p+= 1;
		st_case_18:
		if ( p == pe && p != eof )
			goto _out18;
		if ( p == eof ) {
			goto _st18;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st17;
			}
			goto _st0;
		}
		_ctr31:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1314 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st19;
		_st19:
		if ( p == eof )
			goto _out19;
		p+= 1;
		st_case_19:
		if ( p == pe && p != eof )
			goto _out19;
		if ( p == eof ) {
			goto _st19;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st18;
			}
			goto _st0;
		}
		_ctr18:
			{
#line 41 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			
			if (pname_end) {
				pvalue_start = p;
				pvalue_end = NULL;
			}
		}
		
#line 1344 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st20;
		_ctr45:
			{
#line 6 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{{
#line 28 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
					
					if (top >= st_storage.size) {
						st_storage.size = (top + 1) * 2;
						st_storage.data = realloc (st_storage.data, st_storage.size * sizeof (int));
						g_assert (st_storage.data != NULL);
						stack = st_storage.data;
					}
				}
				stack[top] = 20; top+= 1; goto _st40;}}
		
#line 1361 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st20;
		_st20:
		if ( p == eof )
			goto _out20;
		p+= 1;
		st_case_20:
		if ( p == pe && p != eof )
			goto _out20;
		if ( p == eof ) {
			goto _st20;}
		else {
			switch( ( (*( p))) ) {
				case 40u: {
					goto _ctr45;
				}
				case 41u: {
					goto _st21;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( ( (*( p))) > 91u ) {
					if ( 93u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st20;
					}
				} else if ( ( (*( p))) >= 32u ) {
					goto _st20;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st24;
					}
				} else {
					goto _st23;
				}
			} else {
				goto _st22;
			}
			goto _st0;
		}
		_st21:
		if ( p == eof )
			goto _out21;
		p+= 1;
		st_case_21:
		if ( p == pe && p != eof )
			goto _out21;
		if ( p == eof ) {
			goto _st21;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _st21;
				}
				case 34u: {
					goto _st10;
				}
				case 40u: {
					goto _st20;
				}
			}
			goto _st0;
		}
		_st22:
		if ( p == eof )
			goto _out22;
		p+= 1;
		st_case_22:
		if ( p == pe && p != eof )
			goto _out22;
		if ( p == eof ) {
			goto _st22;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st20;
			}
			goto _st0;
		}
		_st23:
		if ( p == eof )
			goto _out23;
		p+= 1;
		st_case_23:
		if ( p == pe && p != eof )
			goto _out23;
		if ( p == eof ) {
			goto _st23;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st22;
			}
			goto _st0;
		}
		_st24:
		if ( p == eof )
			goto _out24;
		p+= 1;
		st_case_24:
		if ( p == pe && p != eof )
			goto _out24;
		if ( p == eof ) {
			goto _st24;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st23;
			}
			goto _st0;
		}
		_ctr8:
			{
#line 19 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			pname_start = p;
			pname_end = NULL;
		}
		
#line 1480 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st25;
		_st25:
		if ( p == eof )
			goto _out25;
		p+= 1;
		st_case_25:
		if ( p == pe && p != eof )
			goto _out25;
		if ( p == eof ) {
			goto _st25;}
		else {
			switch( ( (*( p))) ) {
				case 34u: {
					goto _ctr52;
				}
				case 92u: {
					goto _ctr53;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( 32u <= ( (*( p))) && ( (*( p))) <= 126u ) {
					goto _ctr51;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _ctr56;
					}
				} else {
					goto _ctr55;
				}
			} else {
				goto _ctr54;
			}
			goto _st0;
		}
		_ctr51:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1525 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st26;
		_st26:
		if ( p == eof )
			goto _out26;
		p+= 1;
		st_case_26:
		if ( p == pe && p != eof )
			goto _out26;
		if ( p == eof ) {
			goto _st26;}
		else {
			switch( ( (*( p))) ) {
				case 34u: {
					goto _ctr58;
				}
				case 92u: {
					goto _st32;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( 32u <= ( (*( p))) && ( (*( p))) <= 126u ) {
					goto _st26;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st35;
					}
				} else {
					goto _st34;
				}
			} else {
				goto _st33;
			}
			goto _st0;
		}
		_ctr64:
			{
#line 26 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				pname_start = qstart;
			}
			if (qend && qend >= qstart) {
				pname_end = qend;
			}
			else if (p >= pname_start) {
				pname_end = p;
			}
			qstart = NULL;
			qend = NULL;
		}
		
#line 1579 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st27;
		_ctr52:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1589 "/build/rspamd/src/build/src/content_disposition.rl.c"

			{
#line 84 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				qend = p;
			}
		}
		
#line 1598 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st27;
		_ctr58:
			{
#line 84 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			if (qstart) {
				qend = p;
			}
		}
		
#line 1609 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st27;
		_st27:
		if ( p == eof )
			goto _out27;
		p+= 1;
		st_case_27:
		if ( p == pe && p != eof )
			goto _out27;
		if ( p == eof ) {
			goto _st27;}
		else {
			switch( ( (*( p))) ) {
				case 32u: {
					goto _ctr64;
				}
				case 40u: {
					goto _st28;
				}
				case 61u: {
					goto _ctr12;
				}
			}
			goto _st0;
		}
		_ctr66:
			{
#line 6 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{{
#line 28 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
					
					if (top >= st_storage.size) {
						st_storage.size = (top + 1) * 2;
						st_storage.data = realloc (st_storage.data, st_storage.size * sizeof (int));
						g_assert (st_storage.data != NULL);
						stack = st_storage.data;
					}
				}
				stack[top] = 28; top+= 1; goto _st40;}}
		
#line 1649 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st28;
		_st28:
		if ( p == eof )
			goto _out28;
		p+= 1;
		st_case_28:
		if ( p == pe && p != eof )
			goto _out28;
		if ( p == eof ) {
			goto _st28;}
		else {
			switch( ( (*( p))) ) {
				case 40u: {
					goto _ctr66;
				}
				case 41u: {
					goto _st27;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( ( (*( p))) > 91u ) {
					if ( 93u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st28;
					}
				} else if ( ( (*( p))) >= 32u ) {
					goto _st28;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st31;
					}
				} else {
					goto _st30;
				}
			} else {
				goto _st29;
			}
			goto _st0;
		}
		_st29:
		if ( p == eof )
			goto _out29;
		p+= 1;
		st_case_29:
		if ( p == pe && p != eof )
			goto _out29;
		if ( p == eof ) {
			goto _st29;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st28;
			}
			goto _st0;
		}
		_st30:
		if ( p == eof )
			goto _out30;
		p+= 1;
		st_case_30:
		if ( p == pe && p != eof )
			goto _out30;
		if ( p == eof ) {
			goto _st30;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st29;
			}
			goto _st0;
		}
		_st31:
		if ( p == eof )
			goto _out31;
		p+= 1;
		st_case_31:
		if ( p == pe && p != eof )
			goto _out31;
		if ( p == eof ) {
			goto _st31;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st30;
			}
			goto _st0;
		}
		_ctr53:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1743 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st32;
		_st32:
		if ( p == eof )
			goto _out32;
		p+= 1;
		st_case_32:
		if ( p == pe && p != eof )
			goto _out32;
		if ( p == eof ) {
			goto _st32;}
		else {
			if ( 32u <= ( (*( p))) && ( (*( p))) <= 126u ) {
				goto _st26;
			}
			goto _st0;
		}
		_ctr54:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1768 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st33;
		_st33:
		if ( p == eof )
			goto _out33;
		p+= 1;
		st_case_33:
		if ( p == pe && p != eof )
			goto _out33;
		if ( p == eof ) {
			goto _st33;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st26;
			}
			goto _st0;
		}
		_ctr55:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1793 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st34;
		_st34:
		if ( p == eof )
			goto _out34;
		p+= 1;
		st_case_34:
		if ( p == pe && p != eof )
			goto _out34;
		if ( p == eof ) {
			goto _st34;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st33;
			}
			goto _st0;
		}
		_ctr56:
			{
#line 79 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = p;
			qend = NULL;
		}
		
#line 1818 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st35;
		_st35:
		if ( p == eof )
			goto _out35;
		p+= 1;
		st_case_35:
		if ( p == pe && p != eof )
			goto _out35;
		if ( p == eof ) {
			goto _st35;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st34;
			}
			goto _st0;
		}
		_ctr9:
			{
#line 19 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			qstart = NULL;
			qend = NULL;
			pname_start = p;
			pname_end = NULL;
		}
		
#line 1845 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st36;
		_ctr71:
			{
#line 6 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{{
#line 28 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
					
					if (top >= st_storage.size) {
						st_storage.size = (top + 1) * 2;
						st_storage.data = realloc (st_storage.data, st_storage.size * sizeof (int));
						g_assert (st_storage.data != NULL);
						stack = st_storage.data;
					}
				}
				stack[top] = 36; top+= 1; goto _st40;}}
		
#line 1862 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st36;
		_st36:
		if ( p == eof )
			goto _out36;
		p+= 1;
		st_case_36:
		if ( p == pe && p != eof )
			goto _out36;
		if ( p == eof ) {
			goto _st36;}
		else {
			switch( ( (*( p))) ) {
				case 40u: {
					goto _ctr71;
				}
				case 41u: {
					goto _st2;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( ( (*( p))) > 91u ) {
					if ( 93u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st36;
					}
				} else if ( ( (*( p))) >= 32u ) {
					goto _st36;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st39;
					}
				} else {
					goto _st38;
				}
			} else {
				goto _st37;
			}
			goto _st0;
		}
		_st37:
		if ( p == eof )
			goto _out37;
		p+= 1;
		st_case_37:
		if ( p == pe && p != eof )
			goto _out37;
		if ( p == eof ) {
			goto _st37;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st36;
			}
			goto _st0;
		}
		_st38:
		if ( p == eof )
			goto _out38;
		p+= 1;
		st_case_38:
		if ( p == pe && p != eof )
			goto _out38;
		if ( p == eof ) {
			goto _st38;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st37;
			}
			goto _st0;
		}
		_st39:
		if ( p == eof )
			goto _out39;
		p+= 1;
		st_case_39:
		if ( p == pe && p != eof )
			goto _out39;
		if ( p == eof ) {
			goto _st39;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st38;
			}
			goto _st0;
		}
		_ctr3:
			{
#line 5 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 1954 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st48;
		_ctr91:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 1962 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st48;
		_st48:
		if ( p == eof )
			goto _out48;
		p+= 1;
		st_case_48:
		if ( p == pe && p != eof )
			goto _out48;
		if ( p == eof ) {
			goto _ctr91;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 84u: {
					goto _st49;
				}
				case 116u: {
					goto _st49;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr93:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2012 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st49;
		_st49:
		if ( p == eof )
			goto _out49;
		p+= 1;
		st_case_49:
		if ( p == pe && p != eof )
			goto _out49;
		if ( p == eof ) {
			goto _ctr93;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 84u: {
					goto _st50;
				}
				case 116u: {
					goto _st50;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr95:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2062 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st50;
		_st50:
		if ( p == eof )
			goto _out50;
		p+= 1;
		st_case_50:
		if ( p == pe && p != eof )
			goto _out50;
		if ( p == eof ) {
			goto _ctr95;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 65u: {
					goto _st51;
				}
				case 97u: {
					goto _st51;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 66u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr97:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2112 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st51;
		_st51:
		if ( p == eof )
			goto _out51;
		p+= 1;
		st_case_51:
		if ( p == pe && p != eof )
			goto _out51;
		if ( p == eof ) {
			goto _ctr97;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 67u: {
					goto _st52;
				}
				case 99u: {
					goto _st52;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr99:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2162 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st52;
		_st52:
		if ( p == eof )
			goto _out52;
		p+= 1;
		st_case_52:
		if ( p == pe && p != eof )
			goto _out52;
		if ( p == eof ) {
			goto _ctr99;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 72u: {
					goto _st53;
				}
				case 104u: {
					goto _st53;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr101:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2212 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st53;
		_st53:
		if ( p == eof )
			goto _out53;
		p+= 1;
		st_case_53:
		if ( p == pe && p != eof )
			goto _out53;
		if ( p == eof ) {
			goto _ctr101;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 77u: {
					goto _st54;
				}
				case 109u: {
					goto _st54;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr103:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2262 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st54;
		_st54:
		if ( p == eof )
			goto _out54;
		p+= 1;
		st_case_54:
		if ( p == pe && p != eof )
			goto _out54;
		if ( p == eof ) {
			goto _ctr103;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 69u: {
					goto _st55;
				}
				case 101u: {
					goto _st55;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr105:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2312 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st55;
		_st55:
		if ( p == eof )
			goto _out55;
		p+= 1;
		st_case_55:
		if ( p == pe && p != eof )
			goto _out55;
		if ( p == eof ) {
			goto _ctr105;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 78u: {
					goto _st56;
				}
				case 110u: {
					goto _st56;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr107:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2362 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st56;
		_st56:
		if ( p == eof )
			goto _out56;
		p+= 1;
		st_case_56:
		if ( p == pe && p != eof )
			goto _out56;
		if ( p == eof ) {
			goto _ctr107;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 84u: {
					goto _st57;
				}
				case 116u: {
					goto _st57;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr109:
			{
#line 15 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			cd->type = RSPAMD_CT_ATTACHMENT;
		}
		
#line 2413 "/build/rspamd/src/build/src/content_disposition.rl.c"

			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2419 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st57;
		_st57:
		if ( p == eof )
			goto _out57;
		p+= 1;
		st_case_57:
		if ( p == pe && p != eof )
			goto _out57;
		if ( p == eof ) {
			goto _ctr109;}
		else {
			if ( ( (*( p))) == 59u ) {
				goto _ctr110;
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr4:
			{
#line 5 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2461 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st58;
		_ctr111:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2469 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st58;
		_st58:
		if ( p == eof )
			goto _out58;
		p+= 1;
		st_case_58:
		if ( p == pe && p != eof )
			goto _out58;
		if ( p == eof ) {
			goto _ctr111;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 78u: {
					goto _st59;
				}
				case 110u: {
					goto _st59;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr113:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2519 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st59;
		_st59:
		if ( p == eof )
			goto _out59;
		p+= 1;
		st_case_59:
		if ( p == pe && p != eof )
			goto _out59;
		if ( p == eof ) {
			goto _ctr113;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 76u: {
					goto _st60;
				}
				case 108u: {
					goto _st60;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr115:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2569 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st60;
		_st60:
		if ( p == eof )
			goto _out60;
		p+= 1;
		st_case_60:
		if ( p == pe && p != eof )
			goto _out60;
		if ( p == eof ) {
			goto _ctr115;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 73u: {
					goto _st61;
				}
				case 105u: {
					goto _st61;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr117:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2619 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st61;
		_st61:
		if ( p == eof )
			goto _out61;
		p+= 1;
		st_case_61:
		if ( p == pe && p != eof )
			goto _out61;
		if ( p == eof ) {
			goto _ctr117;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 78u: {
					goto _st62;
				}
				case 110u: {
					goto _st62;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr119:
			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2669 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st62;
		_st62:
		if ( p == eof )
			goto _out62;
		p+= 1;
		st_case_62:
		if ( p == pe && p != eof )
			goto _out62;
		if ( p == eof ) {
			goto _ctr119;}
		else {
			switch( ( (*( p))) ) {
				case 59u: {
					goto _ctr83;
				}
				case 69u: {
					goto _st63;
				}
				case 101u: {
					goto _st63;
				}
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr121:
			{
#line 11 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
			cd->type = RSPAMD_CT_INLINE;
		}
		
#line 2720 "/build/rspamd/src/build/src/content_disposition.rl.c"

			{
#line 8 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"
			
		}
		
#line 2726 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st63;
		_st63:
		if ( p == eof )
			goto _out63;
		p+= 1;
		st_case_63:
		if ( p == pe && p != eof )
			goto _out63;
		if ( p == eof ) {
			goto _ctr121;}
		else {
			if ( ( (*( p))) == 59u ) {
				goto _ctr122;
			}
			if ( ( (*( p))) < 48u ) {
				if ( ( (*( p))) > 39u ) {
					if ( 42u <= ( (*( p))) && ( (*( p))) <= 46u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 33u ) {
					goto _st44;
				}
			} else if ( ( (*( p))) > 57u ) {
				if ( ( (*( p))) > 90u ) {
					if ( 94u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st44;
					}
				} else if ( ( (*( p))) >= 65u ) {
					goto _st44;
				}
			} else {
				goto _st44;
			}
			goto _st0;
		}
		_ctr76:
			{
#line 6 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{{
#line 28 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
					
					if (top >= st_storage.size) {
						st_storage.size = (top + 1) * 2;
						st_storage.data = realloc (st_storage.data, st_storage.size * sizeof (int));
						g_assert (st_storage.data != NULL);
						stack = st_storage.data;
					}
				}
				stack[top] = 40; top+= 1; goto _st40;}}
		
#line 2777 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st40;
		_st40:
		if ( p == eof )
			goto _out40;
		p+= 1;
		st_case_40:
		if ( p == pe && p != eof )
			goto _out40;
		if ( p == eof ) {
			goto _st40;}
		else {
			switch( ( (*( p))) ) {
				case 40u: {
					goto _ctr76;
				}
				case 41u: {
					goto _ctr77;
				}
			}
			if ( ( (*( p))) < 192u ) {
				if ( ( (*( p))) > 91u ) {
					if ( 93u <= ( (*( p))) && ( (*( p))) <= 126u ) {
						goto _st40;
					}
				} else if ( ( (*( p))) >= 32u ) {
					goto _st40;
				}
			} else if ( ( (*( p))) > 223u ) {
				if ( ( (*( p))) > 239u ) {
					if ( ( (*( p))) <= 247u ) {
						goto _st43;
					}
				} else {
					goto _st42;
				}
			} else {
				goto _st41;
			}
			goto _st0;
		}
		_ctr77:
			{
#line 7 "/build/rspamd/src/rspamd/src/ragel/content_disposition.rl"
			{top -= 1;cs = stack[top];goto _again;} }
		
#line 2823 "/build/rspamd/src/build/src/content_disposition.rl.c"

		goto _st64;
		_st64:
		if ( p == eof )
			goto _out64;
		p+= 1;
		st_case_64:
		if ( p == pe && p != eof )
			goto _out64;
		if ( p == eof ) {
			goto _st64;}
		else {
			goto _st0;
		}
		_st41:
		if ( p == eof )
			goto _out41;
		p+= 1;
		st_case_41:
		if ( p == pe && p != eof )
			goto _out41;
		if ( p == eof ) {
			goto _st41;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st40;
			}
			goto _st0;
		}
		_st42:
		if ( p == eof )
			goto _out42;
		p+= 1;
		st_case_42:
		if ( p == pe && p != eof )
			goto _out42;
		if ( p == eof ) {
			goto _st42;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st41;
			}
			goto _st0;
		}
		_st43:
		if ( p == eof )
			goto _out43;
		p+= 1;
		st_case_43:
		if ( p == pe && p != eof )
			goto _out43;
		if ( p == eof ) {
			goto _st43;}
		else {
			if ( 128u <= ( (*( p))) && ( (*( p))) <= 191u ) {
				goto _st42;
			}
			goto _st0;
		}
		_out1: cs = 1; goto _out; 
		_out0: cs = 0; goto _out; 
		_out44: cs = 44; goto _out; 
		_out2: cs = 2; goto _out; 
		_out3: cs = 3; goto _out; 
		_out4: cs = 4; goto _out; 
		_out5: cs = 5; goto _out; 
		_out45: cs = 45; goto _out; 
		_out46: cs = 46; goto _out; 
		_out6: cs = 6; goto _out; 
		_out7: cs = 7; goto _out; 
		_out8: cs = 8; goto _out; 
		_out9: cs = 9; goto _out; 
		_out10: cs = 10; goto _out; 
		_out11: cs = 11; goto _out; 
		_out47: cs = 47; goto _out; 
		_out12: cs = 12; goto _out; 
		_out13: cs = 13; goto _out; 
		_out14: cs = 14; goto _out; 
		_out15: cs = 15; goto _out; 
		_out16: cs = 16; goto _out; 
		_out17: cs = 17; goto _out; 
		_out18: cs = 18; goto _out; 
		_out19: cs = 19; goto _out; 
		_out20: cs = 20; goto _out; 
		_out21: cs = 21; goto _out; 
		_out22: cs = 22; goto _out; 
		_out23: cs = 23; goto _out; 
		_out24: cs = 24; goto _out; 
		_out25: cs = 25; goto _out; 
		_out26: cs = 26; goto _out; 
		_out27: cs = 27; goto _out; 
		_out28: cs = 28; goto _out; 
		_out29: cs = 29; goto _out; 
		_out30: cs = 30; goto _out; 
		_out31: cs = 31; goto _out; 
		_out32: cs = 32; goto _out; 
		_out33: cs = 33; goto _out; 
		_out34: cs = 34; goto _out; 
		_out35: cs = 35; goto _out; 
		_out36: cs = 36; goto _out; 
		_out37: cs = 37; goto _out; 
		_out38: cs = 38; goto _out; 
		_out39: cs = 39; goto _out; 
		_out48: cs = 48; goto _out; 
		_out49: cs = 49; goto _out; 
		_out50: cs = 50; goto _out; 
		_out51: cs = 51; goto _out; 
		_out52: cs = 52; goto _out; 
		_out53: cs = 53; goto _out; 
		_out54: cs = 54; goto _out; 
		_out55: cs = 55; goto _out; 
		_out56: cs = 56; goto _out; 
		_out57: cs = 57; goto _out; 
		_out58: cs = 58; goto _out; 
		_out59: cs = 59; goto _out; 
		_out60: cs = 60; goto _out; 
		_out61: cs = 61; goto _out; 
		_out62: cs = 62; goto _out; 
		_out63: cs = 63; goto _out; 
		_out40: cs = 40; goto _out; 
		_out64: cs = 64; goto _out; 
		_out41: cs = 41; goto _out; 
		_out42: cs = 42; goto _out; 
		_out43: cs = 43; goto _out; 
		_out: {}
	}
	
#line 119 "/build/rspamd/src/rspamd/src/ragel/content_disposition_parser.rl"

	
	if (st_storage.data) {
		free (st_storage.data);
	}
	
	return cd->attrs != NULL || cd->type != RSPAMD_CT_UNKNOWN;
}
