text:
# Phasmophobia Mech
Thanks to the following people for spotting errors in this guide:
- AeonLucid
- DeceptivePastry
- Kyle2142
- u/Sowelu
- zendabbq
- [Phasmophobia Mechanics](#phasmophobia-mech)
      - [Compiled by KyrosKoh & Azsry](#compiled-by-kyroskoh-n-azsry)
  - [General Gameplay](#general-gameplay)
    - [Difficulty levels](#difficulty-levels)
    - [Sanity](#sanity)
      - [Sanity effects](#sanity-effects)
  - [Evidence](#evidence)
    - [Dirty Water](#dirty-water)
    - [Freezing Temperatures](#freezing-temperatures)
    - [Ghost Orbs](#ghost-orbs)
    - [Ghost Writing](#ghost-writing)
    - [Spirit Box](#spirit-box)
  - [Ghost behaviour](#ghost-behaviour)
    - [Car](#car)
    - [Doors](#doors)
    - [Favourite Rooms](#favourite-rooms)
    - [Footsteps](#footsteps)
    - [Fusebox](#fusebox)
    - [Generic VOIP recognition](#generic-voip-recognition)
    - [Ghost activity](#ghost-activity)
      - [Ghost Powers](#ghost-powers)
        - [Banshee](#banshee)
        - [Jinn](#jinn)
        - [Phantom](#phantom)
        - [Poltergeist](#poltergeist)
        - [Wraith](#wraith)
    - [Ghost interactions](#ghost-interactions)
      - [Ghost Events](#ghost-events)
    - [Ghost phases](#ghost-phases)
      - [In truck](#in-truck)
      - [Setup phase](#setup-phase)
      - [Idle](#idle)
      - [Wander](#wander)
      - [Ghost appearing](#ghost-appearing)
      - [Hunting](#hunting)
    - [Window knocking](#window-knocking)
  - [Items](#items)
    - [Candles](#candles)
    - [Cameras](#cameras)
    - [EMF Reader](#emf-reader)
      - [Truck EMF Data](#truck-emf-data)
    - [Ouija Board](#ouija-board)
    - [Photo camera](#photo-camera)
    - [Salt](#salt)
    - [Smudge Sticks](#smudge-sticks)
    - [Sound Sensors / Parabolic Microphone](#sound-sensors--parabolic-microphone)
    - [Thermometer](#thermometer)
  - [Misc](#misc)
    - [Anti-Cheat](#anti-cheat)
    - [Insurance](#insurance)

## General Gameplay
### Difficulty levels
- Tutorial is 0.5 difficulty
- Amateur is 1 difficulty
- Intermediate is 1.5 difficulty
- Professional is 2 difficulty
### Sanity
- Game internally uses insanity, which is then displayed as sanity in the truck as `(100 - insanity) + Random.Range(-2, 3)`, but for the sake of clarity, we will refer to sanity.

- Small map
  - Normal drop rate: 0.12
  - Setup drop rate: 0.09
- Medium map
  - Normal drop rate: 0.08
  - Setup drop rate: 0.05
- Large map
  - Normal drop rate: 0.05
  - Setup drop rate: 0.03

- Solo games (that are not a tutorial)
  - Drop rates from above / 2

- Mechanics
  - Cannot go below 50 during setup phase
  - Decreases every frame by ((deltaTime * setup/normal drop rate) * difficulty rate (below))
  - Sanity does not decrease when you are in light or are outside the house
  - Light status updates every 2 seconds
  - Sanity level is synced to other players every 5 seconds
  - Being within 3m of a Jinn instantly decreases your sanity by 25%
  - Entering a recognised phrase into a Ouija Board has a 1-in-3 chance of decreasing your sanity by 40%
  - Sanity pills increase your sanity by 40%
  - Poltergeists decrease your sanity by double the number of props they are allowed to move
  - If the ghost is visible, or is in hunting phase, and is within 10m of the player, the player's sanity decreses by deltaTime (time since last frame) * sanity drain strength
  - Ghosts have a default sanity drain factor of 0.2
  - Yurei have a sanity draining strength of 0.4
- Average team sanity used for hunting phase and activity calculations consider everyone in the game, not just those in the house

#### Sanity effects
- The game will attempt to spawn ghosts at a window when the player is inside the house at a random interval between 10s and 30s if the player's sanity is below 50, otherwise at a random interval between 10s and 20s.
- This ghost will start far away from the window and dash towards the window until it is 0.2m away, then disappear

## Evidence
### Dirty Water
- Ghosts in range of a sink will have the same chance of interacting with the sink as it does with throwing or interacting with any other object.
- Ghosts leave a Ghost Interaction EMF (Level 2) on the sink

### Freezing Temperatures
- Ghosts that have freezing temperatures as an attribute will make the room they are in go down to -10C (14F), while all other ghosts make the room drop to 5C (41F). However, your thermometer has a +-2C randomness, so as soon as you see your thermometer go below 3C or 37.4F, or if you see cold puffs when you are in a room, you can tick off Freezing Temperatures.

### Ghost Orbs
- Ghost orbs only spawn in the ghost's favourite room, and can be seen in the doorway to that room from a hallway. This favourite room is designated on ghost spawn
- Ghost orbs can be seen before entering the house if a fixed camera is pointing at the door/hallway to their favourite room.

### Ghost Writing
- Ghosts have a 5-in-12 chance of doing random interactions such as opening doors, throwing props, and writing in ghost books.
- The ghost book does not appear to need to be in the ghost's room. Yet to be confirmed.

### Spirit Box
- Ghosts can only respond once every 10 seconds
- "Nothing detected" means the game recognised your phrase, but it triggered a fail check. However, fail checks and answers do not seem to be mutually exclusive.
- Ghosts that do not use spirit box will never respond
- Ghost responses only work if you are using Local Push to Talk (if you have push to talk enabled) or have a VR headset on. If you use Voice Activation, the ghost will always hear you.
- Ghosts will not respond if you are more than 3m away from them, or are on a different floor
- Ghosts that only respond to one person are shy
- Ghosts will not respond if the fusebox is on and a light switch in your current room is on
- Ghosts are more likely to respond to the Spirit Box if you have said their name in isolation (i.e. anger them with a phrase) recently
- Ghosts can respond with either location answers, difficulty answers, or age answers
    - Different location sounds are played depending on whether you are at least 4m away from the ghost
        - Difficulty questions:
            - What do you want?
            - Why are you here?
            - Do you want to hurt us?
            - Are you angry?
            - Do you want us here?
            - Shall we leave?
            - Should we leave?
            - Do you want us to leave?
            - What should we do?
            - Can we help?
            - Are you friendly?
            - What are you?
        - Location questions:
            - Where are you?
            - Are you close?
            - Can you show yourself?
            - Give us a sign
            - Let us know you are here
            - Show yourself
            - Can you talk?
            - Speak to us
            - Are you here?
            - Are you with us?
            - Anybody with us?
            - Is anyone here?
            - Anyone in the room?
            - Anyone here?
            - Is there a spirit here?
            - Is there a Ghost here?
            - What is your location?
        - Gender questions:
            - Are you a girl?
            - Are you a boy?
             When the alarm is on, the car's headlights will also be on, and it will play some sounds.
- To turn it off, you need the car keys and hit Use on the car. As soon as the car alarm turns on, a Ghost Interaction EMF (Level 2) spot will be created at the car's position.

### Doors
- As soon as a ghost with fingerprints touches a door, it will spawn the fingerprint evidence, but only on one side of the door. Fingerprint evidence does not spawn Ghost Interaction EMF
- Doors always lock during hunting phase, and will remain locked for a random amount of time between 10 and 20 seconds
- Doors all start with a locked timer between 5-20 seconds
- Ghosts make door knocking sounds when they are within 3m of the door, and create a Ghost Interaction EMF (Level 2) at the door's audio source location.
- Ghosts can close and lock doors randomly, which do NOT trigger Ghost Interaction EMFs.

### Favourite Rooms
- Ghosts stay in their favourite room before the front door is unlocked
- Upon entering Favourite Room state, the ghost will check to see if it is within 0-0.5m of its favourite room, and move towards a random location if it is
- The ghost will enter idle phase immediately after doing this distance check, regardless of its success.
- If ghosts are stuck in favourite room state for 30 seconds, either due to getting stuck or reaching its destination, it will return to idle phase.
### Footsteps
- Wraiths do not make black light footsteps after stepping on a salt pile
- Wraiths have an additional Wraith multiplier set to 50 after stepping in salt, making it less likely to start a hunting phase
- Ghost footsteps play at 5% volume during non-hunting and non-appearing phases
- When the ghost has appeared, footsteps are immediately played at full volume when in line of sight, then at 30% volume while you can still see the ghost
- During hunting phase, random hunting noises are played at full volume, then at 30% while you can still see the ghost
### Fusebox
- Small houses can have a max of 10 lights on
- Medium houses can have a max of 9 lights on
- Large houses can have a max of 8 lights on
- The ghost spawns a Ghost Interaction EMF (Level 2) when they use the fusebox
- Ghosts have a 1-in-5 chance of turning the fusebox back on

### Generic VOIP recognition
- Ghosts can react with your voice all throughout the game, even when you are not holding down a VOIP key
- You must be in the ghost room to trigger a response
- You must be in a room for more than 2 seconds for phrases to be recognised
- Shy ghosts will not respond to you if there are multiple people in the room
- Ghosts can react to their name at any time, even when you are not holding down a VOIP key, with a 20 second delay in between reactions
- Saying the ghost's name makes the ghost more likely to respond to the Spirit Box
- Saying just the ghost's first name is sufficient
- A generic ghost reaction will add a random value between 10 and 25 to their activity multiplier
- Generic reactions have a 1-in-200 chance of the ghost turning the fusebox off
- Generic reactions have a 1-in-8 chance of interacting with a random prop
- Generic reactions have a 1-in-8 chance of interacting with a random door

- Generic reaction phrases
  - "Fuck",
  - "Bitch",
  - "Shit",
  - "Cunt",
  - "Ass",
  - "Bastard",
  - "Motherfucker",
  - "Motherfucker", (yes, this is repeated. Probably indicattes a higher chance of them reacting to this)
  - "Arsehole",
  - "Crap",
  - "Pussy",
  - "Dickhead",
  - "Bloody Mary"
  - Plus 57 more that are language-specific. The English versions are provided below. For all langauges, refer to localisation.csv found in this repository, and search for Phrase_. All these are taken directly from the .csv, lack of punctuation, spelling errors, and all.
    - Can you speak
    - Show us
    - Let us know you are here
    - Do something
    - Is there anyone with me
    - Scream
    - Are you alone
    - Can we speak
    - would like to speak to you
    - Is there anyone here
    - May I ask you
    - Can you speak to us
    - Would you like to talk
    - Are you the only one here
    - Are you waiting
    - Is there anything that I can do
    - Do you know who we are
    - Are you happy
    - Are you here all the time
    - Are you male or female
    - Are there children here
    - Do you want us to leave
    - Make a noise
    - Can I ask you
    - Can you make a sound
    - Show us your presence
    - Knock something
    - Make a sound
    - Open the door
    - Throw something
    - Talk to me
    - Talk to us
    - We mean you no harm
    - Open a door
    - We are friends
    - Is this you're home
    - Can you speak to us
    - I'm scared
    - I am scared
    - scared
    - scary
    - spooky
    - Horror
    - Scare
    - Open this door
    - Frighten
    - panic
    - Fright
    - Hide
    - Run
    - Show your presence
    - Show us
    - Show me
    - Turn on the light
    - Turn off the light
    - Are there any ghosts
    - Give us a sign
### Ghost activity
- Ghosts have random ability values set at the start of an idle phase, based on difficulty.
  - Amateur: 100
  - Intermediate: 115
  - Professional: 130
- Certain ghosts have their own multiplier that change depending on in-game events:
  - Oni multiplier: 30 if the ghost is an Oni and there are people in the room
  - Wraith multiplier: 50 if ghost is a Wraith and they have walked in salt
- Hunting multiplier
    - Starts at 0
    - Does not increase steadily over time
    - Decreases by 10 if ghost type is a Mare and a light switch in their current room is on
    - Increases by 10 if ghost type is a Mare and no lights in their current room are on, or there are no light switches in their current room
    - Increases by 15 if the ghost type is a Demon
- Ghost activity level
  - Starts at 0
  - Increases by 10 to 25 on phrase recognition
  - Increases by 20-30 if a smudge stick is used within 6m of it
  - Decays by deltaTime (time since last frame) / 2 every frame, capped at 0
- If a random number from 0 to \<random ability value\> (based on difficulty) is less than or equal to their current activity level, including all ghost-specific multipliers, and an additional 15% if playing solo, they have a chance of interacting with objects, or going to their favourite room, appear, use the fusebox, etc.
  - This means that a higher Ghost activity level, Oni/Wraith multiplier, and playing solo increases the chance of the ghost interacting with the house

- Ghosts can throw any prop around the house. A prop moving does not indicate the ghost being nearby.
Poltergeists throw objects with a random force between ((-5, 5), (-2.5, 2.5), (-3, 3)), while other ghosts throw them with a random force between ((-2.5, 2.5), (-2, 2), (-2.5, 2.5))

#### Ghost Powers
- All ghosts have a 4-in-12 chance of entering a ghost ability state.
- Ghosts that have specific behaviours (listed below) have a 2-in-12 chance of using their specific power on Amateur, and a 2-in-15 chance on other difficulties, once this state has been entered.
##### Banshee
- If the Banshee's current target is outside the house, it will not use its ability
- The Banshee will navigate to a spot close to the target player's position
- The Banshee will wait 20s. If the target player enters line of sight during this navigation time, the Banshee will go into hunting phase. If the current game is a tutorial, it will go back to idle.
- If the Banshee reaches its destination without spotting the target player, it will return to idle phase.
##### Jinn
- If the fusebox is off, Jinns will not enter their ability state, and will return to idle
- Once the Jinn enters their ability state, it will wait 5 seconds before using the ability.
- All players will have their sanity decrease by 25%
- A Ghost Interaction EMF (Level 2) will be created at the ghost's raycast point.
##### Phantom
- The Phantom will navigate to a random player's location
- The Phantom will create a Ghost Interaction (Level 2) EMF at its raycast point
- Once it reaches the random player's position, it will enter idle phase
##### Poltergeist
- If the Poltergeist has no props to interact with, it will return to idle phase
- If there are props to interact with, the Poltergeist will throw *all* of them with a random force of ((-4,4), (-2,2), (-4,4)), and create a Ghost Throwing (Level 3) EMF at the thrown prop's location.
- If the player was in line-of-sight of the EMF spot when it spawned, the player's sanity will decrease by 2x the number of props thrown
##### Wraith
- The Wraith will choose a random player
- If the chosen player is outside the house, or dead, the Wraith will return to idle phase
- If the chosen player is in the house and not dead, the Wraith will teleport to a spot within 3m of the chosen player, then return to idle phase
### Ghost interactions
- Ghosts have a 5-in-12 chance of doing random interactions such as opening doors, throwing props, and writing in ghost books, after satisfying the sanity check above
- Random ghost interactions, including sounds, turning on faucets, moving items, teleporting items, etc, do not generate EMF spots.
- Being within 3m of a Jinn instantly drops your sanity by 25%

#### Ghost Events
- Ghost events for the optional objective occur as part of random ghost interactions
- Ghosts have a 10-in-15 chance (which changes to 10-in-13 on higher difficulties) to enter a randomEvent phase
- After all these checks, it can either:
  - appear to the player, and create a Ghost Appeared (Level 4) EMF Spot
  - turn off light switches
  - slam doors shut, and create a Ghost Appeared (Level 4) EMF Spot
  - spawn a random player's model, play a scream if the spawned model or ghost is within 2m of the player
    - This one doesn't seem to be implemented, as the game contains code to select a random player model, but never uses it
- A ghost event will _increase_ a random player's sanity by 20% (not sure if this is intended)
### Ghost phases
Ghost phases are determined by average player sanity, multiplied by a hunting multiplier, and alternatively multiplied by an Oni or Wraith multiplier.
#### In truck
Ghosts stay in their favourite room until the main door has been  unlocked

#### Setup phase
Setup phase is when the timer in the truck is non-zero:
- Amateur has 5 minutes of setup phase
- Intermediate has 2 minute of setup phase
- Professional has 0 minutes of setup phase

- Ghosts cannot enter hunting phase during this time, but will instead be sent straight to their favourite room.
- "Hunting phase" starts immediately after setup phase, but this merely means regular phase, and not a true hunting phase
- Entering a recognised phrase into a Ouija Board has a 1-in-3 chance of ending setup phase

#### Idle
- All ghosts have an idle timer of 2-6 seconds, set when they return to an idle state
- Once their idle timer has elapsed, the ghost has a 1-in-2 chance of attempting to enter a hunting phase, depending on the team's average sanity and the current hunting multiplier.
  - If 50 > average player sanity + hunting multiplier > 25, the ghost has a 1-in-6 chance of entering hunting phase
  - If average player sanity + hunting multiplier <= 25, the ghost has a 1-in-4 chance of entering hunting phase
- If a random number generated between 0 and the ghost's random activity value (discussed in [Ghost Activity](#ghost-activity)) is greater than their current activity multiplier, the ghost has a 1-in-2 chance of doing an [interaction](#ghost-interactions), using their [ghost ability](#ghost-powers), or entering Wander phase.

#### Wander
- Ghosts can wander up to 3m from their current location at a time.
- Wraiths can occasionally teleport to the player's location, leaving a Ghost Interaction EMF (Level 2) at their new location

- If a smudge stick is within 6m of the ghost, it will:
  - add a random value between 20 and 30 to their activity multiplier,
  - stop the ghost from hunting for 90s (or 180s for Spirits)
  - stop Yureis from wandering for 90s

- Banshees choose a new target when their current target dies, or if they leave the building. If no players are in the building, they will return to their favourite room.
  - Banshees choose the first player in the player list who is not dead
- Revenants move 1.5x slower than other ghosts when not chasing a player. When they are chasing a player, they are 2x faster than other ghosts.
- Jinns move at 2x Unity's default navmesh movement speed when you are more than 4m away from it, and the fusebox is on.

#### Ghost appearing
- Ghosts have a random chance of appearing only as a shadow, but only for alive players. Dead players will always see the full model.
- 1-in-2 chance if it is part of a random event. 1-in-3 chance as part of a hunt, appearance, or player kill

#### Hunting
- Hunting phases last for 25 seconds in Amateur, 35 seconds in Intermediate, and 50 seconds in Professional.

- When a hunting phase starts, the following will occur:
  - Ghosts pick a player to chase at the start of a hunting phase. This changes during a phase if the target player leaves the ghost's line of sight, or for non-Banshees, if another player steps closer to the ghost than the previous target player.
  - While chasing a player, the ghost uses one raytrace to check for line of sight, from its raycastPoint to the player's head position. This means crouching behind objects may prove useful.
  - While not chasing a player, ghosts cast two rays to check for line of sight
     - One ray directly from their raycastPoint (likely located near their head, but unknown at this time)
     - If the direct ray fails, one ray 0.167m to the right of their raycastPoint
     - If both of these raytraces fail, it will default to chasing the original target player
     - If the ghost is not a Banshee, it will cast two rays at each player to check for line of sight
        - One ray from their raycastPoint
        - One ray 0.01m to the right of their raycastPoint
     - If both of these raytraces fail, it will default to targeting the first non-dead player
  - A Ghost Appeared EMF (Level 3) reading will be created where they spawn
  - All entries to the house will be locked
  - If a crucifix is within 3m of the ghost (or 5m for banshees), the hunt will be cancelled, and the ghost will return to its favourite room.
  - If the ghost is a shade and there is more than 1 player in the room, hunting phase will not initiate, and the ghost will return to their favourite room.

- During hunting phases, the following occurs:
  - The ghost will start flickering the fusebox and all flashlights to indicate the successful start of a hunting phase (i.e. phase was not cancelled by anything listed above)
  - Phantoms are visible every 1-2 seconds, 0.3-1 seconds for all other ghost types.
  - If all players leave the ghost's line of sight, and the ghost is not a Banshee, it will start wandering around the house.

- The ghost will return to its favourite room when the player they are targeting is dead.

- If a smudge stick is within 1.5m of their teleport destination, they will return to their favourite room
- After killing a player, the ghost will teleport back to their favourite room, and reset to idle phase. They cannot initiate hunting phase for the next 25 seconds.
### Window knocking
- Ghosts can occasionally knock on windows. When they do, they create fingerprint evidence on the window, and create a Ghost Interaction EMF (Level 2) on the window

## Items
### Candles
- Candles can stay on for a random amount of time between 2.5 and 5 minutes. This value is determined when the candle is lit.
### Cameras
- If a ghost enters the view of a camera (i.e. the ghost is in the same room as the camera) when the fusebox is off, and no lights in that room are on, the ghost will turn off the camera and leave a Ghost Interaction EMF (Level 2) on the camera.

### EMF Reader
The EMF Reader tells you different things about the ghost depending on what level you detected:
- Level 1: Default
- Level 2: The ghost interacted with whatever something near you
  - Level 2 EMF spots have a 1-in-4 chance of showing as EMF Level 5, if your ghost has EMF Level 5 as a trait
- Level 3: The ghost recently threw something near you
  - Level 3 EMF spots have a 1-in-4 chance of showing as EMF Level 5, if your ghost has EMF Level 5 as a trait
- Level 4: The ghost appeared there recently
  - This happens at the beginning of hunting phases, and during random appearance events
- Level 5: Simply used for evidence

- EMF Spots only last for 20 seconds after the ghost has done something in that area, and will disappear after this time has elapsed. This will never change, regardless of whether the ghost is still in the room or not.
- The EMF reader does not actually work based on look direction. It simply gets activated based on its location, and whether it is colliding with any EMF triggers in the map.
- Currently unknown how large these triggers are
- EMF reading levels can change while turning if the EMF reader enters another trigger which overlaps the current one, as the EMF reader just shows the level of the highest EMF zone that it overlaps

#### Truck EMF Data
- The truck's EMF graph shows the sum of all EMF spots in the house, capped at 10
### Ouija Board
- A player has to either wear a VR headset or use local push to talk if Local Push to Talk is enabled in settings. The ghost will always hear your voice if you use Voice Activation mode.
  - In solo games, Push to Talk is not needed, regardless of the menu setting
- Multiple people can be in the room when using the board
- A player must be within 5m of the board for it to work
- Entering a recognised phrase into a Ouija Board has a 1-in-3 chance of doing all of the following:
    - flickering all lights in the player's room
    - decreasing your sanity by 40%
    - Ending setup phase
- The ouija board responds to victim, age, dead, room amount, and location questions. The English questions are below.  For it to register properly in your journal, ensure no one is standing between the camera and the evidence.
- Photos of any evidence in the level count for your journal:
  - EMF spots
  - Ouija board
  - Fingerprints
  - Footsteps
  - DNA (Bone)
  - Ghosts
  - Dead bodies
  - Dirty water
- The game performs a simple ray cast from the camera's world position to the ghost's "raycastPoint", which may not be at its head. As a result, you should frame the entire ghost in your photos to complete the mission.
- Phantoms disappear after having their photo taken. This removes their sanity draining effect as well.
### Salt
- Ghosts only walk on salt spots once
- Ghosts do not affect salt spots during hunting phase

### Smudge Sticks
- When a smudge stick is used (i.e. starts smoking), the game checks if the smudge stick is within 6m of the ghost. If this is the case, the ghost will:
  - add a random value between 20 and 30 to their activity multiplier,
  - stop the ghost from hunting for 90s (or 180s for Spirits)
  - halt a hunting ghost for 5 seconds
  - stop Yureis from wandering for 90s

### Sound Sensors / Parabolic Microphone
- Sound sensors and parabolic microphones work in similar ways. Sound sensors provide data on the loudest sound source they detect, while parabolic microphones provide the sum of all sound sources it detects
- Both systems work based on intersection with Noise triggers placed around the map. These are variable-sized box colliders that have volumes attached to them
- As with the EMF Reader, these devices are NOT dependant on look angles, but uses the device's world position for intersection calculations. This means that the device may provide different readings while stationary and looking around if you are standing at the very border of two intersecting triggers.
- Sound sensor values are updated in the truck every 5 seconds
- Parabolic microphone values are updated at random intervals between 1 and 2 seconds
- Sound sources
  - Car
  - Door
  - EMF Reader
  - Spirit Box
  - Footsteps
  - Fuse box
  - Ghost throws
  - Camera shutters
  - Using a lighter
  - Motion sensors
  - Ouija boards
  - Sanity pills
  - Paintings falling
  - Player push to talk (local and global)
  - Salt
  - Sinks
  - Thermometers
  - Torches
### Thermometer
- As explained in [Freezing Temperatures](#freezing-temperatures), non-freezing temperature ghosts will drop a room down to 5C, and freezing temperature ghosts drop the room down to -10C. Your thermometer shows values +- 2C from the actual value, so if you see any values below 3C (37.4F), you have a ghost with Freezing Temperatures.
- The thermometer shoots a 6m ray from the bottom of the handle, not the actual front of the gun, and displays the temperature for the location of the first thing the ray hit
- If the 6m raycast fails, it will not update the temperature on the thermometer's display
- This is a visual representation of 6m in the game:
    ![](img/6m.jpg)

## Misc
### Anti-Cheat
- Err...the game just checks if you have over $250,000 and sets you back to $100. Seems legit.

 There is no insurance on Professional.

repository: kyroskoh/phasmophobia-mech

repo_name: kyroskoh/phasmophobia-mech


text:
Previous |
Index |
Next

# Distributed memories

Alogic has native language support for working with distributed memories. Alogic
distributed memories support immediate, combinational reading of an arbitrary
number of entries, and sequential writing of a single entry in a single clock
cycle.

### Declaring distributed memories

Distributed memories are declared using an array-style syntax:

```
<type> <identifier>[<depth>];
```

- _\<type>_ is the data type of each individual element, i.e. the memory width.
  It must be an integer type.

- _\<depth>_ is how many elements are stored, i.e. the memory depth. It must be
  a constant expression.

- A 32-entry memory of 16-bit unsigned integers called `storage` could be
  declared as `u16 storage[32];`

Note that a distributed memory (`u16 storage[32]`) is different from a of a
vector (`u16[32] storage`). The distributed memory evaluates to an unpacked
array whereas the vector evaluates to a packed array.

### Working with distributed memories

To get the value at a memory location, use the indexing syntax:

```
  u16 sum = storage[1] + storage[0];
```

Reading a distributed memory by indexing is a combinational operation and the
index expression evaluates to the value stored at the addressed location. There
is no limit imposed by Alogic on the number of look-ups that can be performed
simultaneously. However, the designer should keep in mind the implications of
multiple parallel accesses in terms of circuit timing and area.

Distributed memories can be updated (written) one entry per cycle. Writing to a
distributed memory is performed using the `.write` method, which has the
following signature:

```
  void write(uint($clog2(<depth>)) addr, <type> data);
```

Writing the value `16'habcd` to address `9` in the distributed memory called
`storage` (declared earlier) is performed with:

```
  storage.write(5'd9, 16'habcd);
```

Writes take effect only on the subsequent clock cycle:

```
  storage.write(5'd9, 16'h0123);
  fence;
  // storage[9] is now 16'h0123

  storage.write(5'd9, 16'habcd); // The write only commits at the end of the cycle

  u16 x = storage[9]; // 'x' becomes 16'h0123
  fence;

  u16 y = storage[9]; // 'y' becomes 16'habcd
  fence;
```

### Implementation of distributed memories

In the Verilog implementation emitted by the compiler, distributed memories are
implemented using unpacked arrays. Direct indexing is used for look-ups, but
additional write enable (`we`), write data (`wdata`) and write address (`waddr`)
signals are used to handle writes. The distributed memory `storage` (declared
as `u16 storage[32]`) would be implemented in the generated Verilog as:

```verilog
  // Memory
  reg [15:0] storage_q [31:0];

  // Write bus
  reg storage_we;
  reg [4:0] storage_waddr;
  reg [15:0] storage_wdata;

  // Memory update
  always @(posedge clk) begin
    if (storage_we) begin
      storage_q[storage_waddr] <= storage_wdata;
    end
  end
```

### Example: FIFO with distributed memory

As an example , a fifo with a simple 32 entry deep, 8-bit wide distributed
memory could be written in Alogic as:

```
fsm dfifo {
  in  sync ready               u8 p_in;
  out sync ready bslice fslice u8 p_out;

  // The full/empty status bits
  bool full = false;
  bool empty = true;

  // The backing distributed memory
  u8 storage[32];

  // The read and write pointers
  u5 rdptr = 5'd0;
  u5 wrptr = 5'd0;

  void main() {
    // Check whether we can read or write this cycle
    bool rd = !p_out.full && !empty;
    bool wr = p_in.valid && !full;

    // Do the read if required
    if (rd) {
      p_out.write(storage[rdptr]);
      rdptr++;
    }

    // Do the write if required
    if (wr) {
      storage.write(wrptr, p_in.read());
      wrptr++;
    }

    // Check if the pointers are equal
    bool eq = rdptr == wrptr;

    // full/empty only change if reading or writing on a cycle but not both
    if (rd ^ wr) {
      full = wr & eq;
      empty = rd & eq;
    }

    fence;
  }
}
```

Previous |
Index |
Next

repository: ArgonDesign/alogic

extension: md

gha_language: Scala

gha_license_id: NOASSERTION

license_type: permissive

repo_name: ArgonDesign/alogic


text:
---
layout: default
title: Troubleshooting
parent: Installation
nav_order: 6
---

# Troubleshooting Installation Errors

## Bundler Installation Error

If you have a secure firewall that prevents **bundler** from installing properly, type the following into the command line:

`gem sources -c`
`gem sources -a http://rubygems.org/`

You will need to accept the reduced security of `http` compared to `https`

If installing bundler **still** doesn't work, create a `.gemrc` file in your home directory:

```terminal
type nul > C:\Users\<user_name>\.gemrc
```

Edit the new `.gemrc` file to contain:

```yml
:backtrace: false
:bulk_threshold: 1000
:sources:
- http://rubygems.org
:update_sources: true
:verbose: true
```

- Now install **bundler**:

```terminal
gem install bundler -v 2.1
```

## Installing OpenStudio in Ubuntu < 18.04:

Manually install [libpng12](https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html)
- If you get gdbm libs errors like the following, you need to create symlinks to the appropriate version (`libgdbm.so.5` and `libgdbm_compat.so.4`):

	```terminal
	/usr/local/openstudio-3.0.0/bin/openstudio: error while loading shared libraries: libgdbm.so.3: cannot open shared object file: No such file or directory
	```

	or:

	```terminal
	/usr/local/openstudio-3.0.0/bin/openstudio: error while loading shared libraries: libgdbm_compat.so.3: cannot open shared object file: No such file or directory
	```

branch_name: refs/heads/develop

gha_language: HTML


text:
todo-lists
==========

A basic Rails 3.1 application for TODO list management.

Compatibility
=============

Developed and tested using the following setup:

	$ ruby -v
	ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.7.0]
	$ rails -v
	Rails 3.1.4

Installation
============

	git clone git://github.com/ksob/todo-lists.git
	cd ./todo-lists
	bundle install --without test

Faye Server Setup
=================

This application requires Faye Server to run.
By default it uses existing one on Heroku.
To set your own remote Faye Server just clone this app and upload it onto Heroku adding Procfile containing:

    web: bundle exec rackup private_pub.ru -p $PORT -s thin -E production

To run Faye Server locally just clone this app and execute:

	rackup private_pub.ru -s thin -E production

You can change URL inside: config/private_pub.yml

Running
=======

    rake db:migrate
    rake db:seed
    rails s

Test Suite
==========

    bundle install
    RAILS_ENV=test rake db:migrate
    RAILS_ENV=test rake db:seed
    rake spec

License
=======

(The MIT License)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

license: MIT

repository: ksob/todo-lists

branch_name: refs/heads/master

repo_name: ksob/todo-lists


text:
# Divide and Conquer Algorithms take form of

1. Divide - data set into smaller components
2. Conquer - solve smallest components
3. Combine - solutions to smaller components to form solution

Divide and conquer (D&C) is an algorithm design paradigm based on
*multi-branched recursion*.

A divide and conquer algorithm works by
recursively breaking down a problem into two or more sub-problems
of the same or related type, until these become simple enough to be
solved directly.

The solutions to the sub-problems are then combined to give a solution
to the original problem.

Examples:

- Merge Sort
- Quick Sort
- Binary Search (Pesudo divide and conquer technique, only 1 half is processed)
> http://stackoverflow.com/questions/8850447/why-is-binary-search-a-divide-and-conquer-algorithm
Data Structures and Algorithm Analysis in Java, 2nd edtition, Mark Allen Weiss
Says that a D&C algorithm should have two disjoint recursive calls. I.e like QuickSort. Binary Search does not have this, even if it can be implemented recursively.
- Strassen's Matrix Multiplication (matrix multiplication)
- Closest pair (points)
- Fast Fourier Transform

Further reading: http://www.geeksforgeeks.org/divide-and-conquer-set-1-find-closest-pair-of-points/

repository: atgoud/technical-interviews

repo_name: atgoud/technical-interviews


text:
Provided .cmd files will compile source code using Visual C++ or MinGW-w64 (GCC) with boost libraries.

### How to install GCC compiler with precompiled boost libraries:
https://github.com/orlp/dev-on-windows/wiki/Installing-GCC--&-MSYS2

### Visual Studio Community (VC++):
https://www.visualstudio.com/vs/community/

### If you want use boost libraries with Visual Studio:
Homepage: http://www.boost.org/<br>
Instructions: http://www.boost.org/doc/libs/release/more/getting_started/windows.html
- Download the latest version (e.g. boost_1_65_1.zip)
- Extract it somewhere (e.g. C:\Program Files\boost\)
- Run as Administrator: Start > Visual Studio ???? > x64 Native Tools Command Prompt for VS ????
- change directory to boost root folder (cd "C:\Program Files\boost\boost_1_65_1")
- run command bootstrap
- run command .\b2
Everything is prepared, now just set in your project settings:
- C/C++ > General > Additional Include Directories to "C:\Program Files\boost\boost_1_65_1\"
- Linker > Additional Library Directories to "C:\Program Files\boost\boost_1_65_1\stage\lib\"

repository: shrddr/UnPAZ

gha_license_id: MIT

repo_name: shrddr/UnPAZ


text:
# Submit Simple Scala Spark Application

This recipe will show how to submit a simple spark application against the Spark Cluster of the data platform. The application reads data from Minio S3 in CSV and transforms it to Parquet.

## Initialise data platform

First [initialise a platys-supported data platform](../documentation/getting-started.md) with the following services enabled

```
platys init --enable-services SPARK,MINIO,AWSCLI,PROVISIONING_DATA -s trivadis/platys-modern-data-platform -w 1.8.0
```

Now set an environment variable to the home folder of the dataplatform and generate and start the data platform.

```
export DATAPLATFORM_HOME=${PWD}

platys gen

docker-compose up -d
```

## Upload Raw Input Data to MinIO S3 Buckets

Let's upload some data into MinIO, the S3 compatible data store running as part of the data platform.

First create the flight and app bucket

```
docker exec -ti awscli s3cmd mb s3://flight-bucket
```

And then load the data (provisioned by the data container enabled with the `PROVISIONING_DATA_enable` flag)

```
docker exec -ti -w /data-transfer/flight-data/flights-small/ awscli s3cmd put flights_2008_4_1.csv flights_2008_4_2.csv flights_2008_5_1.csv s3://flight-bucket/raw/flights/ &&
  docker exec -ti awscli s3cmd put /data-transfer/flight-data/airports.csv s3://flight-bucket/raw/airports/ &&
  docker exec -ti awscli s3cmd put /data-transfer/flight-data/carriers.csv s3://flight-bucket/raw/carriers/ &&
  docker exec -ti awscli s3cmd put /data-transfer/flight-data/plane-data.csv  s3://flight-bucket/raw/plane-data
```

## Build the application using Maven

Navigate to the `test-artefacts/spark-simple-app` folder and build the application using Maven:

```
cd ./test-artefacts/spark-simple-app`

mvn package
```

Copy the generated artefact `digital-data-object-refinement-1.0-SNAPSHOT-jar-with-dependencies.jar` in the `target` folder to the `data-transfer/app` folder of the platys dataplatform.

```
cp ./target/digital-data-object-refinement-1.0-SNAPSHOT-jar-with-dependencies.jar ${DATAPLATFORM_HOME}/data-transfer/app
```

## Upload the Spark application to MinIO S3

Create the `app-bucket`

```
docker exec -ti awscli s3cmd mb s3://app-bucket
```

and upload the Spark Application (jar) from the `data-transfer/app` folder to MinIO `app-bucket`:

```
docker exec -ti -w /data-transfer/app/ awscli s3cmd put digital-data-object-refinement-1.0-SNAPSHOT-jar-with-dependencies.jar s3://app-bucket/spark/
```

## Submit the Spark Application

A Spark application can be submitted using the [`spark-submit`](https://spark.apache.org/docs/latest/submitting-applications.html) script. It is located in the Spark's `bin` directory and available in the `spark-master` container.

We can either submit using the local file in the `data-transfer/app` folder:

```
docker exec -ti spark-master spark-submit --master spark://spark-master:7077 digital-data-object-refinement-1.0-SNAPSHOT-jar-with-dependencies.jar
```

or using the jar we have uploaded to the MinIO S3 bucket:

```
docker exec -ti spark-master spark-submit --master spark://spark-master:7077 --class com.trivadis.sample.spark.SampleApp --conf spark.hadoop.fs.s3a.endpoint=http://minio:9000 --conf spark.hadoop.fs.s3a.access.key=V42FCGRVMK24JJ8DHUYG --conf spark.hadoop.fs.s3a.secret.key=bKhWxVF3kQoLY9kFmt91l+tDrEoZjqnWXzY9Eza --conf spark.hadoop.fs.s3a.path.style.access=true s3a://app-bucket/spark/digital-data-object-refinement-1.0-SNAPSHOT-jar-with-dependencies.jar
```

repository: atdavidpark/platys-modern-data-platform

repo_name: atdavidpark/platys-modern-data-platform


text:
---
---
Design Principles
=========================
The purpose of this report is to explain what design principle is being used on this site.

Explanation
------------------------
This site is build with simplicity in mind thus there aren't that many element being affected.

That said the purpose of this course is to learn about different design principles.

The site is build with Unity principle and thus already archive the design principle of this course part.

Reference
---------------
The following references will explain what design principle is.

* [Wikipedia Design elements and principles](https://en.wikipedia.org/wiki/Visual_design_elements_and_principles)
* [Dbwebb design course](https://dbwebb.se/kurser/design-v2/kmom06)

Mics
-------
This reports is done by Hien Van Le.


text:
# NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video
### [Project Page](https://zju3dv.github.io/neuralrecon) | [Paper](https://arxiv.org/pdf/2104.00681.pdf)

> NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video
> [Jiaming Sun](https://jiamingsun.ml)\*, [Yiming Xie](https://ymingxie.github.io)\*, [Linghao Chen](https://github.com/f-sky), [Xiaowei Zhou](http://www.cad.zju.edu.cn/home/xzhou/), [Hujun Bao](http://www.cad.zju.edu.cn/bao/)
> CVPR 2021 (Oral Presentation)

![real-time video](assets/neucon-demo.gif)

## Code release ETA
We plan to release the code within a month, stay tuned.
Please subscribe to [this discussion thread](https://github.com/zju3dv/NeuralRecon/discussions/2) if you wish to be notified of the code release.
In the meanwhile, discussions about the paper are welcomed in the [discussion panel](https://github.com/zju3dv/NeuralRecon/discussions).

## Citation

If you find this code useful for your research, please use the following BibTeX entry.

```
@article{sun2021neucon,
  title={{NeuralRecon}: Real-Time Coherent {3D} Reconstruction from Monocular Video},
  author={Sun, Jiaming and Xie, Yiming and Chen, Linghao and Zhou, Xiaowei and Bao, Hujun},
  journal={CVPR},
  year={2021}
}
```

## Copyright
This work is affiliated with ZJU-SenseTime Joint Lab of 3D Vision, and its intellectual property belongs to SenseTime Group Ltd.

```
Copyright SenseTime. All Rights Reserved.

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.
```

repository: OhHandsome/NeuralRecon

repo_name: OhHandsome/NeuralRecon


text:
# _Doctor Lookup_

#### _Modern JavaScript practice project at Epicodus_

#### By _**Kimlan Nguyen**_

## Description

_This program uses BetterDoctor Api to find doctors when a specific keyword is entered into the search form._

## Specifications

 | Behavior   |Input Example   | Output Example  |
 |---------------- |:----------:|:------------: |
 |Users are able to search for doctors by name| enter: Henry | display: information about doctor Henry|
 |Users are able to search for doctors by medical condition | enter: neck pain | display: doctors who can treat neck pain|
 |Users are able to search for doctors by location | enter: portland | display: all doctors in Portland|
 |Users are able to search for doctors by gender | enter: male or female | display: male or female doctors|
 |User are able to search for doctors by specialty | choose: Sport Physical Therapy | display: all doctors who specialty is Sport Physical Therapy |

## Setup/Installation Requirements
* _This program requires Node.js and npm to run. Follow the instruction here https://www.learnhowtoprogram.com/javascript/getting-started-with-javascript-2f9a73dc-b7f5-4a22-9101-e69d49f552ac/installing-node-js to install them onto your system._
* _Clone this file using Git. On OSX, open terminal (open Windows PowerShell on Windows), and type in the following: git clone [url], where [url] is the github repository url._
* _Obtain an api key by signing up for an account at https://developer.betterdoctor.com/ ._
* _Using a text editor of your choice, create a file called ".env" in the project foler, ex. Doctor/.env._
* _Open ".env" and type in the following: exports.apiKey="apiKey"; where apiKey is the key you obtained previously._
* _In terminal or Windows PowerShell, navigate to the project folder, ex: cd Desktop/Doctor_
* _Enter the following:_
* _npm init_
* _npm install_
* _bower init_
* _bower install_
* _gulp build_
* _gulp serve_
* _The console will automatically direct you to the website._

## Known Bugs

_There are no bugs that I am awared of._

## Support and contact details

<EMAIL_ADDRESS>
## Technologies Used

* _HTML_
* _npm_
* _bower_
* _JavaScript_

### License

*This program is licensed under MIT License.*

Copyright (c) 2017 **_Kimlan Nguyen_**


text:
# fake-identity.js

[![Build Status](https://travis-ci.org/travishorn/fake-identity.svg?branch=master)](https://travis-ci.org/travishorn/fake-identity)

Generate random identity objects including name, address, etc. This may be useful if you are trying to fill your application with random personal data.

## Features

- Generates a single random identity or multiple identities in an array.
- Includes first and last names, email address, phone number, street, city, state, zip code, date of birth, sex, company, and department.
- Email address is based off of name.
- First name matches sex.
- All names, streets, and cities are commonly found in the US.
- States are weighted on population, so more populous states appear more often.
- Zip codes are loosely based on state. Zip codes are weird so it's not perfect, though.
- Date of birth will be between 18 and 60.
- Usable in the browser or Node.js.
- No dependencies.

## Installation

### Browser

Add the following to your page:

    <script src="dist/fake-identity.js"></script>

This will make a new global variable named `Identity` available.

### Node

Run

    npm install fake-identity

Add the following to your application:

    var Identity = require('fake-identity');

## Usage

Once installed, just use `Identity.generate()` in your scripts to get an identity object with random values. The returned object looks like this:

    {
      firstName: "Amelia",
      lastName: "Wright",
      emailAddress<EMAIL_ADDRESS>      phoneNumber: "(555) 555-0155",
      street: "7327 Central Avenue",
      city: "Oxford",
      state: "TX",
      zipCode: "75045",
      dateOfBirth: Fri Jul 20 1962 00:00:00,
      sex: "female",
      company: "Contoso Pharmaceuticals",
      department: "Legal"
    }

You can also pass a number to generate more than one identity. Multiple identity objects are returned in an array like so:

    Identity.generate(3);

    [
      {
        firstName: ...
        lastName: ...
        ...
      },
      {
        firstName: ...
        lastName: ...
        ...
      },
      {
        firstName: ...
        lastName: ...
        ...
      }
    ]

## Tests

Run `gulp test`

Please note that, to run tests, you must clone the repository in git. Tests are not included in the NPM module.

## To do

- Add configuration options

## License

The MIT License (MIT)
Copyright © 2014 Travis Horn

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

repository: smartHelios/fake-identity

repo_name: smartHelios/fake-identity


text:
#o365api-as-apponly-webapp

Sample web app that uses client credential flow to access Users, Mail, Calendar, Contacts in Office 365 via Rest APIs.

For more information about how the protocols work in this scenario, see [Service to Service Calls Using Client Credentials] (http://msdn.microsoft.com/en-us/library/azure/dn645543.aspx)

For more information about "app-only" aka 'Service or Daemon applications' in Office 365, see the companion blog on: (http://blogs.msdn.com/b/exchangedev/archive/2015/01/22/building-demon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow.aspx)

## How To Run This Sample

To run this sample you will need:
- Visual Studio 2013
- An Internet connection
- An Office 365 Developer Subscription (a free trial is sufficient)

You can get a Office 365 Developer Subscription by signing up at (https://msdn.microsoft.com/en-us/library/office/fp179924(v=office.15).aspx)

### Step 1:  Clone or download this repository

From your shell or command line:

`git clone https://github.com/mattleib/o365api-as-apponly-webapp`

### Step 2  Register the sample with your Azure Active Directory tenant

####Prereq: Create a certificate for your app as described in the companion blog: (http://blogs.msdn.com/b/exchangedev/archive/2015/01/22/building-demon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow.aspx)

1. Sign in to the [Azure management portal](https://manage.windowsazure.com).
2. Click on Active Directory in the left hand nav.
3. Click the directory tenant where you wish to register the sample application.
4. Click the Applications tab.
5. In the drawer, click Add.
6. Click "Add an application my organization is developing".
7. Enter a friendly name for the application, for example "O365AppOnlySample", select "Web Application and/or Web API", and click next.
8. For the sign-on URL, enter the base URL for the sample, e.g. `https://localhost:44321/Home`.
  - *Note*: The sign-on URL must end with **"`Home`"** as the application code expects this.
  - *Note*: As host component make sure that is the correct port for your IIS Express SSL that you later use for running/debugging the sample.
9. For the App ID URI, enter `https://<your_tenant_name>/O365AppOnlySample`, replacing `<your_tenant_name>` with the name of your Azure AD tenant.  Click OK to complete the registration.
10. While still in the Azure portal, click the Configure tab of your application.
11. Find the Client ID value and copy it aside, you will need this later when configuring your application.
12. Configure following application permissions for the web app:
  - In the section "permissions to other applications" select **"Windows Azure Active Directory"**
  - From the "Application Permission" drop-down for "Windows Azure Active Directory" check: **"Read directory data"**
  - Select "Add Application" and add **"Office 365 Exchange Online"**
  - From the "Application Permission" drop-down for "Office 365 Exchange Online" check: **"Read users' mail"**
  - From the "Application Permission" drop-down for "Office 365 Exchange Online" check: **"Read users' calendar"**
  - From the "Application Permission" drop-down for "Office 365 Exchange Online" check: **"Read users' contacts"**
13. Save the configuration so you can view the key value.
14. Configure the X.509 public certificate as explained in the companion blog: (http://blogs.msdn.com/b/exchangedev/archive/2015/01/22/building-demon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow.aspx)

### Step 3  Configure the sample

1. Open the solution in Visual Studio 2013.
2. Open the `web.config` file.
3. Find the app key `RedirectUriLocalHost` and replace the value with the value in Step 2.
4. Find the app key `ClientId` and replace the value with client ID of Step 2.
5. Find the app key `ClientCertificatePfx` and replace the value with the location where your X.509 certificate with the private key is located
6. Find the app key `ClientCertificatePfxPassword` and replace the value with the password of your x.509 certificate with the private key
7. Configure the project to require SSL and make sure the Start URL is set to SSL by:
    a) Project Properties box: SSL Enabled, set to true
	b) Project Properties box: SSL URL: Make sure it matches the sign-on URL host component as specified in Step 2
	c) Project Settings Editor: Set the Start URL to the value as specified in previous step

### Step 4  Run the sample

Rebuild the solution, and run it.  You might want to go into the solution properties to check if the Startup matches your "https" sign-on URL as specified in Step 2.

Explore the sample by signing in with your Office 365 Developer Tenant, select a mailbox (you might want to create more mailboxes and fill with data in the Office 365 Admin Portal) and retrieve data.


text:
# just_the_tooltip

`just_the_tooltip` gives you more flexibility over the Flutter standard `Tooltip` by allowing you to set arbitrary content. It also expands on their single axis layout algorithm to fit both vertically and horizontally. The tooltip can be positioned along any axis and will fall back to the opposite side if overflowed.

## Breaking

* Removed `JustTheTooltip.entry` named constructor in favor of dedicated widget `JustTheTooltipEntry`. This mirrors a change in the code that explicitly differentiates where and how tooltips are shown.

 Short loin filet mignon shoulder rump beef ribs meatball kevin.',
    ),
  ),
)
```

JustTheTooltip needs two arguments. The direct child widget and the content (of the tooltip).  The `child` widget will be wrapped with a `GestureDetector` or `MouseRegion` that is responsible for showing and hiding the content. Further handling of the tooltip state can be managed explicitly through a controller:

If you'd like to create a controller to manage the state of the tooltip, you can do so by defining an instance of a `JustTheController` and pass it through to constructor.

```dart
final tooltipController = JustTheController();

child: JustTheTooltip(
  controller: tooltipController,
  // ...
)

void showTooltip() {
  controller.showTooltip();
}
```

The controller itself is a `ValueNotifier` that carries the open/close state of the tooltip. To listen to these changes, add a listener to your controller.

```dart
@override
void initState() {
  // Programatically display tooltip after two seconds
  Future.delayed(const Duration(seconds: 2), () {
    tooltipController.showTooltip(immediately: false);
  });

  tooltipController.addListener(() {
    // Prints the enum value of [TooltipStatus.isShowing] or [TooltipStatus.isHiding]
    print('controller: ${tooltipController.value}');
  });
}
```

If you'd like to simply react to open or close states, you can pass through `onDismiss` or `onShow` callbacks to the default constructor.

```dart
JustTheTooltip(
  onDismiss: () {
    // Maybe continue tutorial?
  },
  onShow: () {
    // Start animation?
  }
),
```

If you'd like to keep the user from dismissing the tooltip by clicking on the barrier, you can change `barrierDismissible` to `true` which means pressing on the scrim area will not immediately hide the tooltip.

## Customization

* Modal

You can further define how a `Tooltip` will show by defining the `isModal` property. A modal will only open through clicking on the `child` and close by clicking on the background area (referred to as the `skrim` here). A non-modal (the default) is a more traditional tooltip opens and closes on hovers.

__Note, phone emulators do not implement mouse controls. To test hover states, use a browser.__

The fallback used when no mouse region is present but `isModal` is false is to only open when long pressed.

<p>
 <img src="https://github.com/Nolence/just_the_tooltip/blob/main/screenshots/ezgif-2-f7d77a21f161.gif?raw=true" width="320" height="568"/>
</p>

* Tail Builder

If you'd like a custom tail (the nub on the end dialog bubble) drawn on your tooltip, you can pass through your own tailBuilder. The `JustTheInterface.defaultTailBuilder` (default) shows how to simply draw and return a path for your custom tails:

```dart
Path defaultTailBuilder(Offset tip, Offset point2, Offset point3) {
  return Path()
    ..moveTo(tip.dx, tip.dy)
    ..lineTo(point2.dx, point2.dy)
    ..lineTo(point3.dx, point3.dy)
    ..close();
}
```

The library also provides a simple bezier curved tailbuilder `JustTheInterface.defaultBezierTailBuilder`.

* ListViews

The tooltip should also work in lists and follow the target through scrolling. For even more consideration of the available space in ListViews, a `ScrollController` may be passed to the `just_the_tooltip` to give the layout algorithm a hint as to how much space is before and after the scroll axis. This allows tooltips that would otherwise overflow to use up space offscreen in one of the scroll directions.

* Non-Overlay Tooltip

For use cases where the tooltip must be a part the widget tree rather than an overlay there is a `JustTheTooltipEntry`.

```dart
Scaffold(
  appBar: AppBar(title: const Text('It goes under me')),
  body: JustTheTooltipArea(
    builder: (context, tooltip, scrim) {
      return Stack(
        fit: StackFit.passthrough,
        children: [
          ListView.builder(
            itemCount: 30,
            itemBuilder: (context, index) {
              if (index == 15) {
                return JustTheTooltipEntry(
                  tailLength: 10.0,
                  preferredDirection: AxisDirection.down,
                  isModal: true,
                  margin: const EdgeInsets.all(20.0),
                  child: const Material(
                    color: Colors.blue,
                    shape: CircleBorder(),
                    elevation: 4.0,
                    child: Padding(
                      padding: EdgeInsets.all(8.0),
                      child: Icon(
                        Icons.touch_app,
                        color: Colors.white,
                      ),
                    ),
                  ),
                  content: Column(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Container(
                        height: 120,
                        color: Colors.blue,
                        width: double.infinity,
                      ),
                      const SizedBox(height: 8),
                      const Text(
                        'Quia ducimus eius magni voluptatibus ut veniam ducimus. Ullam ab qui voluptatibus quos est in. Maiores eos ab magni tempora praesentium libero. Voluptate architecto rerum vel sapiente ducimus aut cumque quibusdam. Consequatur illo et quos vel cupiditate quis dolores at.',
                      ),
                    ],
                  ),
                );
              }

              return ListTile(title: Text('Item $index'));
            },
          ),
          // In the case of no scrim showing, this will return an SizedBox.shrink
          scrim,
          // In the case of no scrim showing, this will return an SizedBox.shrink
          tooltip,
        ],
      );
    },
  ),
);
```

This will give you the positioned tooltip and scrim (an empty gesture detector that catches tap events and closes the tooltip) for you to enter into the tree however you like. By doing this, you can make tooltips that are visually "under" other parts of the UI such as the appbar in the above example.

<p>
 <img src="https://github.com/Nolence/just_the_tooltip/blob/main/screenshots/scrolling_example.gif?raw=true" width="320" height="568"/>
</p>

API subject to change.

## Contributing

Issues and PRs welcome. Unless otherwise specified, all contributions to this lib will be under MIT license.

## Help wanted

If you're interested in becoming a contributor with push rights please ping me and we can talk about how to get you started ! :)

branch_name: refs/heads/main


text:
# YampaSDL2

**Discontinued** because the performance is really not great.

YampaSDL2 is basically a headstart for the FRP library [Yampa](https://github.com/ivanperez-keera/Yampa) and SDL2. All the boilerplate which is normally necessary for these two libraries to work together is already taken care of. In the end, all that remains is a high-level interface specifically tailored to Yampa which should get you going in no time.

![Screenshot](./screenshot.png)

Screenshot of some drawn shapes.

**Primary Goals:**
- As little setup as possible
- Easy to use (some feedback would be appreciated)

## Roadmap

- [ ] Display Shapes
  - [x] Rectangle
  - [x] Circle
  - [ ] Triangle
  - [ ] Polygon
- [x] Display Images
- [x] Animations
- [x] Handle Input
- [ ] Play sound

**This library is still work in progress**

## Getting started

### Prerequisites

To use yampa-sdl2 you need to have the C-library _sdl2_ installed on your system.

### Installation

yampa-sdl2 is on [hackage](https://hackage.haskell.org/package/yampa-sdl2)! Adding yampa-sdl2 to your dependencies like any other package should do the trick

## How to use

Head over to the [wiki](https://github.com/Simre1/yampa-sdl2/wiki).

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.


text:
# Release Notes v0.2.0

* Architecture
    1. Refactor DingoDB architecture abandon Zookeeper, Kafka and Helix.
    1. Using raft as the consensus protocol to make agreement across multiple nodes on membership selection and data replication.
    1. Region is proposed as the unit of data replication, it can be scheduled, split, managed by `coordinator`.
    1. The distributed file system is replaced by distributed key-value implemented by raft and rocksdb.

* Distributed Storage
    1. Support region to replicate across multiple nodes.
    1. Support region to split based on policies such as key counts or region size.
    1. Support Region to perform periodic snapshot.

* SQL
    1. Support more aggregation functions, such as min,max,avg, etc.
    2. Support `insert into ... select`.

* Client Tools
    1. thin jdbc driver

repository: dingodb/dingo

gha_language: Java

repo_name: dingodb/dingo


text:
### [CVE-2014-1812](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1812)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

The Group Policy implementation in Microsoft Windows Vista SP2, Windows Server 2008 SP2 and R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, and Windows Server 2012 Gold and R2 does not properly handle distribution of passwords, which allows remote authenticated users to obtain sensitive credential information and consequently gain privileges by leveraging access to the SYSVOL share, as exploited in the wild in May 2014, aka "Group Policy Preferences Password Elevation of Privilege Vulnerability."

### POC

#### Reference
No PoCs from references.

#### Github
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ErdemOzgen/ActiveDirectoryAttacks
- https://github.com/Nieuport/Active-Directory-Kill-Chain-Attack-Defense
- https://github.com/R0B1NL1N/AD-Attack-Defense
- https://github.com/Whiteh4tWolf/Attack-Defense
- https://github.com/aymankhder/AD-attack-defense
- https://github.com/bhataasim1/AD-Attack-Defence
- https://github.com/cetriext/fireeye_cves
- https://github.com/geeksniper/active-directory-pentest
- https://github.com/infosecn1nja/AD-Attack-Defense
- https://github.com/mishmashclone/infosecn1nja-AD-Attack-Defense
- https://github.com/nadeemali79/AD-Attack-Defense
- https://github.com/paramint/AD-Attack-Defense
- https://github.com/retr0-13/AD-Attack-Defense
- https://github.com/sunzu94/AD-Attack-Defense
- https://github.com/tataev/Security

repository: trickest/cve

repo_name: trickest/cve


text:
# react-server monorepo [![Build Status][build-badge-img]][build-url]

# Monorepo?

It's a thing, now.  All the cool kids are doing it, like [React](https://github.com/facebook/react/tree/master/packages), [Meteor](https://github.com/meteor/meteor/tree/devel/packages), [Ember](https://github.com/emberjs/ember.js/tree/master/packages), and [Babel](https://github.com/babel/babel/tree/master/packages).  All of the packages are versioned in lockstep, which makes it easier for us to make strong guarantees about the interoperability of the packages that work together in the react-server ecosystem.

# react-server?
The best place to start is [react-server's README](packages/react-server/README.md), though you will likely want to read all of [react-server's docs](packages/react-server/docs).

# Contributing

See [the contributing guide](CONTRIBUTING.md).

[build-badge-img]: https://travis-ci.org/redfin/react-server.png?branch=master
[build-url]: https://travis-ci.org/redfin/react-server


text:
Role Name
=========

A brief description of the role goes here.

Requirements
------------

Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.

Role Variables
--------------

A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.

Dependencies
------------

A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: servers
      roles:
         - { role: username.rolename, x: 42 }

License
-------

BSD

Author Information
------------------

An optional section for the role authors to include contact information, or a website (HTML is not allowed).

mvn archetype:generate -DarchetypeGroupId=io.gatling.highcharts -DarchetypeArtifactId=gatling-highcharts-maven-archetype

val scenario4 = scenario("Full GameKeeper tests“)
   .exec(session => session.set("TimestampFeeder",DateTimeFormat.forPattern("yyyy-MM-dd").print(DateTime.now())
   .exec(createPrivateEvent)

  import java.util.Date
import java.text.SimpleDateFormat

object ISO_TIMESTAMP {
  val isoFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
  def format( d: Date ) =
    new SimpleDateFormat( isoFormat ).format( d )
 override def toString = format( new Date() )
}

...exec( session => session.set( "CURRENT_DATE_TIME", ISO_TIMESTAMP ) )

repository: saidsouteh/testrole

repo_name: saidsouteh/testrole


text:
# Initial notes

## General Description

These are notes made during a pair programming meeting/ webcall with a friend. They're not intended to be super professional

## Hotes

how you start

Units test
test coverage

- unit test
  - break it down to smallest bits
- functional/ integration test
- end to end test (UI UX styff)
- https://martinfowler.com/articles/practical-test-pyramid.html

 ^ pretty good
- lots of unit tests
- service tests about equal to functional/ integration
- analysis dependent on the HTML context, which no bueno
  - decouple upload from data

Split down methods or move methods to Controller
  - controller depends on uploader instead for dumping data as DOM elements

controller.test.js
  - tests it as one stand alone thing
  - more unit tests within that for each method

test domhelper.js

uploader.test.js
  - this test is going to suck because it depends on a DOM element having been loaded, and
  - but also test how it integrates domhelper
  - pass in a mock object with stubbed methods
  - check that img.onload is actually passing a function

test data.analysis.js first

given when, then pattern
  - given this stuff
    - gonna make some mocks as specified
  - invoke object under test, and then pass in the required mocks into the test target
  - when calling this object under test(blah blah do this, or do that)
  - then this stuff should be true or expecting this kind of output

best practices wise
- isolate places where you interact with the DOM(canvas, etc)
  - check canvas if it HAS to be implemented so that the JS interact with UI element

As a general rule return a value instead of just dumping a bunch of methods together, see below:
```js
document.querySelector('.drop__target').addEventListener('drop', (e) => {
  // let arr = uploader.handlePixeldata()
  uploader.handleDrop(e, imgHandler);
  // controller.updateStrip(arr);
});
```

license: ISC

gha_language: JavaScript

gha_license_id: ISC


text:
# vb2clr

The helper class `CLRHost` for Visual Basic for Applications (VBA) 7.0, providing access to CLR (.NET Framework) assemblies and classes.

**To use .NET (formerly .NET Core), consider using [vb2net](https://github.com/jet2jet/vb2net).**

## Requirements

Visual Basic for Application 7.0 (included in Microsoft Office 2010 or higher)

* ***(not tested)*** To use on Visual Basic 6.0, rewrite `LongPtr` to `Long` and remove all `PtrSafe` specifiers.

## Usage

1. Import [CLRHost.cls](./CLRHost.cls) and [ExitHandler.bas](./ExitHandler.bas) into your VB/VBA project
2. Add Type Library reference 'Common Runtime Language Execution Engine' (maybe version 2.4) and 'mscorlib.dll'
3. Write your code using `CLRHost` class

## Notes and Warnings

* You should release the `CLRHost` instance or call `Terminate` method when you finish using CLR.
  * Unexpected behavior may occur due to living CLR instances if you don't release or terminate them.
* If you pass `True` to `TerminateOnExit` parameter of `CLRHost.Initialize`, you must not stop the debugger when breaking or pausing the application.
  * The code in `ExitHandler` module cannot be run when stopped during pausing, and the application (including VBA host such as Excel) may cause crash.
* Encodings of VB files are Shift-JIS; if you have problem with encodings, check `.utf8.*` files, remove Japanese comments, and import them.

## Example

```
Public Sub RegexSample()
    Dim host As New CLRHost
    Call host.Initialize(False)

    On Error Resume Next
    Dim asmSys As mscorlib.Assembly
    Set asmSys = host.CLRLoadAssembly("System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089")

    Dim cobjRegex As mscorlib.Object
    Set cobjRegex = host.CLRCreateObjectWithParams("System.Text.RegularExpressions.Regex", _
        "([0-9])+")

    Dim cobjColl As mscorlib.Object
    Set cobjColl = host.CLRInvokeMethod(cobjRegex, "Matches", "10 20 50 1234 98765")

    Dim vMatch As Variant
    For Each vMatch In host.ToEnumerable(cobjColl)
        Dim cobjMatch As mscorlib.Object
        Set cobjMatch = vMatch
        Debug.Print "Matches: "; host.CLRProperty(cobjMatch, "Value")
        Set cobjMatch = Nothing
    Next vMatch
    vMatch = Empty
    Set cobjColl = Nothing
    Set cobjRegex = Nothing

    'Call host.Terminate
    Set host = Nothing
End Sub
```

## More details

- (In Japanese) [Using CLR(.NET) from VB](https://www.pg-fl.jp/program/tips/vb2clr1.htm)

## Author

jet (@jet2jet)

## License

[New BSD License (or The 3-Clause BSD License)](./LICENSE)


text:
# FusedKush's custom Syntax Theme

My custom Syntax Theme for Atom.

- [x] Very Purple
- [x] Extra Saturated
- [x] **Not** well designed

For use with [fk-custom-v2-ui](https://github.com/FusedKush/fk-custom-v2-ui)


text:
+++
date = "2018-02-26T11:00:13+01:00"
title = "CMake"
author = "Lars Bilke"
weight = 1072

[menu]
  [menu.devguide]
    parent = "troubleshooting"
+++

## <i class="far fa-exclamation-triangle"></i> General advice

If something goes wrong when running CMake please try again with an **empty** or newly created build-directory! This is the very first thing you should try!

Please read the CMake output carefully. Often it will tell you what went wrong.

Also consider using the command line for CMake configuration as lots of CMake options (which modify requirements on third-party libraries) have to be set via the command line **before** CMake ran for the first time. E.g. when building with PETSc the following fails:

- Creating build directory
- Starting CMake GUI
- Click Configure
- Enable option `OGS_USE_PETSC`

When clicking *Configure*, CMake runs without `OGS_USE_PETSC` enabled and picks a VTK library which is not compiled for MPI usage. The picked VTK library is cached and never modified. When enabling PETSc it still uses the old (and now wrong) VTK library.

Instead you should use the CMake command line:

```bash
mkdir build
cd build
cmake ../ogs -DOGS_USE_PETSC=ON
make
```

The following options are affected by this behavior and **should not be changed** after initially set (this means **do not** use `ccmake` or CMake-GUI for the first CMake run):

- `OGS_BUILD_GUI`
- `OGS_USE_PETSC`
- `CMAKE_BUILD_TYPE`
- `BUILD_SHARED_LIBS`

Check also [Conans troubleshooting page]({{< ref "conan.md" >}}) if you use Conan for dependencies.

repository: ufz/ogs

repo_name: ufz/ogs


text:
# ploosic ![Ploosic Travis CI](https://travis-ci.org/colinfike/ploosic.svg?branch=master)

## NO LONGER IN DEVELOPMENT ##
Taking a little break from this to work on other things. The site is also no longer hosted unfortunately.

Ploosic is an app that allows a user to play music from youtube, soundcloud, bandcamp(SOON), etc in a single app/playlist without having to swap between the services or download the files to your machine. The site is responsive but currently the widgets don't function as I'd like on mobile so for now mobile will not work.

Currently in a V1.0 state where a user can access a personal playlist that they can add songs via url from YouTube/SoundCloud and play those songs with your standard play/pause/previous/next functionality.

repository: colinfike/ploosic

repo_name: colinfike/ploosic


text:
---
title: Ribbon RadioButton
page_title: Ribbon RadioButton
description: Check our "Ribbon RadioButton" documentation article for the RadRibbonView {{ site.framework_name }} control.
slug: radribbonview-radio-button
tags: ribbon,radiobutton
published: True
position: 3
---

# Ribbon RadioButton

The __RadRibbonRadioButton__ represents an extension of the __RadRadioButton__. It provides an easier interaction with the __RadRibbonView__ control. What is special about the __RadRibbonRadioButton__ is that it has two states - checked and unchecked. To switch between these states just click on it. Adding several __RadRibbonRadioButtons__ to a __RadRibbonGroup__ allows you to have only one checked at a time.

>Note that ones the button has been checked, it stays in the checked state unless another radio button in the same __RadRibbonGroup__ is clicked. If the button is used alone, it can be unchecked after it has been selected once.

>tip To learn more about the __RadRibbonRadioButton__ control read its documentation.

Here is a sample definition of a __RadRibbonRadioButton__:

#### __XAML__
{{region radribbonview-radio-button_0}}
	<telerik:RadRibbonRadioButton CollapseToMedium="Never"
	                              CollapseToSmall="WhenGroupIsMedium"
	                              IsAutoSize="True"
	                              LargeImage="Icons/32/Equation.png"
	                              Size="Large"
	                              SmallImage="Icons/16/Equation.png"
	                              Text="Equation" />
{{endregion}}

>tip As all buttons in the RadRibbonView's set slightly expose the same functionality, take a look at the [Overview]({%slug radribbonview-buttons-overview%}) topic.

This button has its initial size set to __Large__ and its text label set to __"Equation"__. As the __IsAutoSize__ property is set to __True__, the button will change its size depending on the __RadRibbonGroup's__ size. The button will also never collapse to its __Medium__ size and will collapse to its __Small__ size when the __RadRibbonGroup__ collapses to __Medium__.
![{{ site.framework_name }} RadRibbonView Large Radio Button](images/RibbonView_Buttons_RadioButton.png)

Here is an example of a __RadRibbonGroup__ that contains two __RadRibbonRadioButtons__.

#### __XAML__
{{region radribbonview-radio-button_1}}
	<telerik:RadRibbonGroup DialogLauncherVisibility="Visible" Header="Home Group">
	    <telerik:RadRibbonRadioButton CollapseToMedium="Never"
	                                  CollapseToSmall="WhenGroupIsMedium"
	                                  IsAutoSize="True"
	                                  LargeImage="Icons/32/PageBreak.png"
	                                  Size="Large"
	                                  SmallImage="Icons/16/PageBreak.png"
	                                  Text="Equation" />
	    <telerik:RadRibbonRadioButton CollapseToMedium="Never"
	                                  CollapseToSmall="WhenGroupIsMedium"
	                                  IsAutoSize="True"
	                                  LargeImage="Icons/32/Footer.png"
	                                  Size="Large"
	                                  SmallImage="Icons/16/Footer.png"
	                                  Text="Symbol" />
	</telerik:RadRibbonGroup>
{{endregion}}

![{{ site.framework_name }} RadRibbonView Ribbon Group with Two Radio Buttons](images/RibbonView_Buttons_RadioButtonsGroup.png)

## Handling Changes in the Button's Checked State

Besides the __Click__ event, the __RadRibbonRadioButton__ control exposes two additional events - __Checked__ and __Unchecked.__ They are meant to notify for changes in the checked state of the radio button.

#### __XAML__
{{region radribbonview-radio-button_2}}
	<telerik:RadRibbonToggleButton Checked="RadRibbonToggleButton_Checked"
	                               CollapseToMedium="Never"
	                               CollapseToSmall="WhenGroupIsMedium"
	                               IsAutoSize="True"
	                               LargeImage="Icons/32/Equation.png"
	                               Size="Large"
	                               SmallImage="Icons/16/Equation.png"
	                               Text="Symbol"
	                               Unchecked="RadRibbonToggleButton_Unchecked" />
{{endregion}}

#### __C#__
{{region radribbonview-radio-button_3}}
	private void RadRibbonToggleButton_Checked(object sender, RoutedEventArgs e)
	{
	}
	private void RadRibbonToggleButton_Unchecked(object sender, RoutedEventArgs e)
	{
	}
{{endregion}}

#### __VB.NET__
{{region radribbonview-radio-button_4}}
	Private Sub RadRibbonToggleButton_Checked(sender As Object, e As RoutedEventArgs)
	End Sub

	Private Sub RadRibbonToggleButton_Unchecked(sender As Object, e As RoutedEventArgs)
	End Sub
{{endregion}}

## See Also
 * [Styling the RadRibbonRadioButton]({%slug radribbonview-styling-ribbonradiobutton%})

repository: telerik/xaml-docs

repo_name: telerik/xaml-docs


text:
#A mite to the treasury, of consideration in the Common-Wealth, by severall queries, and such like particulars, in reference to its present state, a representative, religion, law, tythes, lords of manors, taxes and excise, publick debts, accounts, liberty, &c. By J.W. a well-wisher to the publique.#

##J. W., well-wisher to the publique.##
A mite to the treasury, of consideration in the Common-Wealth, by severall queries, and such like particulars, in reference to its present state, a representative, religion, law, tythes, lords of manors, taxes and excise, publick debts, accounts, liberty, &c. By J.W. a well-wisher to the publique.
J. W., well-wisher to the publique.

##General Summary##

**Links**

[TCP catalogue](http://www.ota.ox.ac.uk/tcp/)  •
[HTML](http://tei.it.ox.ac.uk/tcp/Texts-HTML/free/A97/A97065.html)  •
[EPUB](http://tei.it.ox.ac.uk/tcp/Texts-EPUB/free/A97/A97065.epub) •
[Page images (Historical Texts)](https://historicaltexts.jisc.ac.uk/eebo-99863724e)

**Availability**

This keyboarded and encoded edition of the work described above is co-owned by the
    institutions providing financial support to the Early English Books Online Text Creation
    Partnership. This text is available for reuse, according to the terms of  Creative Commons 0 1.0 Universal
    licence. The text can be copied, modified, distributed and performed, even for commercial
    purposes, all without asking permission.

**Major revisions**

1. __2009-06 __ __SPi Global__ *Keyed and coded from ProQuest page images *
1. __2014-05 __ __John Latta __ *Sampled and proofread *
1. __2014-05 __ __John Latta__ *Text and markup reviewed and edited *
1. __2015-03 __ __pfs__ *Batch review (QC) and XML conversion *
1. __2021-05 __ __lb__ *TEI P5 conversion *

##Content Summary##

#####Front#####
A MITE TO THE TREASVRY, Of consideration in the COMMON-WEALTH, By severall Queries, and such like pa
1. To the Impartiall Reader.

#####Body#####

1. A Mite to the Treasury.

    _ 1. Conservators.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 2. Representative.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 3. Their work and time.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.
4. Their power.HOW far are they to be intrusted concerning Religion, Lawes, and Liberties. In the fi
      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 5. Names of good received, and evill delivered from, please not.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 6. Those that do best, most honored.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 7. Char acters of good and evill Members.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 8. People must be conformable.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 9 Work undone.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 10. Committee erected to receive and redress grievances.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 11. God exalted.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 12. Christians united.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 13. Hope directed.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 14. Errors asswaged.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 15. People exhorted.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 16. Law regulated.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 17. Publique Register for Counties or Provinces.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 18. Corporations.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 19. Oathes.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 20 Blood for Blood.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 21. Goales &c. rectified.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 22. Tythes removed.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 23. Lords of Manors and Toll.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 24. Peoples ease minded.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 25. Taxes mittigated.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 26. Excise Reduced.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 27. Publique debts paid.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 28. Wounded souldiers, Widowes and Orphans provided for.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 29. Army Continued.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 30. Free-Quarter and other publique ingage. ments allowed.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 31. Equity observed.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 32. Accompt of former Actions and allowances.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 33. Dayes, &c. Reformed.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 34. Banished Recalled.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 35. Banck for Orphans portions.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 36. Jewes admitted.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 37. Lands improved.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 38. Farthings.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 39. Pious Policie.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ 40. Conservators deputed.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

    _ The Conclusion.

      * Severall Books.

      * Form.

      * Wills.

      * Land Registred.

      * Book for engaged lands, &c. to be registred.

      * The Courts Duty and Power.

      * Fraudulent Debtors prevented.

      * Shipping increased, Seamen incouraged.

#####Back#####

1. The Declaration of the Esquire at Arms.

**Types of content**

  * Oh, Mr. Jourdain, there is **prose** in there!

There are 4 **omitted** fragments!
 @__reason__ (4) : illegible: faint (4)  •  @__extent__ (4) : 1 letter (4)

**Character listing**

|Text|string(s)|codepoint(s)|
|---|---|---|
|Latin-1 Supplement|é|233|
|General Punctuation|—•|8212 8226|

##Tag Usage Summary##

###Header Tag Usage###

|No|element name|occ|attributes|
|---|---|---|---|
|1.|__author__|2||
|2.|__availability__|1||
|3.|__biblFull__|1||
|4.|__change__|5||
|5.|__date__|7| @__when__ (1) : 2016-02 (1)|
|6.|__editorialDecl__|1||
|7.|__encodingDesc__|1||
|8.|__extent__|2||
|9.|__fileDesc__|1||
|10.|__idno__|7| @__type__ (7) : DLPS (1), EEBO-CITATION (1), VID (1), EEBO-PROQUEST (1), STC (2), PROQUEST (1)|
|11.|__keywords__|1| @__scheme__ (1) : http://authorities.loc.gov/ (1)|
|12.|__label__|5||
|13.|__langUsage__|1||
|14.|__language__|1| @__ident__ (1) : eng (1)|
|15.|__listPrefixDef__|1||
|16.|__note__|8||
|17.|__notesStmt__|2||
|18.|__p__|11||
|19.|__prefixDef__|2| @__ident__ (2) : tcp (1), char (1)  •  @__matchPattern__ (2) : ([0-9\-]+):([0-9IVX]+) (1), (.+) (1)  •  @__replacementPattern__ (2) : http://eebo.chadwyck.com/downloadtiff?vid=$1&page=$2 (1), https://raw.githubusercontent.com/textcreationpartnership/Texts/master/tcpchars.xml#$1 (1)|
|20.|__profileDesc__|1||
|21.|__projectDesc__|1||
|22.|__pubPlace__|2||
|23.|__publicationStmt__|2||
|24.|__publisher__|2||
|25.|__ref__|4| @__target__ (4) : https://creativecommons.org/publicdomain/zero/1.0/ (1), http://www.textcreationpartnership.org/docs/. (1), https://textcreationpartnership.org/faq/#faq05 (1), https://github.com/textcreationpartnership (1)|
|26.|__relatedItem__|1| @__type__ (1) : facs (1)  •  @__target__ (1) : https://data.historicaltexts.jisc.ac.uk/view?pubId=eebo-99863724e (1)|
|27.|__revisionDesc__|1||
|28.|__seriesStmt__|1||
|29.|__sourceDesc__|1||
|30.|__term__|2| @__type__ (2) : corporate_name (1), topical_term (1)|
|31.|__textClass__|1||
|32.|__title__|3||
|33.|__titleStmt__|2||

###Text Tag Usage###

|No|element name|occ|attributes|
|---|---|---|---|
|1.|__back__|1||
|2.|__bibl__|1||
|3.|__body__|2||
|4.|__closer__|3||
|5.|__date__|3||
|6.|__dateline__|3||
|7.|__desc__|4||
|8.|__div__|54| @__type__ (54) : title_page (1), to_the_reader (1), treatise (1), part (40), form (1), section (8), conclusion (1), declaration (1)  •  @__n__ (40) : 1 (1), 2 (1), 3 (1), 4 (1), 5 (1), 6 (1), 7 (1), 8 (1), 9 (1), 10 (1), 11 (1), 12 (1), 13 (1), 14 (1), 15 (1), 16 (1), 17 (1), 18 (1), 19 (1), 20 (1), 21 (1), 22 (1), 23 (1), 24 (1), 25 (1), 26 (1), 27 (1), 28 (1), 29 (1), 30 (1), 31 (1), 32 (1), 33 (1), 34 (1), 35 (1), 36 (1), 37 (1), 38 (1), 39 (1), 40 (1)|
|9.|__floatingText__|1| @__xml:lang__ (1) : eng (0)|
|10.|__front__|1||
|11.|__g__|97| @__ref__ (97) : char:EOLhyphen (97)|
|12.|__gap__|4| @__reason__ (4) : illegible: faint (4)  •  @__extent__ (4) : 1 letter (4)|
|13.|__head__|51||
|14.|__hi__|87||
|15.|__note__|58| @__n__ (54) : a (3), b (3), c (2), d (2), e (2), f (2), g (2), h (1), i (2), k (2), l (2), m (2), n (2), o (2), p (2), q (2), r (2), s (2), t (2), u (2), w (2), x (2), y (2), z (2), * (3), 1 (1), 2 (1)  •  @__place__ (58) : margin (58)|
|16.|__p__|57| @__n__ (1) : 4 (1)|
|17.|__pb__|21| @__facs__ (21) : tcp:115937:1 (1), tcp:115937:2 (2), tcp:115937:3 (2), tcp:115937:4 (2), tcp:115937:5 (2), tcp:115937:6 (2), tcp:115937:7 (2), tcp:115937:8 (2), tcp:115937:9 (2), tcp:115937:10 (2), tcp:115937:11 (2)  •  @__n__ (17) : 3 (1), 4 (1), 5 (1), 6 (1), 7 (1), 8 (1), 9 (1), 10 (1), 11 (1), 12 (1), 13 (1), 14 (1), 15 (1), 16 (1), 17 (1), 18 (1), 19 (1)|
|18.|__q__|2||
|19.|__seg__|2| @__rend__ (2) : decorInit (2)|
|20.|__signed__|2||
|21.|__trailer__|1||