| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -8,6 +8,7 @@ import ( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						"encoding/json" | 
					 | 
					 | 
					 | 
						"encoding/json" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						"fmt" | 
					 | 
					 | 
					 | 
						"fmt" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						"net/http" | 
					 | 
					 | 
					 | 
						"net/http" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						"regexp" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						"strings" | 
					 | 
					 | 
					 | 
						"strings" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						"time" | 
					 | 
					 | 
					 | 
						"time" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -35,8 +36,8 @@ type Api struct { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					type Answer struct { | 
					 | 
					 | 
					 | 
					type Answer struct { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						Answer json.RawMessage `json:"answer"` | 
					 | 
					 | 
					 | 
						Answer string `json:"answer"` | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						Name   string          `json:"name"` | 
					 | 
					 | 
					 | 
						Name   string `json:"name"` | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					func (a *Api) GetHandler() fasthttp.RequestHandler { | 
					 | 
					 | 
					 | 
					func (a *Api) GetHandler() fasthttp.RequestHandler { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -85,8 +86,12 @@ func (a *Api) checkAnswer(ctx *routing.Context) (err error) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return routing.NewHTTPError(http.StatusBadRequest, err.Error()) | 
					 | 
					 | 
					 | 
							return routing.NewHTTPError(http.StatusBadRequest, err.Error()) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						cleaner := regexp.MustCompile("[[:^alnum:]]") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						pure := cleaner.ReplaceAllLiteralString(answer.Answer, "") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						pure = strings.ToLower(pure) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						hash := sha256.New() | 
					 | 
					 | 
					 | 
						hash := sha256.New() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						hash.Write(answer.Answer) | 
					 | 
					 | 
					 | 
						hash.Write([]byte(pure)) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						hexed := make([]byte, hex.EncodedLen(sha256.Size)) | 
					 | 
					 | 
					 | 
						hexed := make([]byte, hex.EncodedLen(sha256.Size)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |