65c8f1c82e9cc3db22568a52bdebeb6f2fa0422796'),
          isTrue);
      expect(
          filter.contains(
              '0f59b606089c756cf02c67012956638a0c0ae78bbf41be0ee3aabceba4803ba0'),
          isTrue);
      expect(filter.contains('gerneric-value'), isTrue);

      // Check for non-added items
      expect(filter.contains('notInThere'), isFalse);
      expect(filter.contains('🫠'), isFalse);
    });

    test('serialization and deserialization', () {
      final originalFilter =
          BloomFilter(falsePositiveProbability: 0.01, numItems: 1000);

      // Add some items
      originalFilter.add(
          '301856e2e523686222cfaa317c9d0314dec97ee4387f1bed82ea82d3ad693138');
      originalFilter.add(
          '625bac679a9b02a5b737e3c915209481bb604609247802acd39c1c2c3a68d7a6');
      originalFilter.add(
          'c878f3e84c39f1671dd763c7e96c89926952cdfdf497f075f3441e6590b1a9d3');
      originalFilter.add('generic-value');

      // Serialize
      final serialized = originalFilter.serialize();

      // Deserialize
      final deserializedFilter = BloomFilter.fromNumHashFunctionsAndByteArray(
        numHashFunctions: originalFilter.numHashFunctions,
        byteArray: base64Decode(serialized),
        size: originalFilter.size,
      );

      // Check that deserialized filter behaves the same
      expect(
          deserializedFilter.contains(
              '301856e2e523686222cfaa317c9d0314dec97ee4387f1bed82ea82d3ad693138'),
          isTrue);
      expect(
          deserializedFilter.contains(
              '625bac679a9b02a5b737e3c915209481bb604609247802acd39c1c2c3a68d7a6'),
          isTrue);
      expect(
          deserializedFilter.contains(
              'c878f3e84c39f1671dd763c7e96c89926952cdfdf497f075f3441e6590b1a9d3'),
          isTrue);
      expect(deserializedFilter.contains('generic-value'), isTrue);
      expect(
          deserializedFilter.contains(
              'faf136b76938530e5a6702bf6f25f6f52a714bc7387bdebc64ae0aefbf8e5937'),
          isFalse);
    });

    test('false positive rate is within expected bounds', () {
      // Create a filter with 1% false positive rate for 1000 items
      final falsePositiveRate = 0.01;
      final numItems = 1000;
      final filter = BloomFilter(
          falsePositiveProbability: falsePositiveRate, numItems: numItems);

      // Add numItems different items
      for (int i = 0; i < numItems; i++) {
        filter.add('item_$i');
      }

      // Test with a different set of items to check false positive rate
      int falsePositives = 0;
      final testSize = 10000;

      for (int i = 0; i < testSize; i++) {
        final testItem = 'test_item_$i';
        if (filter.contains(testItem)) {
          falsePositives++;
        }
      }

      final actualFalsePositiveRate = falsePositives / testSize;

      // Allow some margin of error (3x the expected rate)
      expect(actualFalsePositiveRate, lessThan(falsePositiveRate * 3));

      if (kDebugMode) {
        print('Expected false positive rate: $falsePositiveRate');
        print('Actual false positive rate: $actualFalsePositiveRate');
      }
    });

    test('handles large number of items', () {
      const numberOfItems = 1000000;
      final filter =
          BloomFilter(falsePositiveProbability: 0.01, numItems: numberOf


	RTE

setpal1		MOVEM.L A0-A1,-(SP)
		LEA pic+2(PC),A0
		LEA $FFFF8240.W,A1
		REPT 8
		MOVE.L (A0)+,(A1)+		; set palette
		ENDR				; for rest of screen
		MOVEM.L (SP)+,A0-A1
		CLR.B $FFFFFA1B.W
		RTE

; Overscan one whole screen line

wholeline	MOVE.B #2,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		DCB.W 87,$4E71
		MOVE.B #0,$FFFF820A.W
		MOVE.B #2,$FFFF820A.W
		DCB.W 8,$4e71
		MOVE.B #1,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		RTS

* Right border only

rightonly	DCB.W 95,$4E71
		MOVE.B #0,$FFFF820A.W
		MOVE.B #2,$FFFF820A.W
		DCB.W 16,$4e71
		RTS

* Miss one word -2 bytes

length_2	DCB.W 93,$4E71
		MOVE.B #0,$FFFF820A.W
		MOVE.B #2,$FFFF820A.W
		DCB.W 18,$4e71
		RTS

* Do nothing

nothing		DCB.W 119,$4E71
		RTS

* 24 bytes extra per lineE

length24	MOVE.B #2,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		DCB.W 86,$4E71
		MOVE.B #0,$FFFF820A.W
		MOVE.B #2,$FFFF820A.W
		DCB.W 9,$4E71
		MOVE.B #1,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		RTS

* +26 bytes

length26	MOVE.B #2,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		DCB.W 103,$4E71
		MOVE.B #1,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		RTS

* -106 bytes

length_106	DCB.W 41,$4E71
		MOVE.B #2,$FFFF8260.W
		MOVE.B #0,$FFFF8260.W
		DCB.W 70,$4e71
		RTS

; SETUP HARDWARE SCROLL ROUTS...

SETUPSCROLL	LEA ROUTS(PC),A0
		LEA ROUT_TAB(PC),A1
		LEA LINE_JMPS,A2
		MOVEQ #127,D2
.jlp		MOVEQ #6,D1
.ilp		CLR D0
		MOVE.B (A0)+,D0
		ADD D0,D0
		ADD D0,D0
		MOVE.L (A1,D0),(A2)+
		DBF D1,.ilp
		DBF D2,.jlp
		RTS

; Copy the piccy to the screen.

Copy_pic	LEA pic+34(PC),A0
		MOVE.L log_base(PC),A1
		MOVE #(27*160)/4-1,D1
.clr		CLR.L (A1)+
		DBF D1,.clr
		MOVE #1999,D1
cpy_lp1		MOVE.L (A0)+,(A1)+
		MOVE.L (A0)+,(A1)+
		MOVE.L (A0)+,(A1)+


isecondsSinceEpoch;
        final difference = min(
            now - stateStore.lastRequestDate, now - _lastHeartbeatRequestDate);
        if (difference > _heartbeatIntervalMillis) {
          send();
          _lastHeartbeatRequestDate = now;
        }
      },
    );
  }

  void stop() => _heartbeatTimer?.cancel();

  Future<void> send() async {
    if (!stateStore.isConnected || !stateStore.isSessionOpen) {
      throw ResponseException(
          code: ResponseStatusCode.clientSessionHasBeenClosed);
    }
    stateStore.tcp!.write(_heartbeatRequest);
    final completer = Completer<void>();
    _heartbeatCompleters.add(completer);
    return completer.future;
  }

  void resolveHeartbeatCompleters() {
    _heartbeatCompleters.removeWhere((completer) {
      completer.complete();
      return true;
    });
  }

  bool rejectHeartbeatCompletersIfFail(TurmsNotification notification) {
    if (_heartbeatFailureRequestId == notification.requestId.toInt()) {
      _rejectHeartbeatCompleters(
          ResponseException.fromNotification(notification));
      return true;
    }
    return false;
  }

  void _rejectHeartbeatCompleters(ResponseException exception) {
    _heartbeatCompleters.removeWhere((completer) {
      completer.completeError(exception);
      return true;
    });
  }

  @override
  Future<void> close() {
    onDisconnected();
    return Future.value();
  }

  @override
  void onDisconnected({Object? error, StackTrace? stackTrace}) {
    stop();
    final exception = ResponseException(
        code: ResponseStatusCode.clientSessionHasBeenClosed,
        cause: error,
        stackTrace: stackTrace);
    _rejectHeartbeatCompleters(exception);
  }
}
//
//  Generated code. Do not modify.
//  source: constant/response_action.proto
//
// @dart = 2.12

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

class ResponseAction extends $pb.ProtobufEnum {
  static const ResponseAction ACCEPT =
      ResponseAction._(0, _omitEnumNames ? '' : 'ACCEPT');
  static const ResponseAction DECLINE =
      ResponseAction._(1, _omitEnumNames ? '' : 'DECLINE');
  static const ResponseAction IGNORE =
      ResponseAction._(2, _omitEnumNames ? '' : 'IGNORE');

  static const $core.List<ResponseAction> values = <ResponseAction>[
    ACCEPT,
    DECLINE,
    IGNORE,
  ];

  static final $core.Map<$core.int, ResponseAction> _byValue =
      $pb.ProtobufEnum.initByValue(values);
  static ResponseAction? valueOf($core.int value) => _byValue[value];

  const ResponseAction._($core.int v, $core.String n) : super(v, n);
}

const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
//
//  Generated code. Do not modify.
//  source: constant/group_member_role.proto
//
// @dart = 2.12

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, pre


AppliedChange_ChangeDescription_InputVariable{
					InputVariable: description,
				},
			},
		},
	}, nil
}

type AppliedChangeOutputValue struct {
	Addr  stackaddrs.OutputValue
	Value cty.Value
}

var _ AppliedChange = (*AppliedChangeOutputValue)(nil)

func (ac *AppliedChangeOutputValue) AppliedChangeProto() (*stacks.AppliedChange, error) {
	key := statekeys.String(statekeys.Output{
		OutputAddr: ac.Addr,
	})

	if ac.Value == cty.NilVal {
		// Then we're deleting this output value from the state.
		return &stacks.AppliedChange{
			Raw: []*stacks.AppliedChange_RawChange{
				{
					Key:   key,
					Value: nil,
				},
			},
			Descriptions: []*stacks.AppliedChange_ChangeDescription{
				{
					Key: key,
					Description: &stacks.AppliedChange_ChangeDescription_Deleted{
						Deleted: &stacks.AppliedChange_Nothing{},
					},
				},
			},
		}, nil
	}

	value, err := stacks.ToDynamicValue(ac.Value, cty.DynamicPseudoType)
	if err != nil {
		return nil, fmt.Errorf("encoding new state for %s in preparation for saving it: %w", ac.Addr, err)
	}

	var raw anypb.Any
	if err := anypb.MarshalFrom(&raw, tfstackdata1.Terraform1ToStackDataDynamicValue(value), proto.MarshalOptions{}); err != nil {
		return nil, fmt.Errorf("encoding raw state for %s: %w", ac.Addr, err)
	}

	return &stacks.AppliedChange{
		Raw: []*stacks.AppliedChange_RawChange{
			{
				Key:   key,
				Value: &raw,
			},
		},
		Descriptions: []*stacks.AppliedChange_ChangeDescription{
			{
				Key: key,
				Description: &stacks.AppliedChange_ChangeDescription_OutputValue{
					OutputValue: &stacks.AppliedChange_OutputValue{
						Name:     ac.Addr.Name,
						NewValue: value,
					},
				},
			},
		},
	}, nil
}

type AppliedChangeDiscardKeys struct {
	DiscardRawKeys  collections.Set[statekeys.Key]
	DiscardDescKeys collections.Set[statekeys.Key]
}

var _ AppliedChange = (*AppliedChangeDiscardKeys)(nil)

// AppliedChangeProto implements AppliedChange.
func (ac *AppliedChangeDiscardKeys) AppliedChangeProto() (*stacks.AppliedChange, error) {
	ret := &stacks.AppliedChange{
		Raw:          make([]*stacks.AppliedChange_RawChange, 0, ac.DiscardRawKeys.Len()),
		Descriptions: make([]*stacks.AppliedChange_ChangeDescription, 0, ac.DiscardDescKeys.Len()),
	}
	for key := range ac.DiscardRawKeys.All() {
		ret.Raw = append(ret.Raw, &stacks.AppliedChange_RawChange{
			Key:   statekeys.String(key),
			Value: nil, // nil represents deletion
		})
	}
	for key := range ac.DiscardDescKeys.All() {
		ret.Descriptions = append(ret.Descriptions, &stacks.AppliedChange_ChangeDescription{
			Key:         statekeys.String(key),
			Description: &stacks.AppliedChange_ChangeDescription_Deleted{
				// Selection of this empty variant represents deletion
			},
		})
	}
	return ret, nil
}
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1

package stackaddrs

import (
	"fmt"

	"github.com/hashicorp/hcl/v2"
	"github.com/hashicorp/hcl/v2/hclsyntax"

	"github.com/hashicorp/terraform/internal/addrs"
	"github.com/hashicorp/terraform/internal/collections"
	"github.com/hashicorp/terraform/internal/tfdiags"
)

