hunk.code_window: 	}
   }
   func writeFileResponse(filename string, contentType string, contentSize int64, webserverMode string, fileReader io.Reader, forceDownload bool, w http.ResponseWriter, r *http.Request) *model.AppError {
   	w.Header().Set("Cache-Control", "private, no-cache")
   	w.Header().Set("X-Content-Type-Options", "nosniff")
   	if contentSize > 0 {
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit: func writeFileResponse(filename string, contentType string, contentSize int64, lastModification time.Time, webserverMode string, fileReader io.ReadSeeker, forceDownload bool, w http.ResponseWriter, r *http.Request) *model.AppError {
  
hunk.file_path: api4/file.go
hunk.type: replace
file: // Copyright 2013 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  // +build !go1.2
  
  package language
  
  import "sort"
  
  func sortStable(s sort.Interface) {
  	ss := stableSort{
  		s:   s,
  		pos: make([]int, s.Len()),
  	}
  	for i := range ss.pos {
  		ss.pos[i] = i
  	}
  	sort.Sort(&ss)
  }
  
  type stableSort struct {
  	s   sort.Interface
  	pos []int
  }
  
  func (s *stableSort) Len() int {
  	return len(s.pos)
  }
  
  func (s *stableSort) Less(i, j int) bool {
  	return s.s.Less(i, j) || !s.s.Less(j, i) && s.pos[i] < s.pos[j]
  }
  
  func (s *stableSort) Swap(i, j int) {
  	s.s.Swap(i, j)
  	s.pos[i], s.pos[j] = s.pos[j], s.pos[i]
  }
  