1// Code generated by "go run duplicate_generate.go"; DO NOT EDIT.
2
3package dns
4
5// isDuplicate() functions
6
7func (r1 *A) isDuplicate(_r2 RR) bool {
8	r2, ok := _r2.(*A)
9	if !ok {
10		return false
11	}
12	_ = r2
13	if !r1.A.Equal(r2.A) {
14		return false
15	}
16	return true
17}
18
19func (r1 *AAAA) isDuplicate(_r2 RR) bool {
20	r2, ok := _r2.(*AAAA)
21	if !ok {
22		return false
23	}
24	_ = r2
25	if !r1.AAAA.Equal(r2.AAAA) {
26		return false
27	}
28	return true
29}
30
31func (r1 *AFSDB) isDuplicate(_r2 RR) bool {
32	r2, ok := _r2.(*AFSDB)
33	if !ok {
34		return false
35	}
36	_ = r2
37	if r1.Subtype != r2.Subtype {
38		return false
39	}
40	if !isDuplicateName(r1.Hostname, r2.Hostname) {
41		return false
42	}
43	return true
44}
45
46func (r1 *ANY) isDuplicate(_r2 RR) bool {
47	r2, ok := _r2.(*ANY)
48	if !ok {
49		return false
50	}
51	_ = r2
52	return true
53}
54
55func (r1 *APL) isDuplicate(_r2 RR) bool {
56	r2, ok := _r2.(*APL)
57	if !ok {
58		return false
59	}
60	_ = r2
61	if len(r1.Prefixes) != len(r2.Prefixes) {
62		return false
63	}
64	for i := 0; i < len(r1.Prefixes); i++ {
65		if !r1.Prefixes[i].equals(&r2.Prefixes[i]) {
66			return false
67		}
68	}
69	return true
70}
71
72func (r1 *AVC) isDuplicate(_r2 RR) bool {
73	r2, ok := _r2.(*AVC)
74	if !ok {
75		return false
76	}
77	_ = r2
78	if len(r1.Txt) != len(r2.Txt) {
79		return false
80	}
81	for i := 0; i < len(r1.Txt); i++ {
82		if r1.Txt[i] != r2.Txt[i] {
83			return false
84		}
85	}
86	return true
87}
88
89func (r1 *CAA) isDuplicate(_r2 RR) bool {
90	r2, ok := _r2.(*CAA)
91	if !ok {
92		return false
93	}
94	_ = r2
95	if r1.Flag != r2.Flag {
96		return false
97	}
98	if r1.Tag != r2.Tag {
99		return false
100	}
101	if r1.Value != r2.Value {
102		return false
103	}
104	return true
105}
106
107func (r1 *CERT) isDuplicate(_r2 RR) bool {
108	r2, ok := _r2.(*CERT)
109	if !ok {
110		return false
111	}
112	_ = r2
113	if r1.Type != r2.Type {
114		return false
115	}
116	if r1.KeyTag != r2.KeyTag {
117		return false
118	}
119	if r1.Algorithm != r2.Algorithm {
120		return false
121	}
122	if r1.Certificate != r2.Certificate {
123		return false
124	}
125	return true
126}
127
128func (r1 *CNAME) isDuplicate(_r2 RR) bool {
129	r2, ok := _r2.(*CNAME)
130	if !ok {
131		return false
132	}
133	_ = r2
134	if !isDuplicateName(r1.Target, r2.Target) {
135		return false
136	}
137	return true
138}
139
140func (r1 *CSYNC) isDuplicate(_r2 RR) bool {
141	r2, ok := _r2.(*CSYNC)
142	if !ok {
143		return false
144	}
145	_ = r2
146	if r1.Serial != r2.Serial {
147		return false
148	}
149	if r1.Flags != r2.Flags {
150		return false
151	}
152	if len(r1.TypeBitMap) != len(r2.TypeBitMap) {
153		return false
154	}
155	for i := 0; i < len(r1.TypeBitMap); i++ {
156		if r1.TypeBitMap[i] != r2.TypeBitMap[i] {
157			return false
158		}
159	}
160	return true
161}
162
163func (r1 *DHCID) isDuplicate(_r2 RR) bool {
164	r2, ok := _r2.(*DHCID)
165	if !ok {
166		return false
167	}
168	_ = r2
169	if r1.Digest != r2.Digest {
170		return false
171	}
172	return true
173}
174
175func (r1 *DNAME) isDuplicate(_r2 RR) bool {
176	r2, ok := _r2.(*DNAME)
177	if !ok {
178		return false
179	}
180	_ = r2
181	if !isDuplicateName(r1.Target, r2.Target) {
182		return false
183	}
184	return true
185}
186
187func (r1 *DNSKEY) isDuplicate(_r2 RR) bool {
188	r2, ok := _r2.(*DNSKEY)
189	if !ok {
190		return false
191	}
192	_ = r2
193	if r1.Flags != r2.Flags {
194		return false
195	}
196	if r1.Protocol != r2.Protocol {
197		return false
198	}
199	if r1.Algorithm != r2.Algorithm {
200		return false
201	}
202	if r1.PublicKey != r2.PublicKey {
203		return false
204	}
205	return true
206}
207
208func (r1 *DS) isDuplicate(_r2 RR) bool {
209	r2, ok := _r2.(*DS)
210	if !ok {
211		return false
212	}
213	_ = r2
214	if r1.KeyTag != r2.KeyTag {
215		return false
216	}
217	if r1.Algorithm != r2.Algorithm {
218		return false
219	}
220	if r1.DigestType != r2.DigestType {
221		return false
222	}
223	if r1.Digest != r2.Digest {
224		return false
225	}
226	return true
227}
228
229func (r1 *EID) isDuplicate(_r2 RR) bool {
230	r2, ok := _r2.(*EID)
231	if !ok {
232		return false
233	}
234	_ = r2
235	if r1.Endpoint != r2.Endpoint {
236		return false
237	}
238	return true
239}
240
241func (r1 *EUI48) isDuplicate(_r2 RR) bool {
242	r2, ok := _r2.(*EUI48)
243	if !ok {
244		return false
245	}
246	_ = r2
247	if r1.Address != r2.Address {
248		return false
249	}
250	return true
251}
252
253func (r1 *EUI64) isDuplicate(_r2 RR) bool {
254	r2, ok := _r2.(*EUI64)
255	if !ok {
256		return false
257	}
258	_ = r2
259	if r1.Address != r2.Address {
260		return false
261	}
262	return true
263}
264
265func (r1 *GID) isDuplicate(_r2 RR) bool {
266	r2, ok := _r2.(*GID)
267	if !ok {
268		return false
269	}
270	_ = r2
271	if r1.Gid != r2.Gid {
272		return false
273	}
274	return true
275}
276
277func (r1 *GPOS) isDuplicate(_r2 RR) bool {
278	r2, ok := _r2.(*GPOS)
279	if !ok {
280		return false
281	}
282	_ = r2
283	if r1.Longitude != r2.Longitude {
284		return false
285	}
286	if r1.Latitude != r2.Latitude {
287		return false
288	}
289	if r1.Altitude != r2.Altitude {
290		return false
291	}
292	return true
293}
294
295func (r1 *HINFO) isDuplicate(_r2 RR) bool {
296	r2, ok := _r2.(*HINFO)
297	if !ok {
298		return false
299	}
300	_ = r2
301	if r1.Cpu != r2.Cpu {
302		return false
303	}
304	if r1.Os != r2.Os {
305		return false
306	}
307	return true
308}
309
310func (r1 *HIP) isDuplicate(_r2 RR) bool {
311	r2, ok := _r2.(*HIP)
312	if !ok {
313		return false
314	}
315	_ = r2
316	if r1.HitLength != r2.HitLength {
317		return false
318	}
319	if r1.PublicKeyAlgorithm != r2.PublicKeyAlgorithm {
320		return false
321	}
322	if r1.PublicKeyLength != r2.PublicKeyLength {
323		return false
324	}
325	if r1.Hit != r2.Hit {
326		return false
327	}
328	if r1.PublicKey != r2.PublicKey {
329		return false
330	}
331	if len(r1.RendezvousServers) != len(r2.RendezvousServers) {
332		return false
333	}
334	for i := 0; i < len(r1.RendezvousServers); i++ {
335		if !isDuplicateName(r1.RendezvousServers[i], r2.RendezvousServers[i]) {
336			return false
337		}
338	}
339	return true
340}
341
342func (r1 *KX) isDuplicate(_r2 RR) bool {
343	r2, ok := _r2.(*KX)
344	if !ok {
345		return false
346	}
347	_ = r2
348	if r1.Preference != r2.Preference {
349		return false
350	}
351	if !isDuplicateName(r1.Exchanger, r2.Exchanger) {
352		return false
353	}
354	return true
355}
356
357func (r1 *L32) isDuplicate(_r2 RR) bool {
358	r2, ok := _r2.(*L32)
359	if !ok {
360		return false
361	}
362	_ = r2
363	if r1.Preference != r2.Preference {
364		return false
365	}
366	if !r1.Locator32.Equal(r2.Locator32) {
367		return false
368	}
369	return true
370}
371
372func (r1 *L64) isDuplicate(_r2 RR) bool {
373	r2, ok := _r2.(*L64)
374	if !ok {
375		return false
376	}
377	_ = r2
378	if r1.Preference != r2.Preference {
379		return false
380	}
381	if r1.Locator64 != r2.Locator64 {
382		return false
383	}
384	return true
385}
386
387func (r1 *LOC) isDuplicate(_r2 RR) bool {
388	r2, ok := _r2.(*LOC)
389	if !ok {
390		return false
391	}
392	_ = r2
393	if r1.Version != r2.Version {
394		return false
395	}
396	if r1.Size != r2.Size {
397		return false
398	}
399	if r1.HorizPre != r2.HorizPre {
400		return false
401	}
402	if r1.VertPre != r2.VertPre {
403		return false
404	}
405	if r1.Latitude != r2.Latitude {
406		return false
407	}
408	if r1.Longitude != r2.Longitude {
409		return false
410	}
411	if r1.Altitude != r2.Altitude {
412		return false
413	}
414	return true
415}
416
417func (r1 *LP) isDuplicate(_r2 RR) bool {
418	r2, ok := _r2.(*LP)
419	if !ok {
420		return false
421	}
422	_ = r2
423	if r1.Preference != r2.Preference {
424		return false
425	}
426	if !isDuplicateName(r1.Fqdn, r2.Fqdn) {
427		return false
428	}
429	return true
430}
431
432func (r1 *MB) isDuplicate(_r2 RR) bool {
433	r2, ok := _r2.(*MB)
434	if !ok {
435		return false
436	}
437	_ = r2
438	if !isDuplicateName(r1.Mb, r2.Mb) {
439		return false
440	}
441	return true
442}
443
444func (r1 *MD) isDuplicate(_r2 RR) bool {
445	r2, ok := _r2.(*MD)
446	if !ok {
447		return false
448	}
449	_ = r2
450	if !isDuplicateName(r1.Md, r2.Md) {
451		return false
452	}
453	return true
454}
455
456func (r1 *MF) isDuplicate(_r2 RR) bool {
457	r2, ok := _r2.(*MF)
458	if !ok {
459		return false
460	}
461	_ = r2
462	if !isDuplicateName(r1.Mf, r2.Mf) {
463		return false
464	}
465	return true
466}
467
468func (r1 *MG) isDuplicate(_r2 RR) bool {
469	r2, ok := _r2.(*MG)
470	if !ok {
471		return false
472	}
473	_ = r2
474	if !isDuplicateName(r1.Mg, r2.Mg) {
475		return false
476	}
477	return true
478}
479
480func (r1 *MINFO) isDuplicate(_r2 RR) bool {
481	r2, ok := _r2.(*MINFO)
482	if !ok {
483		return false
484	}
485	_ = r2
486	if !isDuplicateName(r1.Rmail, r2.Rmail) {
487		return false
488	}
489	if !isDuplicateName(r1.Email, r2.Email) {
490		return false
491	}
492	return true
493}
494
495func (r1 *MR) isDuplicate(_r2 RR) bool {
496	r2, ok := _r2.(*MR)
497	if !ok {
498		return false
499	}
500	_ = r2
501	if !isDuplicateName(r1.Mr, r2.Mr) {
502		return false
503	}
504	return true
505}
506
507func (r1 *MX) isDuplicate(_r2 RR) bool {
508	r2, ok := _r2.(*MX)
509	if !ok {
510		return false
511	}
512	_ = r2
513	if r1.Preference != r2.Preference {
514		return false
515	}
516	if !isDuplicateName(r1.Mx, r2.Mx) {
517		return false
518	}
519	return true
520}
521
522func (r1 *NAPTR) isDuplicate(_r2 RR) bool {
523	r2, ok := _r2.(*NAPTR)
524	if !ok {
525		return false
526	}
527	_ = r2
528	if r1.Order != r2.Order {
529		return false
530	}
531	if r1.Preference != r2.Preference {
532		return false
533	}
534	if r1.Flags != r2.Flags {
535		return false
536	}
537	if r1.Service != r2.Service {
538		return false
539	}
540	if r1.Regexp != r2.Regexp {
541		return false
542	}
543	if !isDuplicateName(r1.Replacement, r2.Replacement) {
544		return false
545	}
546	return true
547}
548
549func (r1 *NID) isDuplicate(_r2 RR) bool {
550	r2, ok := _r2.(*NID)
551	if !ok {
552		return false
553	}
554	_ = r2
555	if r1.Preference != r2.Preference {
556		return false
557	}
558	if r1.NodeID != r2.NodeID {
559		return false
560	}
561	return true
562}
563
564func (r1 *NIMLOC) isDuplicate(_r2 RR) bool {
565	r2, ok := _r2.(*NIMLOC)
566	if !ok {
567		return false
568	}
569	_ = r2
570	if r1.Locator != r2.Locator {
571		return false
572	}
573	return true
574}
575
576func (r1 *NINFO) isDuplicate(_r2 RR) bool {
577	r2, ok := _r2.(*NINFO)
578	if !ok {
579		return false
580	}
581	_ = r2
582	if len(r1.ZSData) != len(r2.ZSData) {
583		return false
584	}
585	for i := 0; i < len(r1.ZSData); i++ {
586		if r1.ZSData[i] != r2.ZSData[i] {
587			return false
588		}
589	}
590	return true
591}
592
593func (r1 *NS) isDuplicate(_r2 RR) bool {
594	r2, ok := _r2.(*NS)
595	if !ok {
596		return false
597	}
598	_ = r2
599	if !isDuplicateName(r1.Ns, r2.Ns) {
600		return false
601	}
602	return true
603}
604
605func (r1 *NSAPPTR) isDuplicate(_r2 RR) bool {
606	r2, ok := _r2.(*NSAPPTR)
607	if !ok {
608		return false
609	}
610	_ = r2
611	if !isDuplicateName(r1.Ptr, r2.Ptr) {
612		return false
613	}
614	return true
615}
616
617func (r1 *NSEC) isDuplicate(_r2 RR) bool {
618	r2, ok := _r2.(*NSEC)
619	if !ok {
620		return false
621	}
622	_ = r2
623	if !isDuplicateName(r1.NextDomain, r2.NextDomain) {
624		return false
625	}
626	if len(r1.TypeBitMap) != len(r2.TypeBitMap) {
627		return false
628	}
629	for i := 0; i < len(r1.TypeBitMap); i++ {
630		if r1.TypeBitMap[i] != r2.TypeBitMap[i] {
631			return false
632		}
633	}
634	return true
635}
636
637func (r1 *NSEC3) isDuplicate(_r2 RR) bool {
638	r2, ok := _r2.(*NSEC3)
639	if !ok {
640		return false
641	}
642	_ = r2
643	if r1.Hash != r2.Hash {
644		return false
645	}
646	if r1.Flags != r2.Flags {
647		return false
648	}
649	if r1.Iterations != r2.Iterations {
650		return false
651	}
652	if r1.SaltLength != r2.SaltLength {
653		return false
654	}
655	if r1.Salt != r2.Salt {
656		return false
657	}
658	if r1.HashLength != r2.HashLength {
659		return false
660	}
661	if r1.NextDomain != r2.NextDomain {
662		return false
663	}
664	if len(r1.TypeBitMap) != len(r2.TypeBitMap) {
665		return false
666	}
667	for i := 0; i < len(r1.TypeBitMap); i++ {
668		if r1.TypeBitMap[i] != r2.TypeBitMap[i] {
669			return false
670		}
671	}
672	return true
673}
674
675func (r1 *NSEC3PARAM) isDuplicate(_r2 RR) bool {
676	r2, ok := _r2.(*NSEC3PARAM)
677	if !ok {
678		return false
679	}
680	_ = r2
681	if r1.Hash != r2.Hash {
682		return false
683	}
684	if r1.Flags != r2.Flags {
685		return false
686	}
687	if r1.Iterations != r2.Iterations {
688		return false
689	}
690	if r1.SaltLength != r2.SaltLength {
691		return false
692	}
693	if r1.Salt != r2.Salt {
694		return false
695	}
696	return true
697}
698
699func (r1 *NULL) isDuplicate(_r2 RR) bool {
700	r2, ok := _r2.(*NULL)
701	if !ok {
702		return false
703	}
704	_ = r2
705	if r1.Data != r2.Data {
706		return false
707	}
708	return true
709}
710
711func (r1 *OPENPGPKEY) isDuplicate(_r2 RR) bool {
712	r2, ok := _r2.(*OPENPGPKEY)
713	if !ok {
714		return false
715	}
716	_ = r2
717	if r1.PublicKey != r2.PublicKey {
718		return false
719	}
720	return true
721}
722
723func (r1 *PTR) isDuplicate(_r2 RR) bool {
724	r2, ok := _r2.(*PTR)
725	if !ok {
726		return false
727	}
728	_ = r2
729	if !isDuplicateName(r1.Ptr, r2.Ptr) {
730		return false
731	}
732	return true
733}
734
735func (r1 *PX) isDuplicate(_r2 RR) bool {
736	r2, ok := _r2.(*PX)
737	if !ok {
738		return false
739	}
740	_ = r2
741	if r1.Preference != r2.Preference {
742		return false
743	}
744	if !isDuplicateName(r1.Map822, r2.Map822) {
745		return false
746	}
747	if !isDuplicateName(r1.Mapx400, r2.Mapx400) {
748		return false
749	}
750	return true
751}
752
753func (r1 *RFC3597) isDuplicate(_r2 RR) bool {
754	r2, ok := _r2.(*RFC3597)
755	if !ok {
756		return false
757	}
758	_ = r2
759	if r1.Rdata != r2.Rdata {
760		return false
761	}
762	return true
763}
764
765func (r1 *RKEY) isDuplicate(_r2 RR) bool {
766	r2, ok := _r2.(*RKEY)
767	if !ok {
768		return false
769	}
770	_ = r2
771	if r1.Flags != r2.Flags {
772		return false
773	}
774	if r1.Protocol != r2.Protocol {
775		return false
776	}
777	if r1.Algorithm != r2.Algorithm {
778		return false
779	}
780	if r1.PublicKey != r2.PublicKey {
781		return false
782	}
783	return true
784}
785
786func (r1 *RP) isDuplicate(_r2 RR) bool {
787	r2, ok := _r2.(*RP)
788	if !ok {
789		return false
790	}
791	_ = r2
792	if !isDuplicateName(r1.Mbox, r2.Mbox) {
793		return false
794	}
795	if !isDuplicateName(r1.Txt, r2.Txt) {
796		return false
797	}
798	return true
799}
800
801func (r1 *RRSIG) isDuplicate(_r2 RR) bool {
802	r2, ok := _r2.(*RRSIG)
803	if !ok {
804		return false
805	}
806	_ = r2
807	if r1.TypeCovered != r2.TypeCovered {
808		return false
809	}
810	if r1.Algorithm != r2.Algorithm {
811		return false
812	}
813	if r1.Labels != r2.Labels {
814		return false
815	}
816	if r1.OrigTtl != r2.OrigTtl {
817		return false
818	}
819	if r1.Expiration != r2.Expiration {
820		return false
821	}
822	if r1.Inception != r2.Inception {
823		return false
824	}
825	if r1.KeyTag != r2.KeyTag {
826		return false
827	}
828	if !isDuplicateName(r1.SignerName, r2.SignerName) {
829		return false
830	}
831	if r1.Signature != r2.Signature {
832		return false
833	}
834	return true
835}
836
837func (r1 *RT) isDuplicate(_r2 RR) bool {
838	r2, ok := _r2.(*RT)
839	if !ok {
840		return false
841	}
842	_ = r2
843	if r1.Preference != r2.Preference {
844		return false
845	}
846	if !isDuplicateName(r1.Host, r2.Host) {
847		return false
848	}
849	return true
850}
851
852func (r1 *SMIMEA) isDuplicate(_r2 RR) bool {
853	r2, ok := _r2.(*SMIMEA)
854	if !ok {
855		return false
856	}
857	_ = r2
858	if r1.Usage != r2.Usage {
859		return false
860	}
861	if r1.Selector != r2.Selector {
862		return false
863	}
864	if r1.MatchingType != r2.MatchingType {
865		return false
866	}
867	if r1.Certificate != r2.Certificate {
868		return false
869	}
870	return true
871}
872
873func (r1 *SOA) isDuplicate(_r2 RR) bool {
874	r2, ok := _r2.(*SOA)
875	if !ok {
876		return false
877	}
878	_ = r2
879	if !isDuplicateName(r1.Ns, r2.Ns) {
880		return false
881	}
882	if !isDuplicateName(r1.Mbox, r2.Mbox) {
883		return false
884	}
885	if r1.Serial != r2.Serial {
886		return false
887	}
888	if r1.Refresh != r2.Refresh {
889		return false
890	}
891	if r1.Retry != r2.Retry {
892		return false
893	}
894	if r1.Expire != r2.Expire {
895		return false
896	}
897	if r1.Minttl != r2.Minttl {
898		return false
899	}
900	return true
901}
902
903func (r1 *SPF) isDuplicate(_r2 RR) bool {
904	r2, ok := _r2.(*SPF)
905	if !ok {
906		return false
907	}
908	_ = r2
909	if len(r1.Txt) != len(r2.Txt) {
910		return false
911	}
912	for i := 0; i < len(r1.Txt); i++ {
913		if r1.Txt[i] != r2.Txt[i] {
914			return false
915		}
916	}
917	return true
918}
919
920func (r1 *SRV) isDuplicate(_r2 RR) bool {
921	r2, ok := _r2.(*SRV)
922	if !ok {
923		return false
924	}
925	_ = r2
926	if r1.Priority != r2.Priority {
927		return false
928	}
929	if r1.Weight != r2.Weight {
930		return false
931	}
932	if r1.Port != r2.Port {
933		return false
934	}
935	if !isDuplicateName(r1.Target, r2.Target) {
936		return false
937	}
938	return true
939}
940
941func (r1 *SSHFP) isDuplicate(_r2 RR) bool {
942	r2, ok := _r2.(*SSHFP)
943	if !ok {
944		return false
945	}
946	_ = r2
947	if r1.Algorithm != r2.Algorithm {
948		return false
949	}
950	if r1.Type != r2.Type {
951		return false
952	}
953	if r1.FingerPrint != r2.FingerPrint {
954		return false
955	}
956	return true
957}
958
959func (r1 *TA) isDuplicate(_r2 RR) bool {
960	r2, ok := _r2.(*TA)
961	if !ok {
962		return false
963	}
964	_ = r2
965	if r1.KeyTag != r2.KeyTag {
966		return false
967	}
968	if r1.Algorithm != r2.Algorithm {
969		return false
970	}
971	if r1.DigestType != r2.DigestType {
972		return false
973	}
974	if r1.Digest != r2.Digest {
975		return false
976	}
977	return true
978}
979
980func (r1 *TALINK) isDuplicate(_r2 RR) bool {
981	r2, ok := _r2.(*TALINK)
982	if !ok {
983		return false
984	}
985	_ = r2
986	if !isDuplicateName(r1.PreviousName, r2.PreviousName) {
987		return false
988	}
989	if !isDuplicateName(r1.NextName, r2.NextName) {
990		return false
991	}
992	return true
993}
994
995func (r1 *TKEY) isDuplicate(_r2 RR) bool {
996	r2, ok := _r2.(*TKEY)
997	if !ok {
998		return false
999	}
1000	_ = r2
1001	if !isDuplicateName(r1.Algorithm, r2.Algorithm) {
1002		return false
1003	}
1004	if r1.Inception != r2.Inception {
1005		return false
1006	}
1007	if r1.Expiration != r2.Expiration {
1008		return false
1009	}
1010	if r1.Mode != r2.Mode {
1011		return false
1012	}
1013	if r1.Error != r2.Error {
1014		return false
1015	}
1016	if r1.KeySize != r2.KeySize {
1017		return false
1018	}
1019	if r1.Key != r2.Key {
1020		return false
1021	}
1022	if r1.OtherLen != r2.OtherLen {
1023		return false
1024	}
1025	if r1.OtherData != r2.OtherData {
1026		return false
1027	}
1028	return true
1029}
1030
1031func (r1 *TLSA) isDuplicate(_r2 RR) bool {
1032	r2, ok := _r2.(*TLSA)
1033	if !ok {
1034		return false
1035	}
1036	_ = r2
1037	if r1.Usage != r2.Usage {
1038		return false
1039	}
1040	if r1.Selector != r2.Selector {
1041		return false
1042	}
1043	if r1.MatchingType != r2.MatchingType {
1044		return false
1045	}
1046	if r1.Certificate != r2.Certificate {
1047		return false
1048	}
1049	return true
1050}
1051
1052func (r1 *TSIG) isDuplicate(_r2 RR) bool {
1053	r2, ok := _r2.(*TSIG)
1054	if !ok {
1055		return false
1056	}
1057	_ = r2
1058	if !isDuplicateName(r1.Algorithm, r2.Algorithm) {
1059		return false
1060	}
1061	if r1.TimeSigned != r2.TimeSigned {
1062		return false
1063	}
1064	if r1.Fudge != r2.Fudge {
1065		return false
1066	}
1067	if r1.MACSize != r2.MACSize {
1068		return false
1069	}
1070	if r1.MAC != r2.MAC {
1071		return false
1072	}
1073	if r1.OrigId != r2.OrigId {
1074		return false
1075	}
1076	if r1.Error != r2.Error {
1077		return false
1078	}
1079	if r1.OtherLen != r2.OtherLen {
1080		return false
1081	}
1082	if r1.OtherData != r2.OtherData {
1083		return false
1084	}
1085	return true
1086}
1087
1088func (r1 *TXT) isDuplicate(_r2 RR) bool {
1089	r2, ok := _r2.(*TXT)
1090	if !ok {
1091		return false
1092	}
1093	_ = r2
1094	if len(r1.Txt) != len(r2.Txt) {
1095		return false
1096	}
1097	for i := 0; i < len(r1.Txt); i++ {
1098		if r1.Txt[i] != r2.Txt[i] {
1099			return false
1100		}
1101	}
1102	return true
1103}
1104
1105func (r1 *UID) isDuplicate(_r2 RR) bool {
1106	r2, ok := _r2.(*UID)
1107	if !ok {
1108		return false
1109	}
1110	_ = r2
1111	if r1.Uid != r2.Uid {
1112		return false
1113	}
1114	return true
1115}
1116
1117func (r1 *UINFO) isDuplicate(_r2 RR) bool {
1118	r2, ok := _r2.(*UINFO)
1119	if !ok {
1120		return false
1121	}
1122	_ = r2
1123	if r1.Uinfo != r2.Uinfo {
1124		return false
1125	}
1126	return true
1127}
1128
1129func (r1 *URI) isDuplicate(_r2 RR) bool {
1130	r2, ok := _r2.(*URI)
1131	if !ok {
1132		return false
1133	}
1134	_ = r2
1135	if r1.Priority != r2.Priority {
1136		return false
1137	}
1138	if r1.Weight != r2.Weight {
1139		return false
1140	}
1141	if r1.Target != r2.Target {
1142		return false
1143	}
1144	return true
1145}
1146
1147func (r1 *X25) isDuplicate(_r2 RR) bool {
1148	r2, ok := _r2.(*X25)
1149	if !ok {
1150		return false
1151	}
1152	_ = r2
1153	if r1.PSDNAddress != r2.PSDNAddress {
1154		return false
1155	}
1156	return true
1157}
1158