// StackItemConfig is a type set containing all of the address types that make
// se


       serializer.writeBatch(testReport, outputStream)
        val output = outputStream.toString(StandardCharsets.UTF_8)
        assertThat(
            output.contains(
                "FHS|^~\\&|||||"
            )
        ).isTrue()

        assertThat(
            output.contains(
                "BHS|^~\\&|||||"
            )
        ).isTrue()
    }

    @Test
    fun `test createHeader withreplaceValueAwithB batch`() {
        val outputStream = ByteArrayOutputStream()

        val inputStream = File("./src/test/unit_test_files/ak_test_file.csv").inputStream()
        val schema = "primedatainput/pdi-covid-19"

        val replaceFHSSendingApp = arrayListOf(mapOf("*" to "New Sendign App^2.16.840.1.114222.4.1.237821^ISO"))
        val replaceFHSReceivingApp = arrayListOf(mapOf("*" to "New Receiving Application^1234^ISO"))
        val replaceFHSReceivingFacility = arrayListOf(mapOf("*" to "New Receiving Facility"))

        val replaceValueAwithBMap: Map<String, Any>? = mapOf(
            "FHS-3" to replaceFHSSendingApp,
            "FHS-5" to replaceFHSReceivingApp,
            "FHS-6" to replaceFHSReceivingFacility,
        )
        val hl7Config = createConfig(
            replaceValueAwithB = replaceValueAwithBMap!!
        )
        val receiver = Receiver("mock", "ca-phd", Topic.COVID_19, translation = hl7Config)
        val testReport = csvSerializer.readExternal(schema, inputStream, listOf(TestSource), receiver).report
        serializer.writeBatch(testReport, outputStream)
        val output = outputStream.toString(StandardCharsets.UTF_8)
        assertThat(
            output.contains(
                "FHS|^~\\&|New Sendign App^2.16.840.1.114222.4.1.237821^ISO|"
            )
        ).isTrue()

        assertThat(
            output.contains(
                "|New Receiving Application^1234^ISO|"
            )
        ).isTrue()

        assertThat(
            output.contains(
                "|New Receiving Facility|"
            )
        ).isTrue()
    }

    @Test
    fun `test message with bad NPI`() {
        val inputStream = File("./src/test/unit_test_files/fake-pdi-covid-19.csv").inputStream()
        val schema = "primedatainput/pdi-covid-19"
        val hl7Config = createConfig(suppressNonNPI = false)
        val receiver = Receiver("mock", "ca-phd", Topic.COVID_19, translation = hl7Config)
        val pdiInput = csvSerializer.readExternal(schema, inputStream, listOf(TestSource), receiver).report
        val testReport = translator.translateByReceiver(pdiInput, receiver)
        val output = serializer.buildMessage(testReport, 2)
        val orderingProvider = output.patienT_RESULT.ordeR_OBSERVATION.orc.getOrderingProvider(0)
        assertThat(orderingProvider.assigningAuthority.isEmpty).isTrue()
        assertThat(orderingProvider.identifierTypeCode.value).isEqualTo("U")
    }

    @Test
    fun `test message with characters that need stripping`() {
        val inputStream = File("./src/test/unit_test_files/bad-character-replacements.csv").inputStream()
        val schema = "strac/strac-covid-19"
        val hl7Config = createConfig(stripInvalidCharsRegex = "\u0019")
        val receiver = Receiver("mock", "pa-phd", Topic.COVID_19, translation = hl7Config)
        val stracInput = csvSerializer.readExternal(schema, inputStream, listOf(TestSource), receiver).report
        val testReport = translator.translateBy


.14-.032 1.325 1.325 0 0 0 .215.087c.086.028.17.046.248.055.075.01.144.01.204.004a.92.92 0 0 1 .263.176c.05.052.074.1.063.135-.015.047-.09.076-.198.084a1.294 1.294 0 0 1-.46-.067 1.293 1.293 0 0 1-.415-.208c-.085-.07-.13-.135-.115-.183zm.01-.147a.196.196 0 0 0-.112.115c-.029.094.03.2.15.297.107.087.266.17.45.228.185.058.362.08.5.07.153-.01.263-.064.292-.157.024-.076-.01-.16-.088-.24a1.045 1.045 0 0 0-.308-.206l-.03-.005a.767.767 0 0 1-.193-.002 1.295 1.295 0 0 1-.441-.137l-.028-.006a.53.53 0 0 0-.193.043z"}}),e._v(" "),s("path",{attrs:{fill:"none",d:"M0 0h6.827v6.827H0z"}})])]),e._v(" "),s("transition",{attrs:{name:"appear"}},[e.show?s("div",{staticClass:"findoutmore"},[s("app-anatomy-diagram")],1):e._e()])],1)},staticRenderFns:[]};var i=s("VU/8")(p,b,!1,function(e){s("navW")},"data-v-d5bb48e2",null).exports,c=s("Dd8w"),l=s.n(c),d=s("vdRI"),u=(s("NYxO"),{name:"method-base",props:{urlPath:{type:String,default:"length"}}}),h={render:function(){var e=this.$createElement,n=this._self._c||e;return n("div",[n("h2",[this._t("title")],2),this._v(" "),n("p",{staticClass:"desc"},[this._t("desc")],2),this._v(" "),n("p",{staticClass:"link"},[n("em",[n("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/"+this.urlPath,target:"_blank"}},[this._v(this._s(this.$t("docsLink","See the docs"))+" →")])])])])},staticRenderFns:[]};var m={components:{MethodBase:s("VU/8")(u,h,!1,function(e){s("BHfy")},"data-v-7577fb80",null).exports},props:{methodType:{type:String,required:!1},options:{type:Array,required:!0}},data:function(){return{selected:""}},computed:{isSelected:function(){return this.$store.state.selectedMethod}},watch:{selected:function(){this.$store.commit("selectionMethod",this.selected)}}},j={render:function(){var e=this,n=e.$createElement,s=e._self._c||n;return s("div",[s("p",[s("label",{attrs:{for:"methodoptions"}},[e._v(e._s(e.$t("methodOptions","I need to"))+" "+e._s(e.methodType&&e.$t("methodTypes."+e.methodType)))]),e._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:e.selected,expression:"selected"}],attrs:{id:"methodoptions",name:"select"},on:{change:function(n){


C620 A2090238 */  sb      $t1, 0x0238($s0)           ## 00000238
/* 01334 80A5C624 AE00023C */  sw      $zero, 0x023C($s0)         ## 0000023C
/* 01338 80A5C628 AE000244 */  sw      $zero, 0x0244($s0)         ## 00000244
/* 0133C 80A5C62C A200037A */  sb      $zero, 0x037A($s0)         ## 0000037A
/* 01340 80A5C630 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
/* 01344 80A5C634 0C296FF6 */  jal     func_80A5BFD8
/* 01348 80A5C638 02202825 */  or      $a1, $s1, $zero            ## $a1 = 00000000
/* 0134C 80A5C63C 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
/* 01350 80A5C640 0C296FFB */  jal     func_80A5BFEC
/* 01354 80A5C644 02202825 */  or      $a1, $s1, $zero            ## $a1 = 00000000
/* 01358 80A5C648 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
/* 0135C 80A5C64C 0C29702D */  jal     func_80A5C0B4
/* 01360 80A5C650 02202825 */  or      $a1, $s1, $zero            ## $a1 = 00000000
/* 01364 80A5C654 8602001C */  lh      $v0, 0x001C($s0)           ## 0000001C
/* 01368 80A5C658 24010002 */  addiu   $at, $zero, 0x0002         ## $at = 00000002
/* 0136C 80A5C65C 54410006 */  bnel    $v0, $at, .L80A5C678
/* 01370 80A5C660 24010003 */  addiu   $at, $zero, 0x0003         ## $at = 00000003
/* 01374 80A5C664 0C297C11 */  jal     func_80A5F044
/* 01378 80A5C668 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
/* 0137C 80A5C66C 10000062 */  beq     $zero, $zero, .L80A5C7F8
/* 01380 80A5C670 A60000B8 */  sh      $zero, 0x00B8($s0)         ## 000000B8
/* 01384 80A5C674 24010003 */  addiu   $at, $zero, 0x0003         ## $at = 00000003
.L80A5C678:
/* 01388 80A5C678 5441002A */  bnel    $v0, $at, .L80A5C724
/* 0138C 80A5C67C 24010007 */  addiu   $at, $zero, 0x0007         ## $at = 00000007
/* 01390 80A5C680 0C297F2B */  jal     func_80A5FCAC
/* 01394 80A5C684 02002025 */  or      $a0, $s0, $zero            ## $a0 = 00000000
/* 01398 80A5C688 C6080028 */  lwc1    $f8, 0x0028($s0)           ## 00000028
/* 0139C 80A5C68C 8E07


eže, skrbeti, ali jih bodo lahko svobodno porabili, ali čutiti potrebe po uporabi kakršnih koli orodij za analizo verige, da bi se zaščitili pred pravnimi ali regulativnimi vprašanji.
\n
3. Nizke provizije Monera zagotavljajo prost pretok trgovine
\n
Ena najpreprostejših točk, ki jih je treba razumeti pri transakcijah Monero, je, da so transakcijske provizije neverjetno nizke in bodo dolgoročno ostale razumne zaradi emisije repa in dinamične velikosti bloka
\n
Te nizke provizije zagotavljajo, da lahko poslovanje prosto teče ne glede na preobremenjenost verige blokov, kar dodatno zmanjša psihično breme in stres udeležencev, ki morajo poskušati časovno opredeliti svoje transakcije ali čakati ure/dneve na potrditev transakcij z nizkimi provizijami. S pristojbinami, ki se danes gibljejo okoli 1 centa, lahko svobodno sklepate transakcije vseh velikosti, ne da bi vas pri tem skrbelo, da bodo pristojbine pozneje nastale.
';

  @override
  String get knowledge250Sbeconomy250Sb3250Sbtitle => 'Kako Monero edinstveno omogoča ta krožna gospodarstva?';

  @override
  String get knowledge250Sbeconomy250Sb4250Sbtext => '
 Monero je digitalna gotovina, kakršna bi morala biti. Mirne duše, zamenljivost in zasebnost transakcij z gotovino, vendar z vsemi prednostmi digitalnih, globalnih in p2p transakcij, ki so ločene od državnega nadzora ali kontrole. Ta zmožnost, da deluje kot digitalni denar, danes edinstveno omogoča krožna gospodarstva ter jim pomaga, da sčasoma rastejo in uspevajo na načine, ki jih druge kriptovalute, kot je Bitcoin, preprosto ne morejo.
';

  @override
  String get knowledge250Sbeconomy250Sb4250Sbtitle => 'Zaključek';

  @override
  String get knowledge250Sbeconomy250Sb5250Sbtext => '
Če ste radovedni in želite bolje razumeti krožno gospodarstvo ali v njem začeti sodelovati že danes, si na spodnjih povezavah oglejte odlična mesta za začetek:
\n
\n
\"Krožna gospodarstva Bitcoin brez KYC: Osvobodite trge, osvobodite svet” - Anarkio
\n


/**
 * @file    cmsis.h
 * @brief
 *
 * DAPLink Interface Firmware
 * Copyright (c) 2019, ARM Limited, All Rights Reserved
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef DEVICE_H
#define DEVICE_H

#if defined (INTERFACE_K20D5) \
    || defined (INTERFACE_K26F) \
    || defined (INTERFACE_KL26Z) \
    || defined (INTERFACE_KL27Z) \
    || defined (INTERFACE_LPC55XX)
#include "fsl_device_registers.h"
#elif defined (INTERFACE_LPC11U35)
#include "LPC11Uxx.h"
#elif defined (INTERFACE_LPC4322)
#include "LPC43xx.h"
#elif defined (INTERFACE_MAX32620)
#include "max32620.h"
#elif defined (INTERFACE_MAX32625)
#include "max32625.h"
#elif defined (INTERFACE_SAM3U2C)
#include "sam3u2c.h"
#elif defined (INTERFACE_STM32F103XB)
#include "stm32f1xx.h"
#elif defined (INTERFACE_M48SSIDAE)
#include "M480.h"
#elif defined (INTERFACE_NRF52820)
#include "nrf52820.h"
#else
#error "CMSIS core headers needed"
#endif

#endif // DEVICE_H


:
        """Test edge cases in spinner state management."""
        # Test repeated update_state calls without spinner
        for _ in range(5):
            console_ui.update_state()  # Should not fail

        # Create spinner and test repeated calls
        spinner = console_ui.status()
        with patch.object(spinner, "update_state") as mock_update:
            for _ in range(3):
                console_ui.update_state()
            assert mock_update.call_count == 3

        # Clear and test again
        console_ui.spinner = None
        console_ui.update_state()  # Should not fail

    def test_fix_addresses_original_error_trace(self, console_ui):
        """Test that our fix specifically addresses the original error from the trace.

        Original error was:
        AttributeError: 'ConsoleUI' object has no attribute 'spinner'
        at line: if self.spinner:
        """
        # The original error occurred when update_state was called
        # and the spinner attribute didn't exist

        # Ensure spinner attribute exists and is properly initialized
        assert hasattr(console_ui, "spinner")
        assert console_ui.spinner is None

        # This should work without AttributeError
        console_ui.update_state()

        # Verify the attribute is still properly managed
        assert console_ui.spinner is None


(pool_mode))
        if dim_ordering == 'th':
            x = tf.transpose(x, (0, 3, 1, 2))
    else:
        raise Exception('Unknown dim_ordering: ' + str(dim_ordering))

    if _FLOATX == 'float64':
        x = tf.cast(x, 'float64')
    return x

# RANDOMNESS

def random_normal(shape, mean=0.0, std=1.0, dtype=_FLOATX, seed=None):
    if seed is None:
        seed = np.random.randint(10e6)
    return tf.random_normal(shape, mean=mean, stddev=std,
                            dtype=dtype, seed=seed)

def random_uniform(shape, low=0.0, high=1.0, dtype=_FLOATX, seed=None):
    if seed is None:
        seed = np.random.randint(10e6)
    return tf.random_uniform(shape, minval=low, maxval=high,
                             dtype=dtype, seed=seed)


ields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify)) {
        return super.equals(obj);
      }
      emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify other = (emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify) obj;

      if (!getReportType()
          .equals(other.getReportType())) return false;
      if (!getReportValue()
          .equals(other.getReportValue())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REPORT_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getReportType().hashCode();
      hash = (37 * hash) + REPORT_VALUE_FIELD_NUMBER;
      hash = (53 * hash) + getReportValue().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static emu.grasscutter.net.proto.ClientReportNotifyOuterClass.ClientReportNotify parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)


3BC 0017701C  A0 89 00 00 */	lhz r4, 0(r9)
/* 8017B3C0 00177020  7C 0A 20 40 */	cmplw r10, r4
/* 8017B3C4 00177024  40 82 00 10 */	bne lbl_8017B3D4
/* 8017B3C8 00177028  1F FF 00 0A */	mulli r31, r31, 0xa
/* 8017B3CC 0017702C  7F FF 32 14 */	add r31, r31, r6
/* 8017B3D0 00177030  48 00 00 10 */	b lbl_8017B3E0
lbl_8017B3D4:
/* 8017B3D4 00177034  39 29 00 02 */	addi r9, r9, 2
/* 8017B3D8 00177038  38 C6 00 01 */	addi r6, r6, 1
/* 8017B3DC 0017703C  42 00 FF E0 */	bdnz lbl_8017B3BC
lbl_8017B3E0:
/* 8017B3E0 00177040  38 E7 00 01 */	addi r7, r7, 1
/* 8017B3E4 00177044  39 08 00 02 */	addi r8, r8, 2
/* 8017B3E8 00177048  2C 07 00 04 */	cmpwi r7, 4
/* 8017B3EC 0017704C  41 80 FF B8 */	blt lbl_8017B3A4
lbl_8017B3F0:
/* 8017B3F0 00177050  3B C0 00 00 */	li r30, 0
/* 8017B3F4 00177054  38 E0 00 00 */	li r7, 0
/* 8017B3F8 00177058  3C A0 80 40 */	lis r5, 0x8040
/* 8017B3FC 0017705C  38 00 00 0A */	li r0, 0xa
lbl_8017B400:
/* 8017B400 00177060  A1 23 00 38 */	lhz r9, 0x38(r3)
/* 8017B404 00177064  2C 09 00 00 */	cmpwi r9, 0
/* 8017B408 00177068  41 82 00 44 */	beq lbl_8017B44C
/* 8017B40C 0017706C  39 05 C6 28 */	addi r8, r5, -14808
/* 8017B410 00177070  38 C0 00 00 */	li r6, 0
/* 8017B414 00177074  7C 09 03 A6 */	mtctr r0
lbl_8017B418:
/* 8017B418 00177078  A0 88 00 00 */	lhz r4, 0(r8)
/* 8017B41C 0017707C  7C 09 20 40 */	cmplw r9, r4
/* 8017B420 00177080  40 82 00 10 */	bne lbl_8017B430
/* 8017B424 00177084  1F DE 00 0A */	mulli r30, r30, 0xa
/* 8017B428 00177088  7F DE 32 14 */	add r30, r30, r6
/* 8017B42C 0017708C  48 00 00 10 */	b lbl_8017B43C
lbl_8017B430:
/* 8017B430 00177090  39 08 00 02 */	addi r8, r8, 2
/* 8017B434 00177094  38 C6 00 01 */	addi r6, r6, 1
/* 8017B438 00177098  42 00 FF E0 */	bdnz


#include <jsk_recognition_utils/pcl_ros_util.h>

namespace jsk_pcl_ros
{
  template <class PointT>
  void OctreeVoxelGrid::generateVoxelCloudImpl(const sensor_msgs::PointCloud2ConstPtr& input_msg)
  {

    typename pcl::PointCloud<PointT>::Ptr cloud (new pcl::PointCloud<PointT> ());
    typename pcl::PointCloud<PointT>::Ptr cloud_voxeled (new pcl::PointCloud<PointT> ());
    pcl::fromROSMsg(*input_msg, *cloud);

    // generate octree
    typename pcl::octree::OctreePointCloud<PointT> octree(resolution_);
    // add point cloud to octree
    octree.setInputCloud(cloud);
    octree.addPointsFromInputCloud();
    // get points where grid is occupied
    typename pcl::octree::OctreePointCloud<PointT>::AlignedPointTVector point_vec;
    octree.getOccupiedVoxelCenters(point_vec);
    // put points into point cloud
    cloud_voxeled->width = point_vec.size();
    cloud_voxeled->height = 1;
    for (int i = 0; i < point_vec.size(); i++) {
      cloud_voxeled->push_back(point_vec[i]);
    }

    // publish point cloud
    sensor_msgs::PointCloud2 output_msg;
    toROSMsg(*cloud_voxeled, output_msg);
    output_msg.header = input_msg->header;
    pub_cloud_.publish(output_msg);

    // publish marker
    if (publish_marker_flag_) {
      visualization_msgs::Marker marker_msg;
      marker_msg.type = visualization_msgs::Marker::CUBE_LIST;
      marker_msg.scale.x = resolution_;
      marker_msg.scale.y = resolution_;
      marker_msg.scale.z = resolution_;
      marker_msg.header = input_msg->header;
      marker_msg.pose.orientation.w = 1.0;
      if (marker_color_ == "flat") {
        marker_msg.color = jsk_topic_tools::colorCategory20(0);
        marker_msg.color.a = marker_color_alpha_;
      }

      // compute min and max
      Eigen::Vector4f minpt, maxpt;
      pcl::getMinMax3D<PointT>(*cloud_voxeled, minpt, maxpt);
      PointT p;
      for (size_t i = 0; i < cloud_voxeled->size(); i++) {
        p = cloud_voxeled->at(i);
        geometry_msgs::Point point_ros;
        point_ros.x = p.x;
        point_ros.y = p.y;
        point_ros.z = p.z;
        marker_msg.points.push_back(point_ros);
        if (marker_color_ == "flat") {
          marker_msg.colors.push_back(jsk_topic_tools::colorCategory20(0));
        }
        else if (marker_color_ == "z") {
          marker_msg.colors.push_back(jsk_topic_tools::heatColor((p.z - minpt[2]) / (maxpt[2] - minpt[2])));
        }
        else if (marker_color_ == "x") {
          marker_msg.colors.push_back(jsk_topic_tools::heatColor((p.x - minpt[0]) / (maxpt[0] - minpt[0])));
        }
        else if (marker_color_ == "y") {
          marker_msg.colors.push_back(jsk_topic_tools::heatColor((p.y - minpt[1]) / (maxpt[1] - minpt[1])));
        }
        marker_msg.colors[marker_msg.colors.size() - 1].a = marker_color_alpha_;
      }
      pub_marker_.publish(marker_msg);

      // publish marker_array also for convenience
      visualization_msgs::Marker


# Record the data
:record_the_data

# Notify the user
echo ANSI_9 & "**One moment, recording data...**"

# Prep the CK figfile
setVar $figfile "_ck_" & GAMENAME & ".figs"
delete $figfile

# Init the ftr string
setVar $ftr_str ""

# Loop thru the fig array
setVar $idx 1
while ($idx <= SECTORS)
   # Use a space or no?
   if ($idx = 1)
      setVar $pad ""
   else
      setVar $pad " "
   end

   # Do the data thing
   if ($figs[$idx] = TRUE)
      setSectorParameter $idx "FIGSEC" TRUE
      setVar $ftr_str $ftr_str & $pad & $idx
   else
      setSectorParameter $idx "FIGSEC" FALSE
      setVar $ftr_str $ftr_str & $pad & "0"
   end

   # Inc the idx
   add $idx 1
end

# Write the ck fig file
write $figfile $ftr_str

# Do the math
setPrecision 2
setVar $percent (($fcnt * 100) / (SECTORS - 11))
setPrecision 0

# Send final banner
send "'Dnyarri's Quick Figs - " & $fcnt & " sectors figged (" & $percent & "%).*"

# And we're done!
halt

# ---------------------------------------------------------
# I like to seperate my subroutines like this. It makes it
# easier to read them later.
# ---------------------------------------------------------

:ansi_off
   send " c n"
   waitFor "(1) ANSI graphics"
   getWord CURRENTLINE $ansi 5
   if ($ansi = "On")
      setVar $toggled TRUE
      send "1 q q"
   else
      setVar $toggled FALSE
      send "q q"
   end
   waitFor "<Computer deactivated>"
   echo ANSI_12 & "...*"
return

:ansi_on
   if ($toggled = TRUE)
        send " c n 1 q q"
        waitFor "<Computer deactivated>"
   end
return

# ---------------------------------------------------------
import { GenericPortDeviceBase } from "./GenericPortDeviceBase";
import { IMemoryDevice } from "../../abstraction/IMemoryDevice";
import { ISpectrumVm } from "../../abstraction/ISpectrumVm";
import { ScreenRenderingPhase } from "../screen/ScreenRenderingPhase";

/**
 * This class implements a base class for port handling that implements the
 * "floating bus" feature of the ULA.
 * http://ramsoft.bbk.org.omegahg.com/floatingbus.html
 */
export class UlaGenericPortDeviceBase extends GenericPortDeviceBase {
    protected memoryDevice: IMemoryDevice | undefined;

    /**
     * Signs that the device has been attached to the Spectrum virtual machine
     * @param hostVm Host Spectrum virtual machine
     */
    onAttachedToVm(hostVm: ISpectrumVm): void {
        super.onAttachedToVm(hostVm);
        this.memoryDevice = hostVm.memoryDevice;
    }

    /**
     * Define how to handle an unattached port
     * @param addr Port address
     * @returns Port value for the unhandled port address
     */
    unhandledRead(addr: number): number {
        if (!this.hostVm || !this.screenDevice || !this.memoryDevice) {
            return 0xFF;
        }
        const tact = this.hostVm.currentFrameTact % this.screenDevice.renderingTactTable.length;
        const rt = this.screenDevice.renderingTactTable[tact];
        let memAddr = 0;
        switch (rt.phase) {
            case ScreenRenderingPhase.BorderFetchPixel:
            case ScreenRenderingPhase.DisplayB1FetchB2:
            case ScreenRenderingPhase.DisplayB2FetchB1:
                memAddr = rt.pixelByteToFetchAddress;
                break;
            case ScreenRenderingPhase.BorderFetchPixelAttr:
            case ScreenRenderingPhase.DisplayB1FetchA2:
            case ScreenRenderingPhase.DisplayB2FetchA1:
                memAddr = rt.attributeToFetchAddress;
                break;
        }

        if (memAddr === 0) {
            return 0xFF;
        }
        return this.memoryDevice.read(memAddr, true);
    }
}module nurdz.game
{
    /**
     * This enumeration represents all of the potential states that the state
     * machine m


func BenchmarkEncodeBatchJobExpirePurge(b *testing.B) {
	v := BatchJobExpirePurge{}
	var buf bytes.Buffer
	msgp.Encode(&buf, &v)
	b.SetBytes(int64(buf.Len()))
	en := msgp.NewWriter(msgp.Nowhere)
	b.ReportAllocs()
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		v.EncodeMsg(en)
	}
	en.Flush()
}

func BenchmarkDecodeBatchJobExpirePurge(b *testing.B) {
	v := BatchJobExpirePurge{}
	var buf bytes.Buffer
	msgp.Encode(&buf, &v)
	b.SetBytes(int64(buf.Len()))
	rd := msgp.NewEndlessReader(buf.Bytes(), b)
	dc := msgp.NewReader(rd)
	b.ReportAllocs()
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		err := v.DecodeMsg(dc)
		if err != nil {
			b.Fatal(err)
		}
	}
}
// Copyright (c) 2015-2021 MinIO, Inc.
//
// This file is part of MinIO Object Storage stack
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

package cmd

import (
	"errors"
	"maps"
	"net/http"
	"time"

	jwtgo "github.com/golang-jwt/jwt/v4"
	jwtreq "github.com/golang-jwt/jwt/v4/request"
	"github.com/minio/minio/internal/auth"
	xjwt "github.com/minio/minio/internal/jwt"
	"github.com/minio/pkg/v3/policy"
)

const (
	jwtAlgorithm = "Bearer"

	// Default JWT token for web handlers is one day.
	defaultJWTExpiry = 24 * time.Hour

	// Inter-node JWT token expiry is 100 years approx.
	defaultInterNodeJWTExpiry = 100 * 365 * 24 * time.Hour
)

var (
	errInvalidAccessKeyID = errors.New("The access key ID you provided does not exist in our records")
	errAccessKeyDisabled  = errors.New("The access key you provided is disabled")
	errAuthentication     = errors.New("Authentication failed, check your access credentials")
	errNoAuthToken        = errors.New("JWT token missing")
	errSkewedAuthTime     = errors.New("Skewed authentication date/time")
	errMalformedAuth      = errors.New("Malformed authentication input")
)

func authenticateNode(accessKey, secretKey string) (string, error) {
	claims := xjwt.NewStandardClaims()
	claims.SetExpiry(UTCNow().Add(defaultInterNodeJWTExpiry))
	claims.SetAccessKey(accessKey)

	jwt := jwtgo.NewWithClaims(jwtgo.SigningMethodHS512, claims)
	return jwt.SignedString([]byte(secretKey))
}

// Check if the request is authenticated.
// Returns nil if the request is authenticated. errNoAuthToken if token missing.
// Returns errAuthentication for all other errors.
func metricsRequestAuthenticate(req *http.Request) (*xjwt.MapClaims, []string, bool, error) {
	token, err := jwtreq.AuthorizationHeaderExtractor.ExtractToken(req)
	if err != nil {
		if err == jwtreq.ErrNoTokenInRequest {
			return nil, nil, false, errNoAuthToken


uFA20'));
assertEquals('"___\uFAA7"', JSON.stringify('___\uFAA7'));
assertEquals('"___\uFBCD"', JSON.stringify('___\uFBCD'));
assertEquals('"___\uFBF7"', JSON.stringify('___\uFBF7'));
assertEquals('"___\uFC40"', JSON.stringify('___\uFC40'));
assertEquals('"___\uFC4B"', JSON.stringify('___\uFC4B'));
assertEquals('"___\uFC51"', JSON.stringify('___\uFC51'));
assertEquals('"___\uFC5E"', JSON.stringify('___\uFC5E'));
assertEquals('"___\uFC67"', JSON.stringify('___\uFC67'));
assertEquals('"___\uFC8B"', JSON.stringify('___\uFC8B'));
assertEquals('"___\uFE32"', JSON.stringify('___\uFE32'));
assertEquals('"___\uFFC4"', JSON.stringify('___\uFFC4'));
assertEquals('"___\uFFFD"', JSON.stringify('___\uFFFD'));
assertEquals('"___\uFFFE"', JSON.stringify('___\uFFFE'));
assertEquals('"___\uFFFF"', JSON.stringify('___\uFFFF'));

// A random selection of astral symbols, i.e. surrogate pairs, i.e.
// code points from U+010000 to U+10FFFF.
assertEquals('"___\u{10000}"', JSON.stringify('___\u{10000}'));
assertEquals('"___\u{11DE7}"', JSON.stringify('___\u{11DE7}'));
assertEquals('"___\u{15997}"', JSON.stringify('___\u{15997}'));
assertEquals('"___\u{187B0}"', JSON.stringify('___\u{187B0}'));
assertEquals('"___\u{190B2}"', JSON.stringify('___\u{190B2}'));
assertEquals('"___\u{1BF79}"', JSON.stringify('___\u{1BF79}'));
assertEquals('"___\u{1C624}"', JSON.stringify('___\u{1C624}'));
assertEquals('"___\u{1D9F4}"', JSON.stringify('___\u{1D9F4}'));
assertEquals('"___\u{24149}"', JSON.stringify('___\u{24149}'));
assertEquals('"___\u{2521C}"', JSON.stringify('___\u{2521C}'));
assertEquals('"___\u{2762D}"', JSON.stringify('___\u{2762D}'));
assertEquals('"___\u{2930B}"', JSON.stringify('___\u{2930B}'));
assertEquals('"___\u{29EC4}"', JSON.stringify('___\u{29EC4}'));
assertEquals('"___\u{29F9A}"', JSON.stringify('___\u{29F9A}'));
assertEquals('"___\u{2A27D}"', JSON.stringify('___\u{2A27D}'));
assertEquals('"___\u{2B363}"', JSON.stringify('___\u{2B363}'));
assertEquals('"___\u{2C037}"', JSON.stringify('___\u{2C037}'));
assertEquals('"___\u{2FAE0}"', JSON.stringify('___\u{2FAE0}'));
assertEquals('"___\u{2FFCF}"', JSON.stringify('___\u{2FFCF}'));
assertEquals('"___\u{32C1C}"', JSON.stringify('___\u{32C1C}'));
assertEquals('"___\u{33DA8}"', JSON.stringify('___\u{33DA8}'));
assertEquals('"___\u{3DCA4}"', JSON.stringify('___\u{3DCA4}'));
assertEquals('"___\u{44FA0}"', JSON.stringify('___\u{44FA0}'));
assertEquals('"___\u{45618}"', JSON.stringify('___\u{45618}'));
assertEqua


: "\f08d\f08d"; }

.fa-thumb-tack {
  --fa: "\f08d";
  --fa--fa: "\f08d\f08d"; }

.fa-trophy {
  --fa: "\f091";
  --fa--fa: "\f091\f091"; }

.fa-person-praying {
  --fa: "\f683";
  --fa--fa: "\f683\f683"; }

.fa-pray {
  --fa: "\f683";
  --fa--fa: "\f683\f683"; }

.fa-hammer {
  --fa: "\f6e3";
  --fa--fa: "\f6e3\f6e3"; }

.fa-hand-peace {
  --fa: "\f25b";
  --fa--fa: "\f25b\f25b"; }

.fa-rotate {
  --fa: "\f2f1";
  --fa--fa: "\f2f1\f2f1"; }

.fa-sync-alt {
  --fa: "\f2f1";
  --fa--fa: "\f2f1\f2f1"; }

.fa-spinner {
  --fa: "\f110";
  --fa--fa: "\f110\f110"; }

.fa-robot {
  --fa: "\f544";
  --fa--fa: "\f544\f544"; }

.fa-peace {
  --fa: "\f67c";
  --fa--fa: "\f67c\f67c"; }

.fa-gears {
  --fa: "\f085";
  --fa--fa: "\f085\f085"; }

.fa-cogs {
  --fa: "\f085";
  --fa--fa: "\f085\f085"; }

.fa-warehouse {
  --fa: "\f494";
  --fa--fa: "\f494\f494"; }

.fa-arrow-up-right-dots {
  --fa: "\e4b7";
  --fa--fa: "\e4b7\e4b7"; }

.fa-splotch {
  --fa: "\f5bc";
  --fa--fa: "\f5bc\f5bc"; }

.fa-face-grin-hearts {
  --fa: "\f584";
  --fa--fa: "\f584\f584"; }

.fa-grin-hearts {
  --fa: "\f584";
  --fa--fa: "\f584\f584"; }

.fa-dice-four {
  --fa: "\f524";
  --fa--fa: "\f524\f524"; }

.fa-sim-card {
  --fa: "\f7c4";
  --fa--fa: "\f7c4\f7c4"; }

.fa-transgender {
  --fa: "\f225";
  --fa--fa: "\f225\f225"; }

.fa-transgender-alt {
  --fa: "\f225";
  --fa--fa: "\f225\f225"; }

.fa-mercury {
  --fa: "\f223";
  --fa--fa: "\f223\f223"; }

.fa-arrow-turn-down {
  --fa: "\f149";
  --fa--fa: "\f149\f149"; }

.fa-level-down {
  --fa: "\f149";
  --fa--fa: "\f149\f149"; }

.fa-person-falling-burst {
  --fa: "\e547";
  --fa--fa: "\e547\e547"; }

.fa-award {
  --fa: "\f559";
  --fa--fa: "\f559\f559"; }

.fa-ticket-simple {
  --fa: "\f3ff";
  --fa--fa: "\f3ff\f3ff"; }

.fa-ticket-alt {
  --fa: "\f3f


.Log.Infof("module: %s stopped!", name)
	}
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: test.proto

package testdata

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type Ping struct {
	Content              string   `protobuf:"bytes,1,opt,name=Content" json:"Content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Ping) Reset()         { *m = Ping{} }
func (m *Ping) String() string { return proto.CompactTextString(m) }
func (*Ping) ProtoMessage()    {}
func (*Ping) Descriptor() ([]byte, []int) {
	return fileDescriptor_test_ab5a0806b9eb7ae2, []int{0}
}
func (m *Ping) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ping.Unmarshal(m, b)
}
func (m *Ping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ping.Marshal(b, m, deterministic)
}
func (dst *Ping) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ping.Merge(dst, src)
}
func (m *Ping) XXX_Size() int {
	return xxx_messageInfo_Ping.Size(m)
}
func (m *Ping) XXX_DiscardUnknown() {
	xxx_messageInfo_Ping.DiscardUnknown(m)
}

var xxx_messageInfo_Ping proto.InternalMessageInfo

func (m *Ping) GetContent() string {
	if m != nil {
		return m.Content
	}
	return ""
}

type Pong struct {
	Content              string   `protobuf:"bytes,2,opt,name=Content" json:"Content,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Pong) Reset()         { *m = Pong{} }
func (m *Pong) String() string { return proto.CompactTextString(m) }
func (*Pong) ProtoMessage()    {}
func (*Pong) Descriptor() ([]byte, []int) {
	return fileDescriptor_test_ab5a0806b9eb7ae2, []int{1}
}
func (m *Pong) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Pong.Unmarshal(m, b)
}
func (m *Pong) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Pong.Marshal(b, m, deterministic)
}
func (dst *Pong) XXX_Merge(src proto.Messa


r",
      "1appará",
      "ap2p1árn",
      "ap1ph",
      "app1ing",
      "ap1pla",
      "ap1pri",
      "ap1pró",
      "ap1p2s",
      "ap1py",
      "ap2res",
      "ap2réd",
      "a1p2rém",
      "ap2rés.",
      "a1p2rím",
      "2apro",
      "ap2roc",
      "a1p2rod",
      "1apród",
      "1aprózó",
      "ap2s1i2kon",
      "ap2síz",
      "aps1ork",
      "apsz1ert",
      "ap1szf",
      "apsz2t",
      "aptára2d",
      "aptá2r1ada",
      "ap1t2r",
      "apuá2",
      "a2p1udv",
      "apu1p2",
      "apus3s",
      "a2p1u2tas",
      "a2p1után",
      "a2putc",
      "a2p1új",
      "a2p1üd",
      "a2p1üg",
      "a2p1ü2l",
      "a2p1ün",
      "a2p1üt",
      "a2p1üv",
      "a2p1üz",
      "ap1űr",
      "ap1wh",
      "ara2b1ár",
      "ara2b1í2",
      "ar1abla",
      "2arad",
      "ar1a2data",
      "ar1a2dato",
      "ar1a2datr",
      "2arag",
      "ara2g1e",
      "2araj",
      "ar1ajkáró",
      "2arak",
      "a2r1a2kol",
      "ara2kóh",
      "ara2kói",
      "ara2kós",
      "ara2kót",
      "a2r1akt.",
      "ar1alk",
      "a2r1alm",
      "a2r1ana",
      "1a2rann",
      "arany1a2gá",
      "ara2nyal",
      "1aranyb",
      "1aranyh",
      "ara2nyí",
      "1aranyk",
      "1aranyn",
      "1aranyr",
      "1aranys",
      "ara2pa.",
      "ar1arc",
      "1arasz.",
      "arasz2t1e",
      "ar1aszú",
      "ara2tal",
      "ara2tel",
      "ara2tin",
      "ara2t1ő2",
      "aratű2",
      "ara2tűr",
      "ar1aul",
      "aravasz1",
      "1a2raw",
      "ara2zon",
      "2arác",
      "a2r1ác.",
      "a2r1á2csi",
      "a2rácsom",
      "a2r1ág.",
      "a2r1á2ga.",
      "a2r1á2gai",
      "a2r1á2gak",
      "a2rágan",
      "a2r1á2gat",
      "ará2gáb",
      "ará2gáh",
      "ará2gán",
      "ará2gár",
      "ará2gát",
      "ará2gáv",
      "a2r1ágb",
      "a2r1áge",
      "a2r1á2gé",
      "a2r1ágf",
      "a2r1ágg",
      "a2r1ágh",


.push_back(line.to_owned());
    }
}
<reponame>EarthEngineering/codec
//! Codec
//!
//! A simple library providing an `Address` struct enabling
//! encoding/decoding of EARTH addresses.
//!
//! ## Quickstart
//!
//! ```rust
//! use earth_codec::{Address, Network, Scheme};
//!
//! fn main() {
//! // Decode earth address
//! let earth_addr: &str = "earthtest:qp78r5zdgr53xszxlycksftf95wcv5a8q5khw5038k";
//! let mut addr = Address::decode(earth_addr).unwrap();
//!
//! // Change the base58 address to a test network earth address
//! addr.network = Network::Test;
//! addr.scheme = Scheme::Earth;
//!
//! // Encode earth address
//! let earth_address: String = addr.encode().unwrap();
//!
//! println!("{:#?}", earth_address);
//! // earthtest:qp78r5zdgr53xszxlycksftf95wcv5a8q5khw5038k
//! }
//! ```
//!

mod california;
mod california_errors;
mod earth;
mod earth_errors;
mod errors;
mod gabriel;
mod gabriel_errors;
mod phish;
mod phish_errors;

pub use california::CaliforniaCodec;
pub use california_errors::CaliforniaError;
pub use earth::EarthCodec;
pub use earth_errors::EarthError;
pub use errors::*;
pub use gabriel::GabrielCodec;
pub use gabriel_errors::GabrielError;
pub use phish::PhishCodec;
pub use phish_errors::PhishError;

/// EARTH Networks
#[derive(PartialEq, Clone, Debug, Copy)]
pub enum Network {
    /// Main network
    Main,
    /// Test network
    Test,
    /// Regression test network
    Regtest,
}

/// Address encoding scheme
#[derive(PartialEq, Clone, Debug)]
pub enum Scheme {
    /// Earth Address encoding
    Earth,
    /// California Address encoding
    California,
    /// Phish Address encoding
    Phish,
    /// Gabriel Address encoding
    Gabriel,
}

/// Intepretation of the Hash160 bytes
#[derive(PartialEq, Clone, Debug, Copy)]
pub enum HashType {
    /// Public key hash
    Key,
    /// Script hash
    Script,
    /// Account,
    Account,
}

/// Struct containing the bytes and metadata of an EARTH address.
/// This is yeilded during decoding or consumed during encoding.
#[derive(PartialEq, Clone, Debug)]
pub struct Address {
    /// Address bytes
    pub body: Vec<u8>,
    /// Encoding scheme
    pub scheme: Scheme,
    /// Hash type
    pub hash_type: HashType,
    /// Network
    pub network: Network,
}

/// Creates an empty `Address` struct, with the `body` bytes the empty vector,
/// `Scheme::Earth`, `HashType::Key`, and `Network::Main`.
impl Default for Address {
    fn default() -> Self {
        Address {
            body: vec![],
            scheme: Scheme::Earth,
            hash_type: HashType::Key,
            network: Network::Main,
        }
    }
}

impl<'a> AsRef<[u8]> for Address {
    fn as_ref(&self) -> &[u8] {
        &self.body
    }
}

impl Address {
    /// Create a new address
    pub fn new(body: Vec<u8>, scheme: Scheme, hash_type: HashType, network: Network) -> Self {
        Address {
            body,
            scheme,
            hash_type,
            network,
        }
    }

    /// Take address bytes
    pub fn into_body(self) -> Vec<u8> {
        self.body
    }

    /// Attempt to convert the raw address bytes to a string
    pub fn encode(&self) -> Result<String, AddressError> {
        match self.scheme {
            Scheme::Earth => EarthCodec::encode(
                &self.body,
                self.hash_type.to_owned(),
                self.network.to


on-user {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2303234b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E"); }

/*
  Definitions for STMicroelectronics icons (https://brandportal.st.com/document/26).
*/
span.icon-st-update {
  background-image: url("Update.svg"); }
span.icon-st-add {
  background-image: url("Add button.svg"); }

/*
  Definitions for utilities and helper classes.
*/
/* Utility module CSS variable definitions */
:root {
  --generic-border-color: rgba(0, 0, 0, 0.3);
  --generic-box-shadow: 0 0.2857142857rem 0.2857142857rem 0 rgba(0, 0, 0, 0.125), 0 0.1428571429rem 0.1428571429rem -0.1428571429rem rgba(0, 0, 0, 0.125); }

.hidden {
  display: none !important; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(100%) !important;
  clip-path: inset(100%) !important;
  overflow: hidden !important; }

.bordered {
  border: 0.0714285714rem solid var(--generic-border-color) !important; }

.rounded {
  border-radius: var(--universal-border-radius) !important; }

.circular {
  border-radius: 50% !important; }

.shadowed {
  box-shadow: var(--generic-box-shadow) !important; }

.responsive-margin {
  margin: calc(var(--universal-margin) / 4) !important; }
  @media screen and (min-width: 500px) {
    .responsive-margin {
      margin: calc(var(--universal-margin) / 2) !important; } }
  @media screen and (min-width: 1280px) {
    .responsive-margin {
      margin: var(--universal-margin) !important; } }

.responsive-padding {
  padding: calc(var(--universal-padding) / 4) !important; }
  @media screen and (min-width: 500px) {
    .responsive-padding {
      padding: calc(var(--universal-padding) / 2) !important; } }
  @media screen and (min-width: 1280px) {
    .responsive-padding {
      padding: var(--universal-padding)


\assets/svg/Reload 1.svg)
/// {@endtemplate}

/// {@template assets_generator.assets_svg_undo_up_svg.preview}
/// ![](d:\code\novel_flutter_bit\assets/svg/Undo_Up.svg)
/// {@endtemplate}

/// {@template assets_generator.assets_svg_empty_svg.preview}
/// ![](d:\code\novel_flutter_bit\assets/svg/empty.svg)
/// {@endtemplate}

/// {@template assets_generator.assets_svg_hot_svg.preview}
/// ![](d:\code\novel_flutter_bit\assets/svg/hot.svg)
/// {@endtemplate}

// ignore_for_file: camel_case_types, unused_element
class _ {}// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'search_view_model.dart';

// **************************************************************************
// RiverpodGenerator
// **************************************************************************

String _$newSearchViewModelHash() =>
    r'eac133dc9ead0c2f10d3a97a1ae9bf708167b8d2';

/// Copied from Dart SDK
class _SystemHash {
  _SystemHash._();

  static int combine(int hash, int value) {
    // ignore: parameter_assignments
    hash = 0x1fffffff & (hash + value);
    // ignore: parameter_assignments
    hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
    return hash ^ (hash >> 6);
  }

  static int finish(int hash) {
    // ignore: parameter_assignments
    hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
    // ignore: parameter_assignments
    hash = hash ^ (hash >> 11);
    return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
  }
}

abstract class _$NewSearchViewModel
    extends BuildlessAutoDisposeAsyncNotifier<SearchState> {
  late final String searchKey;

  FutureOr<SearchState> build({
    required String searchKey,
  });
}

/// 搜索页
/// 时间 2024-9-29
/// 7-bit
///
/// Copied from [NewSearchViewModel].
@ProviderFor(NewSearchViewModel)
const newSearchViewModelProvider = NewSearchViewModelFamily();

/// 搜索页
/// 时间 2024-9-29
/// 7-bit
///
/// Copied from [NewSearchViewModel].
class NewSearchViewModelFamily extends Family<AsyncValue<SearchState>> {
  /// 搜索页
  /// 时间 2024-9-29
  /// 7-bit
  ///
  /// Copied from [NewSearchViewModel].
  const NewSearchViewModelFamily();

  /// 搜索页
  /// 时间 2024-9-29
  /// 7-bit
  ///
  /// Copied from [NewSearchViewModel].
  NewSearchViewModelProvider call({
    required String searchKey,
  }) {
    return NewSearchViewModelProvider(
      searchKey: searchKey,
    );
  }

  @override
  NewSearchViewModelProvider getProviderOverride(
    covariant NewSearchViewModelProvider provider,
  ) {
    return call(
      searchKey: provider.searchKey,
    );
  }

  static const Iterable<ProviderOrFamily>? _dependencies = null;

  @override
  Iterable<ProviderOrFamily>? get dependencies => _dependencies;

  static const Iterable<ProviderOrFamily>? _allTransitiveDependencies = null;

  @override
  Iterable<ProviderOrFamily>? get allTransitiveDependencies =>
      _allTransitiveDependencies;

  @override
  String? get name => r'newSearchViewModelProvider';
}

/// 搜索页
/// 时间 2024-9-29
/// 7-bit
///
/// Copied from [NewSearchViewModel].
class NewSearchViewModelProvider extends AutoDisposeAsyncNotifierProviderImpl<
    NewSearchViewModel, SearchState> {
  /// 搜索页
  /// 时间 2024-9-29
  /// 7-bit
  ///
  /// Copied from [NewSearchViewModel].
  NewSearchViewModelProvider({
    required String searchKey,
  }) : this._internal(
          () => NewSearchVie


en.GenerateEveCerts(cfg.Eden.CertsDir, cfg.Adam.CertsDomain, cfg.Adam.CertsIP, cfg.Adam.CertsEVEIP, cfg.Eve.CertsUUID,
				cfg.Eve.DevModel, cfg.Eve.Ssid, cfg.Eve.Arch, wifiPSK, grubOptions, cfg.Adam.APIv1); err != nil {
				return fmt.Errorf("cannot GenerateEveCerts: %w", err)
			}
			log.Info("GenerateEveCerts done")
		} else {
			if err := eden.PutEveCerts(cfg.Eden.CertsDir, cfg.Eve.DevModel, cfg.Eve.Ssid, cfg.Eve.Arch, wifiPSK); err != nil {
				return fmt.Errorf("cannot GenerateEveCerts: %w", err)
			}
			log.Info("GenerateEveCerts done")
		}
	} else {
		log.Info("GenerateEveCerts done")
		log.Infof("Certs already exists in certs dir: %s", cfg.Eden.CertsDir)
	}
	if zedControlURL == "" {
		err := eden.GenerateEVEConfig(cfg.Eve.DevModel, cfg.Eden.CertsDir, cfg.Adam.CertsDomain, cfg.Adam.CertsEVEIP,
			cfg.Adam.Port, cfg.Adam.APIv1, softSerial, cfg.Eve.BootstrapFile, cfg.IsSdnEnabled())
		if err != nil {
			return fmt.Errorf("cannot GenerateEVEConfig: %w", err)
		}
		log.Info("GenerateEVEConfig done")
	} else {
		err := eden.GenerateEVEConfig(cfg.Eve.DevModel, cfg.Eden.CertsDir, zedControlURL, "", 0,
			false, softSerial, cfg.Eve.BootstrapFile, cfg.IsSdnEnabled())
		if err != nil {
			return fmt.Errorf("cannot GenerateEVEConfig: %w", err)
		}
		log.Info("GenerateEVEConfig done")
	}
	if _, err := os.Lstat(eveConfigDir); !os.IsNotExist(err) {
		//put files from config folder to generated directory
		if err := utils.CopyFolder(utils.ResolveAbsPath(eveConfigDir), cfg.Eden.CertsDir); err != nil {
			return fmt.Errorf("CopyFolder: %w", err)
		}
	}
	if zedControlURL != "" {
		log.Printf("Please use %s as Onboarding Key", defaults.OnboardUUID)
		if softSerial != "" {
			log.Printf("use %s as Serial Number", softSerial)
		}
		log.Printf("To onboard EVE onto %s", zedControlURL)
	}
	return nil
}

func setupSdn(cfg EdenSetupArgs) error {
	if err := os.MkdirAll(cfg.Sdn.ConfigDir, 0777); err != nil {
		return fmt.Errorf("failed to create directory for SDN config files: %w", err)
	}
	// Try to pull the eden-sdn container.
	sdnImage := fmt.Sprintf("%s:%s", defaults.DefaultEdenSDNContainerRef, cfg.Sdn.Version)
	err := utils.PullImage(sdnImage)
	if err != nil {
		return fmt.Errorf("failed to pull eden-sdn container: %w\n"+
			"Did you forget to build it with 'make push-multi-arch-sdn' or 'make build-docker'?",
			err)
	}
	// Retrieve Eden-SDN VM qcow2 image.
	imageDir := filepath.Dir(cfg.Sdn.ImageFile)
	_ = os.MkdirAll(imageDir, 0777)
	volumeMap := map[string]string{"/out": imageDir}
	u, err := utils.RunDockerCommand(sdnImage, "-f qcow2 image", volumeMap)
	if err != nil {
		return fmt.Errorf("failed to extract


6c34.9-34.9 42.2-101.5-7.2-142.2z"]},nz={prefix:"fas",iconName:"thermometer-empty",icon:[256,512,[],"f2cb","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},oz={prefix:"fas",iconName:"thermometer-full",icon:[256,512,[],"f2c7","M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z"]},tz={prefix:"fas",iconName:"thermometer-half",icon:[256,512,[],"f2c9","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},rz={prefix:"f


3) {
        background: $danger;
      }
      &:nth-child(4) {
        background: $warning;
      }
      &:nth-child(5) {
        background: $info;
      }
      .card-header {
        a {
          &[aria-expanded="true"] {
            color: inherit;
            &:before {
              content: "\e648";
            }
          }
          &[aria-expanded="false"] {
            &:before {
              content: "\e64b";
            }
          }
        }
      }
    }
  }
}
/* Mail List Container */

.email-wrapper {
	.mail-list-container {
		border-left: 1px solid $border-color;
		height: 100%;
		padding-left: 0;
		padding-right: 0;

		a {
			text-decoration: none;
		}

		.mail-list {
			border-bottom: 1px solid $border-color;
			display: flex;
			flex-direction: row;
			padding: 10px 15px;
			width: 100%;

			&:last-child {
				border-bottom: none;
			}

			.form-check {
				margin-top: 12px;
				width: 11%;
				min-width: 20px;
			}

			.content {
				width: 83%;
				padding-left: 0;
				padding-right: 0;

				.sender-name {
					font-size: $default-font-size;
					font-weight: 400;
					@extend %ellipsor;
					max-width: 95%;
				}

				.message_text {
					margin: 0;
					max-width: 93%;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: nowrap;
					@extend .text-muted;
				}
			}

			.details {
				@extend .d-flex;
				@extend .justify-content-end;
				width: 5.5%;

				.date {
					text-align: right;
					margin: auto 15px auto 0;
					white-space: nowrap;
					@extend .text-muted;
				}

				i {
					margin: auto 0;
					color: #ddd;

					&.favorite {
						color: $warning;
					}
				}
			}

			&.new_mail {
				background: color(gray-lightest);

				.details {
					.date {
						color: color(black);
					}
				}
			}
		}
	}
}
/* Toast */

.jq-toast-wrap {
    .jq-icon-success {
        background-color: theme-color("success");
    }
    .jq-icon-info {
        background-color: theme-color("info");
    }
    .jq-icon-warning {
        background-color: theme-color("warning");
    }
    .jq-icon-error {
        background-color: theme-color("danger");
    }
}.mapael {
    svg {
        max-width: 100%;
    }
}/* Jvectormap */

.jvectormap-container {
    background: $white;
}/* Dropify */

.dropify-wrapper{
	border: 2px dashed $border-color;
	@include border-radius(7px);
	&:hover{
		background-size: 30px 30px;
		background-image: -webkit-linear-gradient(135deg,#F2F7F8 25%,transparent 25%,transparent 50%,#F2F7F8 50%,#F2F7F8 75%,transparent 75%,transparent);
		background-image: linear-gradient(135deg,#F2F7F8 25%,transparent 25%,transparent 50%,#F2F7F8 50%,#F2F7F8 75%,transparent 75%,transparent);
		-webkit-animation: stripes 2s linear infinite;
		animation: stripes 2s linear infinite;
	}
	.dropify-message{
		span.file-icon{
			&:before {
				display: inline-block;
				font: normal normal normal 24px/1 "themify";
				font-size


 "DocumentCollections")]
            pub collections: Vec<Collection>,
            #[serde(rename = "_count")]
            pub count: u32,
        }

        let response: Response = serde_json::from_slice(&*body)?;

        Ok(Self {
            rid: response._rid,
            collections: response.collections,
            count: response.count,
            last_state_change: last_state_change_from_headers(&headers)?,
            resource_quota: resource_quota_from_headers(&headers)?,
            resource_usage: resource_usage_from_headers(&headers)?,
            schema_version: schema_version_from_headers(&headers)?.to_owned(),
            alt_content_path: alt_content_path_from_headers(&headers)?.to_owned(),
            content_path: content_path_from_headers(&headers)?.to_owned(),
            charge: request_charge_from_headers(&headers)?,
            service_version: service_version_from_headers(&headers)?.to_owned(),
            activity_id: activity_id_from_headers(&headers)?,
            session_token: session_token_from_headers(&headers)?,
            gateway_version: gateway_version_from_headers(&headers)?.to_owned(),
            continuation_token: continuation_token_from_headers_optional(&headers)?,
        })
    }
}

impl Continuable for ListCollectionsResponse {
    fn continuation(&self) -> Option<String> {
        self.continuation_token.clone()
    }
}
<gh_stars>0
//! Schema encoding module used to work with Introspection result.
//!
//! More information on Schema Definition language(SDL) can be found in [this
//! documentation](https://www.apollographql.com/docs/apollo-server/schema/schema/).
//!
use sdl_encoder::{
    Directive, EnumDef, EnumValue, Field, InputField, InputObjectDef, InputValue, InterfaceDef,
    ObjectDef, ScalarDef, Schema as SDL, SchemaDef, Type_, UnionDef,
};
use serde::Deserialize;
use std::convert::TryFrom;

use crate::operations::graph::introspect::runner::graph_introspect_query;

type FullTypeField = graph_introspect_query::FullTypeFields;
type FullTypeInputField = graph_introspect_query::FullTypeInputFields;
type FullTypeFieldArg = graph_introspect_query::FullTypeFieldsArgs;
type IntrospectionResult = graph_introspect_query::ResponseData;
type SchemaMutationType = graph_introspect_query::GraphIntrospectQuerySchemaMutationType;
type SchemaQueryType = graph_introspect_query::GraphIntrospectQuerySchemaQueryType;
type SchemaType = graph_introspect_query::GraphIntrospectQuerySchemaTypes;
type SchemaDirective = graph_introspect_query::GraphIntrospectQuerySchemaDirectives;
type SchemaSubscriptionType = graph_introspect_query::GraphIntrospectQuerySchemaSubscriptionType;
type __TypeKind = graph_introspect_query::__TypeKind;

// Represents GraphQL types we will not be encoding to SDL.
const GRAPHQL_NAMED_TYPES: [&str; 12] = [
    "__Schema",
    "__Type",
    "__TypeKind",
    "__Field",
    "__InputValue",
    "__EnumValue",
    "__DirectiveLocation",
    "__Directive",
    "Boolean",
    "String",
    "Int",
    "ID",
];

// Represents GraphQL directives we will not be encoding to SDL.
const SPECIFIED_DIRECTIVES: [&str; 3] = ["skip", "include", "deprecated"];

/// A representation of a GraphQL Schema.
///
/// Contains Schema Types and Directives.
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Schema {
    types: Vec<SchemaType>,
    directives: Vec<SchemaDirective>,
    mutation_type: Option<SchemaMutationType>,
    query_type: SchemaQueryType,
    subscription_type: Option<SchemaSubscriptionType>,
}

impl Schema {
    /// Encode Schema into an SDL.
    pub fn encode(self) -> String {
        let mut sdl = SDL::new();


港事件。|
|经济学|请解释一下供给与需求定律。|
|电影观赏|请推荐一部您最喜欢的电影，并简述其特点。|
|自然语言处理|如何利用Python实现中文分词和词性标注的自然语言处理？|
|机器学习|怎样使用Scikit-learn库对数据进行分类和回归任务？|
|图像处理|如何使用OpenCV库进行图像识别和特征提取？|
|编程基础|请举例说明什么是面向对象编程？|
|数据库|MySQL如何进行索引优化以提高查询效率？|
|网络安全|如何防范DDoS攻击？有哪些常用的防护手段？|
|深度学习|如何使用TensorFlow构建卷积神经网络实现图像分类任务？|
|前端开发|如何使用Vue.js框架实现动态渲染页面？|
|人工智能应用|如何利用机器学习技术进行情感分析？|
|操作系统|什么是虚拟内存？如何优化虚拟内存的使用？|
|自然语言处理|请生成一段包含情感分析任务的文本，并解释情感分析的重要性。|
|科技|请列举三个最新推出的智能手机品牌及其主打功能。|
|文化|请简单说明中秋节的起源及传统庆祝方式。|
|健康|请列出五种预防近视的方法，并针对每种方法进行详细解释。|
|旅游|请介绍巴厘岛的气候特点和最佳旅游季节，以及两个值得游览的景点。|
|环保|请描述五种减少垃圾排放量的方法，并提供它们对环境的积极影响。|
|时尚|请介绍2023年春夏流行趋势，包括服装、鞋履、配件等方面。|
|教育|请说明幼儿园在培养孩子的哪些方面具有独特优势，并提供相应的教学案例。|
|历史|请简述欧洲黑死病的发生时间、病原体以及对人类造成的影响。|
|金融|请解释什么是货币贬值，并列举二个导致货币贬值的因素。|
|查询股票信息|请问这支股票的当前价格是多少？|
|文本编辑|请将这段文字中的错别字修改并标注出来：今天天气很好，心情也格外的愉快。|
|自然语言生成|请为


ection-EqDjmC .queries-item-right-5iAQyZ{margin-left:auto}.vip-info-2LZ-OZ .vip-section-EqDjmC .queries-item-b-HHvu strong{font-weight:600}.vip-info-2LZ-OZ .vip-section-EqDjmC .queries-item-b-HHvu em{color:#37404a;font-style:normal}.vip-info-2LZ-OZ .queries-box-V1SLrC{padding-top:8px}.vip-info-2LZ-OZ .vip-section-title-IKktZM{display:flex;align-items:center;color:#212b36;font-size:14px;font-style:normal;line-height:22px;margin-bottom:4px}.vip-info-2LZ-OZ .vip-section-title-IKktZM strong{font-weight:600}.vip-info-2LZ-OZ .vip-section-title-IKktZM .left-VMHuaS{display:flex;align-items:center;white-space:break-spaces}.vip-info-2LZ-OZ .vip-section-title-IKktZM .left-VMHuaS img{margin-right:5px}.vip-info-2LZ-OZ .vip-section-title-IKktZM .right-Jx-U1o{margin-left:auto;color:#637381;font-size:13px}.vip-info-2LZ-OZ .pro-features-trial-U7mtgx .vip-section-EqDjmC{gap:8px;display:flex;flex-direction:column}.vip-info-2LZ-OZ .pro-features-trial-U7mtgx .vip-section-title-IKktZM{color:#4fa444}.vip-info-2LZ-OZ .pro-feature-XjJLDk .vip-section-title-IKktZM{color:#611fec}.vip-info-2LZ-OZ .pro-feature-XjJLDk .feature-list-3m72q0{display:flex;padding:12px;color:#37404a;font-size:13px}.vip-info-2LZ-OZ .pro-feature-XjJLDk .feature-list-3m72q0 ul:last-child{margin-left:auto}.vip-info-2LZ-OZ .pro-feature-XjJLDk .feature-list-3m72q0 ul li+li{margin-top:8px}._monica-dark .vip-info-2LZ-OZ.starter-JBKiGq .usage-wrapper-Kp--YG .title-jpinoF,._monica-dark .vip-info-2LZ-OZ.boost-tv9jYy .usage-wrapper-Kp--YG .title-jpinoF,._monica-dark .vip-info-2LZ-OZ.elite-NEua4E .usage-wrapper-Kp--YG .title-jpinoF{color:#8562d0}._monica-dark .vip-info-2LZ-OZ.starter-JBKiGq .usage-oXaTaR,._monica-dark .vip-info-2LZ-OZ.boost-tv9jYy .usage-oXaTaR,._monica-dark .vip-info-2LZ-OZ.elite-NEua4E .usage-oXaTaR{background:rgba(164,131,234,.6)}._monica-dark .vip-info-2LZ-OZ.starter-JBKiGq .usage-oXaTaR .usage-detail-BBByYb .usage-icon-QgMyAq,._monica-dark .vip-info-2LZ-O


.GetNetworkId())

	if err != nil {
		cw.Logger.Error(err.Error())
	}

	err = cw.Container.SyncNetwork()

	if err != nil {
		cw.Logger.Error(err.Error())
	}
}

func HandleStart(shared *shared.Shared, cw *watcher.Container, event ievents.Event) {
	if !reconcileIgnore(cw.Container.GetLabels()) {
		// NO OP
	}
}

func HandleKill(shared *shared.Shared, cw *watcher.Container, event ievents.Event) {
	if !reconcileIgnore(cw.Container.GetLabels()) {
		cw.Logger.Info(fmt.Sprintf("container is killed - event ignored till container is exited %s", cw.Container.GetGeneratedName()))
	}
}

func HandleStop(shared *shared.Shared, cw *watcher.Container, event ievents.Event) {
	// NO OP
}

func HandleDie(shared *shared.Shared, cw *watcher.Container, event ievents.Event) {
	if !reconcileIgnore(cw.Container.GetLabels()) {
		containerW := shared.Watchers.Find(cw.Container.GetGroupIdentifier())

		if containerW != nil && !containerW.IsDone() && containerW.GetAllowPlatformEvents() {
			cw.Logger.Info(fmt.Sprintf("container is stopped - reconcile to dead %s", cw.Container.GetGeneratedName()))

			cw.Container.GetStatus().RejectQueueAttempts(time.Now())
			cw.Container.GetStatus().GetPending().Clear()
			cw.Container.GetStatus().QueueState(status.DEAD, time.Now())

			metrics.Containers.Get().DeletePartialMatch(prometheus.Labels{"container": cw.Container.GetGeneratedName()})
			metrics.Containers.Set(1, cw.Container.GetGeneratedName(), status.DEAD)
			metrics.ContainersHistory.Set(1, cw.Container.GetGeneratedName(), status.DEAD)

			containerW.SendToQueue(cw.Container, 5*time.Second)
		} else {
			cw.Logger.Info(fmt.Sprintf("container is stopped - reconcile will be ignored since it is not allowed %s", cw.Container.GetGeneratedName()))
		}
	}
}

func reconcileIgnore(labels map[string]string) bool {
	val, exists := labels["reconcile"]

	if exists {
		if val == "false" {
			return true
		}
	}

	return false
}
package commonv1

import (
	"github.com/go-git/go-git/v5/plumbing"
	"github.com/simplecontainer/smr/internal/helpers"
	"github.com/wI2L/jsondiff"
	"sync"
	"time"
)

type State struct {
	Gitops  *Gitops       `json:"gitops,omitempty" yaml:"gitops,omitempty"`
	Options []*Opts       `json:"options,omitempty" yaml:"options,omitempty"`
	Lock    *sync.RWMutex `json:"-" yaml:"-"`
}

type Gitops struct {
	Synced   bool                 `json:"synced,omitempty" yaml:"synced,omitempty"`
	Drifted  bool                 `json:"drifted,omitempty" yaml:"drifted,omitempty"`
	Missing  bool                 `json:"missing,omitempty" yaml:"missing,omitempty"`
	NotOwner bool                 `json:"notOwner,omitempty" yaml:"notOwner,omitempty"`
	Error    bool                 `json:"error,omitempty" yaml:"error,omitempty"`
	State    string               `json:"state,omitempty" yaml:"state,omitempty"`
	Messages []Message            `json:"messages,omitempty" yaml:"messages,omitempty"`
	Commit   plumbing.Hash        `json:"commit,omitempty" yaml:"


 instanceof Uint8Array)) {
          throw new TypeError("Expected Uint8Array");
        }
        if (source.length === 0) {
          return "";
        }
        // Skip & count leading zeroes.
        var zeroes = 0;
        var length = 0;
        var pbegin = 0;
        var pend = source.length;
        while (pbegin !== pend && source[pbegin] === 0) {
          pbegin++;
          zeroes++;
        }
        // Allocate enough space in big-endian base58 representation.
        var size = ((pend - pbegin) * iFACTOR + 1) >>> 0;
        var b58 = new Uint8Array(size);
        // Process the bytes.
        while (pbegin !== pend) {
          var carry = source[pbegin];
          // Apply "b58 = b58 * 256 + ch".
          var i = 0;
          for (
            var it1 = size - 1;
            (carry !== 0 || i < length) && it1 !== -1;
            it1--, i++
          ) {
            carry += (256 * b58[it1]) >>> 0;
            b58[it1] = carry % BASE >>> 0;
            carry = (carry / BASE) >>> 0;
          }
          if (carry !== 0) {
            throw new Error("Non-zero carry");
          }
          length = i;
          pbegin++;
        }
        // Skip leading zeroes in base58 result.
        var it2 = size - length;
        while (it2 !== size && b58[it2] === 0) {
          it2++;
        }
        // Translate the result into a string.
        var str = LEADER.repeat(zeroes);
        for (; it2 < size; ++it2) {
          str += ALPHABET.charAt(b58[it2]);
        }
        return str;
      }
      function decodeUnsafe(source) {
        if (typeof source !== "string") {
          throw new TypeError("Expected String");
        }
        if (source.length === 0) {
          return new Uint8Array();
        }
        var psz = 0;
        // Skip and count leading '1's.
        var zeroes = 0;
        var length = 0;
        while (source[psz] === LEADER) {
          zeroes++;
          psz++;
        }
        // Allocate enough space in big-endian base256 representation.
        var size = ((source.length - psz) * FACTOR + 1) >>> 0; // log(58) / log(256), rounded up.
        var b256 = new Uint8Array(size);
        // Process the characters.
        while (source[psz]) {
          // Decode character
          var carry = BASE_MAP[source.charCodeAt(psz)];
          // Invalid character
          if (carry === 255) {
            return;
          }
          var i = 0;
          for (
            var it3 = size - 1;
            (carry !== 0 || i < length) && it3 !== -1;
            it3--, i++
          ) {
            carry += (BASE * b256[it3]) >>> 0;
            b256[it3] = carry % 256 >>> 0;
            carry = (carry / 256) >>> 0;
          }
          if (carry !== 0) {
            throw new Error("Non-zero carry");
          }
          length = i;
          psz++;
        }
        // Skip leading zeroes in b256.
        var it4 = size - length;
        while (it4 !== size && b256[it4] === 0) {
          it4++;
        }
        var vch = new Uint8Array(zeroes + (size - it4));
        var j = zeroes;
        while (it4 !== size) {
          vch[j++] = b256[it4++];
        }
        return vch;
      }
      function decode(string) {
        var buffer =


         currentDialectTest.isAllowedAsColumnDefault(this) ->
                "DEFAULT ${currentDialectTest.dataTypeProvider.processForDefaultValue(this)} NOT NULL"
            else -> "NULL"
        }

        withTables(testTable) { testDb ->
            val dtType = currentDialectTest.dataTypeProvider.dateTimeType()
            val dType = currentDialectTest.dataTypeProvider.dateType()
            val timestampType = currentDialectTest.dataTypeProvider.timestampType()
            val longType = currentDialectTest.dataTypeProvider.longType()
            val timeType = currentDialectTest.dataTypeProvider.timeType()
            val varCharType = currentDialectTest.dataTypeProvider.varcharType(100)
            val q = db.identifierManager.quoteString
            val baseExpression = "CREATE TABLE " + addIfNotExistsIfSupported() +
                "${"t".inProperCase()} (" +
                "${"id".inProperCase()} ${currentDialectTest.dataTypeProvider.integerAutoincType()}${
                    testDb?.let { " PRIMARY KEY" } ?: ""
                }, " +
                "${"s".inProperCase()} $varCharType${testTable.s.constraintNamePart()} DEFAULT 'test' NOT NULL, " +
                "${"sn".inProperCase()} $varCharType${testTable.sn.constraintNamePart()} DEFAULT 'testNullable' NULL, " +
                "${"l".inProperCase()} ${currentDialectTest.dataTypeProvider.longType()}${testTable.l.constraintNamePart()} DEFAULT 42 NOT NULL, " +
                "$q${"c".inProperCase()}$q CHAR${testTable.c.constraintNamePart()} DEFAULT 'X' NOT NULL, " +
                "${"t1".inProperCase()} $dtType${testTable.t1.constraintNamePart()} ${currentDT.itOrNull()}, " +
                "${"t2".inProperCase()} $dtType${testTable.t2.constraintNamePart()} ${nowExpression.itOrNull()}, " +
                "${"t3".inProperCase()} $dtType${testTable.t3.constraintNamePart()} ${dtLiteral.itOrNull()}, " +
                "${"t4".inProperCase()} $dType${testTable.t4.constraintNamePart()} ${dLiteral.itOrNull()}, " +
                "${"t5".inProperCase()} $timestampType${testTable.t5.constraintNamePart()} ${tsLiteral.itOrNull()}, " +
                "${"t6".inProperCase()} $timestampType${testTable.t6.constraintNamePart()} ${tsLiteral.itOrNull()}, " +
                "${"t7".inProperCase()} $longType${testTable.t7.constraintNamePart()} ${durLiteral.itOrNull()}, " +
                "${"t8".inProperCase()} $longType${testTable.t8.constraintNamePart()} ${durLiteral.itOrNull()}, " +
                "${"t9".inProperCase()} $timeType${testTable.t9.constraintNamePart()} ${tLiteral.itOrNull()}, " +
                "${"t10".inProperCase()} $timeType${testTable.t10.constraintNamePart()} ${tLiteral.itOrNull()}, " +
                "${"t11".inProperCase()} $timestampType${testTable.t11.constraintNamePart()} ${tsLiteral.itOrNull()}, " +
                "${"t12".inProperCase()} $timestampType${testTable.t12.constraintNamePart()} ${tsLiteral.itOrNull()}" +
                when (testDb) {
                    TestDB.ORACLE ->
                        ", CONSTRAINT chk_t_signed_integer_id CHECK (${"id".inProperCase()} BETWEEN ${Int.MIN_VALUE} AND ${Int.MAX_VALUE})" +
                            ", CONSTRAINT chk_t_signed_long_l CHECK (L BETWEEN ${Long.MIN_VALUE} AND ${Long.MAX_VALUE})"
                    else -> ""
                } +
                ")"

            val expected = if (currentDialectTest is OracleDialect || currentDialectTest.h2Mode == H2Dialect.H2CompatibilityMode.Or


emplates/wplace/pci_andria.png)
- Lista Pixel: (Totale: 6370, 53.1 ore)
  1. Red: 3766
  1. Yellow: 946
  1. White: 583
  1. Dark Teal: 209
  1. Black: 195
  1. Light Pink: 112
  1. Dark Slate: 109 (Sbloccabile)
  1. Dark Orange: 97 (Sbloccabile)
  1. Light Gray: 59
  1. Orange: 50
  1. Light Brown: 39 (Sbloccabile)
  1. Light Red: 32 (Sbloccabile)
  1. Light Peach: 32 (Sbloccabile)
  1. Dark Gray: 27
  1. Medium Gray: 24 (Sbloccabile)
  1. Olive: 17 (Sbloccabile)
  1. Dark Stone: 13 (Sbloccabile)
  1. Dark Tan: 10 (Sbloccabile)
  1. Light Slate: 9 (Sbloccabile)
  1. Light Goldenrod: 8 (Sbloccabile)
  1. Light Beige: 8 (Sbloccabile)
  1. Dark Olive: 6 (Sbloccabile)
  1. Gray: 5
  1. Light Olive: 5 (Sbloccabile)
  1. Stone: 3 (Sbloccabile)
  1. Light Yellow: 2
  1. Dark Peach: 2 (Sbloccabile)
  1. Dark Brown: 1
  1. Dark Beige: 1 (Sbloccabile)

### Smrt fašizmu! Sloboda narodu! (Panicarola, Perugia)
![Smrt fašizmu! Sloboda narodu! (Panicarola, Perugia)](/templates/wplace/sfsn_panicarola.png)

- Coordinate: [1092 751 810 923](https://wplace.live/?lat=43.06952984099675&lng=12.099902343750017&zoom=17)
- Link Template: [/templates/wplace/sfsn_panicarola.png](/templates/wplace/sfsn_panicarola.png)
- Lista Pixel: (Totale: 7343, 61.2 ore)
  1. Black: 2073
  1. Red: 1657
  1. Yellow: 1455
  1. Gray: 660
  1. Blue: 619
  1. White: 406
  1. Light Gray: 326
  1. Brown: 75
  1. Gold: 50
  1. Dark Gray: 22

### Raising a Flag over the Reichstag (Panicarola, Perugia)
![Raising a Flag over the Reichstag (Panicarola, Perugia)](/templates/wplace/soviet_berlin_panicarola.png)

- Coordinate: [1092 751 697 935](https://wplace.live/?lat=43.07415252360488&lng=12.080566406249972&zoom=17)
- Link Template: [/templates/wplace/soviet_berlin_panicarola.png](/templates/wplace/soviet_berlin_panicarola.png)
- Lista Pixel: (Totale: 1209, 10.1 ore)
  1. Red: 847
  1. Black: 253
  1. Gold: 38
  1. Yellow: 36
  1. Gray: 34
  1. Dark Gray: 1

### Falce e Martello (Panicarola, Perugia)
![Falce e Martello (Panicarola, Perugia)](/templates/wplace/hamsick_panicarola.png)

- Coordinate: [1092 752 715 10](https://wplace.live/?lat=43.06657627790233&lng=12.080214843749985&zoom=17)
- Link Template: [/templates/wplace/hamsick_panicarola.png](/templates/wplace/hamsick_panicarola.png)
- Lista Pixel: (Totale: 272, 2.3 ore)
  1. Gold


. Because this is quite insecure the app itself does not set it and recommends to decide that on your own risk (please make sure, that you know what CSP is and what e.g. unsafe-eval causes)._\n\n## Installation\nInstall the app from the [Nextcloud App Store](https://apps.nextcloud.com/apps/ocr) or download the release package from github (**NOT** the sources) and place the content in **nextcloud/apps/ocr/**.\n\n## Disclaimer\nThe software is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied.\n\n## Note\nThe version 3 and earlier versions are not supported/maintained anymore by the author. So for asynchronous background processing please fork the repository and use the \"not-maintained\" branch to work on improvements. The author wasn't able to support it because of too much effort.\nMoreover this project is based on a webassembly port of tesseract. The maintainer stopped working on PDF processing in this app and will start working on separate app for pdf handling." : "# Beschrijving\n\nNextcloud OCR-verwerking (optische tekenherkenning) voor afbeeldingen met tesseract-js brengt OCR-mogelijkheden naar jouw Nextcloud.\nDe app gebruikt tesseract-js in de browser om afbeeldingen (png, jpeg, tiff, bmp) te verwerken en slaat het uitvoer-PDF-bestand op in de bronmap in nextcloud. Hierdoor kunt u er bijvoorbeeld in zoeken.\n\n## Vereisten, vereisten en afhankelijkheden\nDe OCR-app heeft een aantal vereisten: \n\n- [Volgende wolk 16 en hoger](https://nextcloud.com/)\n- Alleen ondersteund op de nieuwste moderne webbrowsers (Chrome, Edge, Firefox, Opera, Safari*) \n- Tesseract getrainde gegevens hebben ongeveer 200 MB ruimte nodig op uw server (wordt automatisch geïnstalleerd).\n\n\n_* Op Safari is er momenteel een probleem met de [Content-Security-Policy] (https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), dat vereist dat een Administrator de 'script-src' instelt op 'onveilig-eval' zodat de app goed werkt. Omdat dit vrij onzeker is stelt de app het zelf niet in en raadt aan om dat op eigen risico te beslissen (zorg er alsjeblieft voor, dat je weet wat CSP is en wat bijvoorbeeld unsafe-eval veroorzaakt)._\n\n## Installatie\nInstalleer de app vanuit de [Nextcloud App Store] (https://apps.nextcloud.com/apps/ocr) of download het releasepakket van github (**NOT** de bronnen) en plaats de inhoud in **nextcloud/apps/ocr/**.\n\n## Disclaimer\nDe software wordt gedistribueerd op een \"AS IS\"-BASIS, ZONDER GARANTIES OF\nVOORWAARDEN VAN WELKE AARD DAN OOK, expliciet of impliciet.\n\n## Opmerking\nVersie 3 en eerdere versies worden niet meer ondersteund/onderhouden door de auteur. Dus voor asynchrone achtergrondverwerking kunt u de repository splitsen en de \"niet-onderhouden\" tak gebruiken om aan verbeteringen te werken. De auteur kon het niet ondersteunen vanwege te veel moeite.\nBovendien is dit project gebaseerd op een webassemblagepoort van tesseract. De onderhouder is in deze app gestopt met werken aan PDF-verwerking e


"""
Enrollment track related signals.
"""

from django.dispatch import Signal

from openedx_events.learning.data import CourseAccessRoleData, UserData, UserPersonalData
from openedx_events.learning.signals import COURSE_ACCESS_ROLE_ADDED, COURSE_ACCESS_ROLE_REMOVED

# The purely documentational providing_args argument for Signal is deprecated.
# So we are moving the args to a comment.

# providing_args=['user', 'course_key', 'mode', 'countdown']
ENROLLMENT_TRACK_UPDATED = Signal()

# providing_args=["course_enrollment", "skip_refund"]
UNENROLL_DONE = Signal()

# providing_args=["event", "user", "course_id", "mode", "cost", "currency"]
ENROLL_STATUS_CHANGE = Signal()

# providing_args=["course_enrollment"]
REFUND_ORDER = Signal()

USER_EMAIL_CHANGED = Signal()

def emit_course_access_role_added(user, course_id, org_key, role):
    """
    Emit an event to the event-bus when a CourseAccessRole is added
    """
    # .. event_implemented_name: COURSE_ACCESS_ROLE_ADDED
    # .. event_type: org.openedx.learning.user.course_access_role.added.v1
    COURSE_ACCESS_ROLE_ADDED.send_event(
        course_access_role_data=CourseAccessRoleData(
            user=UserData(
                pii=UserPersonalData(
                    username=user.username,
                    email=user.email,
                ),
                id=user.id,
                is_active=user.is_active,
            ),
            course_key=course_id,
            org_key=org_key,
            role=role,
        )
    )

def emit_course_access_role_removed(user, course_id, org_key, role):
    """
    Emit an event to the event-bus when a CourseAccessRole is deleted
    """
    # .. event_implemented_name: COURSE_ACCESS_ROLE_REMOVED
    # .. event_type: org.openedx.learning.user.course_access_role.removed.v1
    COURSE_ACCESS_ROLE_REMOVED.send_event(
        course_access_role_data=CourseAccessRoleData(
            user=UserData(
                pii=UserPersonalData(
                    username=user.username,
                    email=user.email,
                ),
                id=user.id,
                is_active=user.is_active,
            ),
            course_key=course_id,
            org_key=org_key,
            role=role,
        )
    )


hal.hpp:216

HalPanic

void HalPanic(const char *message)

Causes a stop error, for when the system detects an unrecoverable situation which requires a complete...

Definition: hal.cpp:828

HalHandlePageFault

bool HalHandlePageFault(void *regs, void *ctxt)

Definition: hal.cpp:627

HalEnableInterrupts

INLINEX void HalEnableInterrupts()

Enables hardware interrupts.

Definition: hal.hpp:162

outb

INLINEX void outb(uint16_t port, uint8_t val)

Writes data to an 8 bit I/O port.

Definition: hal.hpp:263

HalDisableInterrupts

INLINEX void HalDisableInterrupts()

Disables hardware interrupts.

Definition: hal.hpp:170

HalLoadCoprocessor

INLINEX void HalLoadCoprocessor(void *buffer)

Restores the coprocessor state from a buffer previously allocated with HalAllocateCoprocessorState.

Definition: hal.hpp:151

<div class="ttc" id="aarc


console.log(allKeyDescriptions(a, {includingBuiltin:false}))
console.log(allKeyDescriptions(a, {includingBuiltin:true}))

const object = {
    b: 10,
    a: 11,
    c: [
        "howdy",
        {
            d: 9999,
            aye: 1,
        },
    ],
}
console.debug(`object is:`,object)
console.debug(`deepSortObjectResult is:`,deepSortObject(object))
console.debug(`shallowSortObjectResult is:`,shallowSortObject(object))import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Dispositivo } from '../model/Dispositivo';

@Component({
  selector: 'app-dispositivo',
  templateUrl: './dispositivo.component.html',
  styleUrls: ['./dispositivo.component.css']
})
export class DispositivoComponent implements OnInit {
  //Componente hijo
  @Input() atributoDispositivo;
  //El EventEmitter debe provenir de @angula core
  @Output() evento = new EventEmitter();
  //@Output: Permite pasarle los parámetros al padre
  //No autoimportar el EvenEmitter. Debe provenir de @core
  constructor() { }

  ngOnInit(): void {
    console.log(this.atributoDispositivo);
  }

  cambiarHijo(disp){
    disp.nombre = "nombreCambiado";
    //emit trabaja con el patron observer
    //Notifica al padre de los cambios efectuados del hijo.
    this.evento.emit({test:"valor"});
  }
}
import express from 'express';

export class LoginValidator {
  static email(request: express.Request) {
    request
      .checkBody('email')
      .exists()
      .withMessage('Email field is required')
      .trim()
      .notEmpty()
      .withMessage('Email field is required')
      .isEmail()
      .withMessage('Email address is invalid');
  }

  static password(request: express.Request) {
    request
      .checkBody('password')
      .exists()
      .withMessage('Password field is required')
      .trim()
      .notEmpty()
      .withMessage('Password field is required')
      .isLength({ min: 6 })
      .withMessage('password must be longer than 6 characters');
  }
}
import { AnyAction } from 'redux';
import { TYPE_FUEL } from '../../../../constants';
// prettier-ignore
import { AircraftClickAction, AIRCRAFT_CLICK, RefuelOpenAction, REFUELPOPUP_MINIMIZE_TOGGLE, RefuelState, REFUEL_OPEN, REFUEL_RESULTS, TankerClickAction, TANKER_CLICK, UndoFuelSelectionAction, UNDO_FUEL_SELECTION } from '../../../../types';

const initialRefuelState: RefuelState = {
    isActive: false,
    selectedTankerPieceId: -1,
    selectedTankerPieceIndex: -1,
    tankers: [],
    aircraft: []
};

export function refuelReducer(state = initialRefuelState, action: AnyAction) {
    const { type } = action;

    let stateCopy: RefuelState = JSON.parse(JSON.stringify(state));

    switch (type) {
        case TANKER_CLICK:
            //select if different, unselect if was the same
            let lastSelectedTankerId = stateCopy.selectedTankerPieceId;
            stateCopy.selectedTankerPieceId =
                (action as TankerClickAction).payload.tankerPiece.pieceId === lastSelectedTankerId
                    ? -1
                    : (action as TankerClickAction).payload.tankerPiece.pieceId;
            stateCopy.selectedTankerPieceIndex =
                (action as TankerClickAction).payload.tankerPiece.pieceId === lastSelectedTankerId
                    ? -1
                    : (action as TankerClickAction).payload.tankerPieceIndex;
            retur


    public val coordInZonePacked: Int
        get() = coordInZone.packed.toInt()
    override val category: ServerProtCategory
        get() = GameServerProtCategory.HIGH_PRIORITY_PROT
    override val protId: Int = OldSchoolZoneProt.MAP_PROJANIM

    override fun equals(other: Any?): Boolean {
        if (this === other) return true
        if (javaClass != other?.javaClass) return false

        other as MapProjAnim

        if (_id != other._id) return false
        if (_startTime != other._startTime) return false
        if (_endTime != other._endTime) return false
        if (_angle != other._angle) return false
        if (_progress != other._progress) return false
        if (compressedInfo != other.compressedInfo) return false
        if (coordInZone != other.coordInZone) return false
        if (_deltaX != other._deltaX) return false
        if (_deltaZ != other._deltaZ) return false

        return true
    }

    override fun hashCode(): Int {
        var result = _id.hashCode()
        result = 31 * result + _startTime.hashCode()
        result = 31 * result + _endTime.hashCode()
        result = 31 * result + _angle.hashCode()
        result = 31 * result + _progress.hashCode()
        result = 31 * result + compressedInfo.hashCode()
        result = 31 * result + coordInZone.hashCode()
        result = 31 * result + _deltaX
        result = 31 * result + _deltaZ
        return result
    }

    override fun toString(): String =
        "MapProjAnim(" +
            "id=$id, " +
            "startHeight=$startHeight, " +
            "endHeight=$endHeight, " +
            "startTime=$startTime, " +
            "endTime=$endTime, " +
            "angle=$angle, " +
            "progress=$progress, " +
            "sourceIndex=$sourceIndex, " +
            "targetIndex=$targetIndex, " +
            "xInZone=$xInZone, " +
            "zInZone=$zInZone, " +
            "deltaX=$deltaX, " +
            "deltaZ=$deltaZ" +
            ")"

    /**
     * A value class to compress several properties into one.
     * This is primarily done so the entire class comes to a sum of 20 bytes.
     * The [sourceIndex] and [targetIndex] properties are 24-bit integers, for
     * which there are no backing types in the JVM. Treating them as 32-bit
     * integers would push the total sum of all the payload to 22 bytes, which,
     * due to memory alignment would cause the entire thing to take 28 bytes
     * instead of the usual 20.
     */
    @JvmInline
    private value class CompressedMapProjAnimInfo private constructor(
        private val packed: Long,
    ) {
        constructor(
            sourceIndex: Int,
            targetIndex: Int,
            startHeight: UByte,
            endHeight: UByte,
        ) : this(
            (sourceIndex and 0xFFFFFF)
                .toLong()
                .or((targetIndex and 0xFFFFFF).toLong() shl 24)
                .or((startHeight.toLong() and 0xFF) shl 48)
                .or((endHeight.toLong() and 0xFF) shl 56),
        )

        val sourceIndex: Int
            get() = (packed and 0xFFFFFF).toInt()
        val targetIndex: Int
            get() = (packed ushr 24 and 0xFFFFFF).toInt()
        val startHeight: Int
            get() = (packed ushr 48 and 0xFF).toInt()
        val endHeight: Int
            get() = (packed ushr 56 and 0xFF).toInt()

        override fun toString(): String =
            "MapProjAnimInfo(" +
                "sourceIndex=$sourceIndex, " +
                "targetIndex=$targetIndex, " +
                "startHeight=$startHeight, " +
                "endHeight=$endHeight" +
                ")"
    }
}
p


.dark .prose pre[class*="language-"] ::selection {
  @apply bg-blue-900 text-neutral-100;
}

/* 深色主题 Token 颜色 */

.dark .token.comment,
.dark .token.prolog,
.dark .token.doctype,
.dark .token.cdata {
  @apply text-neutral-600;
}

.dark .token.string,
.dark .token.attr-value {
  @apply text-green-400;
}

.dark .token.punctuation,
.dark .token.operator {
  @apply text-neutral-400;
}

.dark .token.entity,
.dark .token.url,
.dark .token.symbol,
.dark .token.number,
.dark .token.boolean,
.dark .token.variable,
.dark .token.constant,
.dark .token.property,
.dark .token.regex,
.dark .token.inserted {
  @apply text-blue-400;
}

.dark .token.atrule,
.dark .token.keyword,
.dark .token.attr-name {
  @apply text-purple-400;
}

.dark .token.function,
.dark .token.deleted,
.dark .token.tag {
  @apply text-red-400;
}

.dark .token.function-name,
.dark .token.class-name {
  @apply text-yellow-400;
}

.dark .token.selector,
.dark .token.char,
.dark .token.builtin {
  @apply text-cyan-400;
}

/* ==============================================
   LOADING ANIMATIONS & TRANSITIONS
   ============================================== */

/* Shimmer Loading Animation */
@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}

.shimmer {
  background: linear-gradient(
    90deg,
    rgba(245, 245, 245, 0.6) 25%,
    rgba(232, 232, 232, 0.8) 50%,
    rgba(245, 245, 245, 0.6) 75%
  );
  background-size: 200px 100%;
  animation: shimmer 2.5s infinite ease-in-out;
}

.dark .shimmer {
  background: linear-gradient(
    90deg,
    rgba(64, 64, 64, 0.4) 25%,
    rgba(82, 82, 82, 0.6) 50%,
    rgba(64, 64, 64, 0.4) 75%
  );
  background-size: 200px 100%;
}

/* Skeleton Pulse Animation */
@keyframes pulse-subtle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

.skeleton {
  @apply bg-gray-200 dark:bg-gray-700 rounded;
  animation: pulse-subtle 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Content Fade In Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fade-in {
  animation: fadeIn 0.6s ease-out forwards;
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
}

.fade-in-delayed {
  animation: fadeIn 0.6s ease-out 0.2s forwards;
  opacity: 0;
}

/* Staggered Animation */
.stagger-children > * {
  animation: f